feat(jenkins): Jenkins (#3378)

* Initial release

* Create README.md

* fix service and add env

* adapt to new questions templates

* whoops

* update image

* update nexus image

* Update charts/incubator/jenkins/Chart.yaml

Co-authored-by: Stavros kois <s.kois@outlook.com>
Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
Co-authored-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
This commit is contained in:
Watteel Pascal
2022-08-09 14:17:59 +04:00
committed by GitHub
parent e1e07ea7c2
commit 09f1b94497
9 changed files with 280 additions and 2 deletions
+30
View File
@@ -0,0 +1,30 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl
# docs folder
/docs
# icon
icon.png
+28
View File
@@ -0,0 +1,28 @@
apiVersion: v2
appVersion: "2.361"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.4.8
deprecated: false
description: "Jenkins is the gold standard in devops tools for running CI/CD pipelines"
home: https://truecharts.org/docs/charts/incubator/jenkins
icon: https://truecharts.org/img/chart-icons/jenkins.png
keywords:
- jenkins
- productivity
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: jenkins
sources:
- https://github.com/truecharts/charts/tree/master/charts/incubator/jenkins
- https://hub.docker.com/r/jenkins/jenkins
type: application
version: 0.0.1
annotations:
truecharts.org/SCALE-support: "true"
truecharts.org/catagories: |
- productivity
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

+184
View File
@@ -0,0 +1,184 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{controller}
# Include{controllerDeployment}
# Include{replicas}
# Include{replica1}
# Include{strategy}
# Include{recreate}
# Include{controllerExpert}
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: JENKINS_JAVA_OPTS
label: "JENKINS_JAVA_OPTS"
description: "You might need to customize the JVM running Jenkins, typically to adjust system properties or tweak heap memory settings."
schema:
type: string
default: ""
# Include{containerConfig}
# Include{serviceRoot}
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: main
label: "Main Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10280
required: true
- variable: advanced
label: "Show Advanced settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "HTTP"
enum:
- value: HTTP
description: "HTTP"
- value: "HTTPS"
description: "HTTPS"
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: nodePort
label: "Node Port (Optional)"
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
schema:
type: int
min: 9000
max: 65535
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 8080
- variable: agent
label: "Agent Service"
description: "Agent Service"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: agent
label: "Agent Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 50000
required: true
# Include{advancedPortTCP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 50000
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: data
label: "App Data Storage"
description: "Stores the Application Data."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: true
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: true
# Include{securityContextAdvanced}
# Include{podSecurityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 1000
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID this App of the user running the application"
schema:
type: int
default: 1000
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 1000
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
@@ -0,0 +1,2 @@
{{/* Render the templates */}}
{{ include "tc.common.loader.all" . }}
+34
View File
@@ -0,0 +1,34 @@
image:
repository: tccr.io/truecharts/jenkins
pullPolicy: IfNotPresent
tag: v2.362@sha256:b8b98adf94dc861b556bee88d8ea958162abdde4c041d9689de4406ecfae0d20
podSecurityContext:
runAsGroup: 1000
runAsUser: 1000
fsGroup: 1000
env:
JENKINS_JAVA_OPTS: ""
service:
main:
ports:
main:
port: 10280
targetPort: 8080
agent:
enabled: true
ports:
agent:
enabled: true
port: 50000
targetPort: 50000
persistence:
data:
enabled: true
mountPath: /var/jenkins_home
portal:
enabled: true
+2 -2
View File
@@ -1,7 +1,7 @@
image:
repository: sonatype/nexus3
repository: tccr.io/truecharts/nexusoss
pullPolicy: IfNotPresent
tag: 3.41.0
tag: v3.41.0@sha256:556759edd1614c4eda08d753ecffda513ef7b8b0bc231a93565ad888832559b9
podSecurityContext:
runAsGroup: 200