From c47de0a6cbdbb740ada10c7049b0c82d93f34044 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Wed, 27 Jun 2018 16:26:49 +0200 Subject: [PATCH] make molgenis-jenkins depend on subchart --- jenkins/catalogIcon-molgenis-jenkins.svg | 1768 ----------------- jenkins/v0.1.x/.helmignore | 21 - jenkins/v0.1.x/Chart.yaml | 6 - jenkins/v0.1.x/templates/_helpers.tpl | 32 - .../deployment/jenkins-agent-deployment.yaml | 38 - .../deployment/jenkins-master-deployment.yaml | 41 - jenkins/v0.1.x/templates/ingress.yaml | 36 - .../services/jenkins-agent-service.yaml | 13 - .../services/jenkins-master-service.yaml | 13 - .../templates/volumes/jenkins-agent-pvc.yaml | 12 - .../templates/volumes/jenkins-master-pvc.yaml | 12 - jenkins/v0.1.x/values.yaml | 68 - jenkins/v0.2.x/templates/NOTES.txt | 45 - jenkins/v0.2.x/templates/_helpers.tpl | 34 - jenkins/v0.2.x/templates/config.yaml | 263 --- jenkins/v0.2.x/templates/home-pvc.yaml | 28 - .../v0.2.x/templates/jenkins-agent-svc.yaml | 20 - .../templates/jenkins-master-deployment.yaml | 222 --- .../templates/jenkins-master-ingress.yaml | 22 - .../jenkins-master-networkpolicy.yaml | 33 - .../v0.2.x/templates/jenkins-master-svc.yaml | 31 - jenkins/v0.2.x/templates/jenkins-test.yaml | 45 - jenkins/v0.2.x/templates/jobs.yaml | 8 - jenkins/v0.2.x/templates/rbac.yaml | 20 - jenkins/v0.2.x/templates/secret.yaml | 19 - jenkins/v0.2.x/templates/service-account.yaml | 12 - jenkins/v0.2.x/templates/test-config.yaml | 9 - jenkins/v0.2.x/values.yaml | 240 --- .../v0.2.x => molgenis-jenkins}/Chart.yaml | 8 +- .../v0.2.x => molgenis-jenkins}/README.md | 5 +- molgenis-jenkins/charts/jenkins-0.16.4.tgz | Bin 0 -> 13757 bytes molgenis-jenkins/requirements.lock | 6 + molgenis-jenkins/requirements.yaml | 4 + molgenis-jenkins/templates/config.tpl | 0 molgenis-jenkins/values.yaml | 72 + 35 files changed, 88 insertions(+), 3118 deletions(-) delete mode 100644 jenkins/catalogIcon-molgenis-jenkins.svg delete mode 100644 jenkins/v0.1.x/.helmignore delete mode 100644 jenkins/v0.1.x/Chart.yaml delete mode 100644 jenkins/v0.1.x/templates/_helpers.tpl delete mode 100644 jenkins/v0.1.x/templates/deployment/jenkins-agent-deployment.yaml delete mode 100644 jenkins/v0.1.x/templates/deployment/jenkins-master-deployment.yaml delete mode 100644 jenkins/v0.1.x/templates/ingress.yaml delete mode 100644 jenkins/v0.1.x/templates/services/jenkins-agent-service.yaml delete mode 100644 jenkins/v0.1.x/templates/services/jenkins-master-service.yaml delete mode 100644 jenkins/v0.1.x/templates/volumes/jenkins-agent-pvc.yaml delete mode 100644 jenkins/v0.1.x/templates/volumes/jenkins-master-pvc.yaml delete mode 100644 jenkins/v0.1.x/values.yaml delete mode 100644 jenkins/v0.2.x/templates/NOTES.txt delete mode 100644 jenkins/v0.2.x/templates/_helpers.tpl delete mode 100644 jenkins/v0.2.x/templates/config.yaml delete mode 100644 jenkins/v0.2.x/templates/home-pvc.yaml delete mode 100644 jenkins/v0.2.x/templates/jenkins-agent-svc.yaml delete mode 100644 jenkins/v0.2.x/templates/jenkins-master-deployment.yaml delete mode 100644 jenkins/v0.2.x/templates/jenkins-master-ingress.yaml delete mode 100644 jenkins/v0.2.x/templates/jenkins-master-networkpolicy.yaml delete mode 100644 jenkins/v0.2.x/templates/jenkins-master-svc.yaml delete mode 100644 jenkins/v0.2.x/templates/jenkins-test.yaml delete mode 100644 jenkins/v0.2.x/templates/jobs.yaml delete mode 100644 jenkins/v0.2.x/templates/rbac.yaml delete mode 100644 jenkins/v0.2.x/templates/secret.yaml delete mode 100644 jenkins/v0.2.x/templates/service-account.yaml delete mode 100644 jenkins/v0.2.x/templates/test-config.yaml delete mode 100644 jenkins/v0.2.x/values.yaml rename {jenkins/v0.2.x => molgenis-jenkins}/Chart.yaml (50%) rename {jenkins/v0.2.x => molgenis-jenkins}/README.md (98%) create mode 100644 molgenis-jenkins/charts/jenkins-0.16.4.tgz create mode 100644 molgenis-jenkins/requirements.lock create mode 100644 molgenis-jenkins/requirements.yaml create mode 100644 molgenis-jenkins/templates/config.tpl create mode 100644 molgenis-jenkins/values.yaml diff --git a/jenkins/catalogIcon-molgenis-jenkins.svg b/jenkins/catalogIcon-molgenis-jenkins.svg deleted file mode 100644 index 1227303..0000000 --- a/jenkins/catalogIcon-molgenis-jenkins.svg +++ /dev/null @@ -1,1768 +0,0 @@ - - - - diff --git a/jenkins/v0.1.x/.helmignore b/jenkins/v0.1.x/.helmignore deleted file mode 100644 index f0c1319..0000000 --- a/jenkins/v0.1.x/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# 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 diff --git a/jenkins/v0.1.x/Chart.yaml b/jenkins/v0.1.x/Chart.yaml deleted file mode 100644 index df24900..0000000 --- a/jenkins/v0.1.x/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -appVersion: "1.0" -description: Jenkins stack for MOLGENIS -name: jenkins -version: 0.1.0 -icon: https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm/raw/master/jenkins/v0.1.x/catalogIcon-molgenis-jenkins.svg diff --git a/jenkins/v0.1.x/templates/_helpers.tpl b/jenkins/v0.1.x/templates/_helpers.tpl deleted file mode 100644 index 3f5c197..0000000 --- a/jenkins/v0.1.x/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "jenkins.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "jenkins.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "jenkins.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/jenkins/v0.1.x/templates/deployment/jenkins-agent-deployment.yaml b/jenkins/v0.1.x/templates/deployment/jenkins-agent-deployment.yaml deleted file mode 100644 index 5f3cf57..0000000 --- a/jenkins/v0.1.x/templates/deployment/jenkins-agent-deployment.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - creationTimestamp: null - name: {{ .Values.jenkins.agent.name }} - labels: - app: {{ .Values.jenkins.agent.name }} - environment: {{ .Values.environment }} -spec: - replicas: {{ .Values.replicaCount}} - strategy: - type: {{ .Values.jenkins.strategy.type }} - selector: - matchLabels: - app: {{ .Values.jenkins.agent.selector }} - template: - metadata: - labels: - app: {{ .Values.jenkins.agent.name }} - creationTimestamp: null - spec: - restartPolicy: {{ .Values.agent.restartPolicy }} - containers: - - name: {{ .Values.jenkins.agent.name }} - image: "{{ .Values.jenkins.agent.image.repository }}:{{ .Values.jenkins.agent.image.tag }}" - imagePullPolicy: {{ .Values.jenkins.agent.image.pullPolicy }} - - name: JENKINS_SLAVE_SSH_PUBKEY - value: {{ .Values.jenkins.agent.ssh.public.key }} - ports: - - containerPort: {{ .Values.jenkins.agent.port }} - volumeMounts: - - mountPath: /var/run/docker.sock - name: jenkins-agent-worker-claim - volumes: - - name: jenkins-agent-worker-claim - persistentVolumeClaim: - claimName: jenkins-agent-worker-claim - diff --git a/jenkins/v0.1.x/templates/deployment/jenkins-master-deployment.yaml b/jenkins/v0.1.x/templates/deployment/jenkins-master-deployment.yaml deleted file mode 100644 index a689ada..0000000 --- a/jenkins/v0.1.x/templates/deployment/jenkins-master-deployment.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - creationTimestamp: null - name: {{ .Values.jenkins.master.name }} - labels: - app: {{ .Values.jenkins.master.name }} - environment: {{ .Values.environment }} -spec: - replicas: {{ .Values.replicaCount}} - strategy: - type: {{ .Values.jenkins.strategy.type }} - selector: - matchLabels: - app: {{ .Values.jenkins.master.selector }} - template: - metadata: - labels: - app: {{ .Values.jenkins.master.name }} - creationTimestamp: null - spec: - restartPolicy: {{ .Values.jenkins.restartPolicy }} - containers: - - name: {{ .Values.jenkins.master.name }} - image: "{{ .Values.jenkins.master.image.repository }}:{{ .Values.jenkins.master.image.tag }}" - imagePullPolicy: {{ .Values.jenkins.master.image.pullPolicy }} - - env: - - name: JENKINS_ADMIN_PASS - - name: JENKINS_ADMIN_USER - ports: - - containerPort: {{ .Values.jenkins.master.port }} - resources: {} - volumeMounts: - - name: jenkins-master-claim - mountPath: /var/jenkins-home - - name: jenkins-master-claim - mountPath: /var/run/docker.sock - volumes: - - name: jenkins-master-claim - persistentVolumeClaim: - claimName: jenkins-master-claim diff --git a/jenkins/v0.1.x/templates/ingress.yaml b/jenkins/v0.1.x/templates/ingress.yaml deleted file mode 100644 index 871dda3..0000000 --- a/jenkins/v0.1.x/templates/ingress.yaml +++ /dev/null @@ -1,36 +0,0 @@ -{{- if .Values.ingress.enabled }} -{{- range .Values.ingress.hosts }} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: "{{ $.Release.Name }}-ingress" - labels: - app: {{ template "jenkins.fullname" $ }} - chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}" - release: "{{ $.Release.Name }}" - heritage: "{{ $.Release.Service }}" - annotations: - {{- if .tls }} - ingress.kubernetes.io/secure-backends: "true" - {{- end }} - {{- range $key, $value := .annotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} -spec: - rules: - - host: {{ .name }} - http: - paths: - - path: {{ default "/" .path }} - backend: - serviceName: {{ template "jenkins.fullname" $ }} - servicePort: 80 -{{- if .tls }} - tls: - - hosts: - - {{ .name }} - secretName: {{ .tlsSecret }} -{{- end }} ---- -{{- end }} -{{- end }} \ No newline at end of file diff --git a/jenkins/v0.1.x/templates/services/jenkins-agent-service.yaml b/jenkins/v0.1.x/templates/services/jenkins-agent-service.yaml deleted file mode 100644 index e7689a9..0000000 --- a/jenkins/v0.1.x/templates/services/jenkins-agent-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Values.jenkins.agent.name }} - labels: - app: {{ .Values.jenkins.agent.name }} -spec: - type: NodePort - ports: - - name: {{ .Values.jenkins.agent.name }} - port: {{ .Values.jenkins.agent.port }} - selector: - app: {{ .Values.jenkins.agent.selector }} \ No newline at end of file diff --git a/jenkins/v0.1.x/templates/services/jenkins-master-service.yaml b/jenkins/v0.1.x/templates/services/jenkins-master-service.yaml deleted file mode 100644 index 20b83f7..0000000 --- a/jenkins/v0.1.x/templates/services/jenkins-master-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Values.jenkins.master.name }} - labels: - app: {{ .Values.jenkins.master.name }} -spec: - type: NodePort - ports: - - name: {{ .Values.jenkins.master.name }} - port: {{ .Values.jenkins.master.port }} - selector: - app: {{ .Values.jenkins.master.selector }} \ No newline at end of file diff --git a/jenkins/v0.1.x/templates/volumes/jenkins-agent-pvc.yaml b/jenkins/v0.1.x/templates/volumes/jenkins-agent-pvc.yaml deleted file mode 100644 index 5930d04..0000000 --- a/jenkins/v0.1.x/templates/volumes/jenkins-agent-pvc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - creationTimestamp: null - name: jenkins-agent-data -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi -status: {} diff --git a/jenkins/v0.1.x/templates/volumes/jenkins-master-pvc.yaml b/jenkins/v0.1.x/templates/volumes/jenkins-master-pvc.yaml deleted file mode 100644 index e3a75ec..0000000 --- a/jenkins/v0.1.x/templates/volumes/jenkins-master-pvc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - creationTimestamp: null - name: jenkins-master-data -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 100Mi -status: {} diff --git a/jenkins/v0.1.x/values.yaml b/jenkins/v0.1.x/values.yaml deleted file mode 100644 index 8ca9aff..0000000 --- a/jenkins/v0.1.x/values.yaml +++ /dev/null @@ -1,68 +0,0 @@ -# Default values for jenkins. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -environment: production - -service: - type: NodePort - port: 8080 - -jenkins: - strategy: - type: Recreate - restartPolicy: Always - master: - name: jenkins-master - selector: jenkins-master - image: - repository: registry.webhosting.rug.nl/molgenis/jenkins-master - tag: lts - pullPolicy: Always - port: 8080 - agent: - name: jenkins-agent - selector: jenkins-agent - image: - repository: registry.webhosting.rug.nl/molgenis/jenkins-agent - tag: lts - pullPolicy: Always - port: 22 - ssh: - public: - key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6+L3I5Dh1oKCxRktAhKwX20vQq5+hp40D2HCN+JSOT1WmiZOKQQ2U73HyRlukXV1MJGn6NM0pZS1W12IiAiSeu6xl+YFlEJykRK+9NnpSGwTMXXirCmCyWAlMUb6pcXmCqa1Pk1HqiUUfvflkvFHNT+26LBNXj0LbrT6KFd0xhm/KH9gMTKnYoBQqezE7D5jjPki5lKAfBL7IQkwgs5wFdaQicRYAUsuI7gV6EsDgVmLmF6f2d8+/AJ0fwYIFpzaYqQfgrpilMCvHXcuskpHj2RtJFMiPZ4WZSMZ3sMTD0MmZxdNU32qc/TR7mILHEB9/10EzmE4F7X1NdWYeJqK5VKH8RfwLHtiFDPPoqttc2AuaMrSPiRJxtww0oLsEN3toE9qauXpVcJUgaxpj0hE7UQP026Et3LZDQCD8w+3VPVUCfGHy7LTZdPzxDYuWmSMGF/VjYYKbv3WgPEVomRdB1TlaSEb8JfnHI1CVo4C+dImwxppVRbiAkjK/D+TnTavgx+zl85Fo1oNO49kjg9Avp2sOoHBSCBk6ceywIdvvaIzQSxQZfj3PbSWRg+ywJMS8tM6m6riEQola8EmHA7pP/Aj70453ip08MUnz1vsM/e396nqdw55KhR5dPEPHrfqmONMgr6IUa+6zyeWBQ7LTpkWztQ4lQcPl48jRE0ijTQ== sido@client-145-100-225-240.surfnet.eduroam.rug.nl - - - -ingress: - enabled: true - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - path: / - hosts: - - jenkins.molgenis.org - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -nodeSelector: {} - -tolerations: [] - -affinity: {} diff --git a/jenkins/v0.2.x/templates/NOTES.txt b/jenkins/v0.2.x/templates/NOTES.txt deleted file mode 100644 index dc9e5e4..0000000 --- a/jenkins/v0.2.x/templates/NOTES.txt +++ /dev/null @@ -1,45 +0,0 @@ -1. Get your '{{ .Values.Master.AdminUser }}' user password by running: - printf $(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "jenkins.fullname" . }} -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo - -{{- if .Values.Master.HostName }} - -2. Visit http://{{ .Values.Master.HostName }} -{{- else }} -2. Get the Jenkins URL to visit by running these commands in the same shell: -{{- if contains "NodePort" .Values.Master.ServiceType }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "jenkins.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT/login - -{{- else if contains "LoadBalancer" .Values.Master.ServiceType }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "jenkins.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "jenkins.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}") - echo http://$SERVICE_IP:{{ .Values.Master.ServicePort }}/login - -{{- else if contains "ClusterIP" .Values.Master.ServiceType }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "component={{ template "jenkins.fullname" . }}-master" -o jsonpath="{.items[0].metadata.name}") - echo http://127.0.0.1:{{ .Values.Master.ServicePort }} - kubectl port-forward $POD_NAME {{ .Values.Master.ServicePort }}:{{ .Values.Master.ServicePort }} - -{{- end }} -{{- end }} - -3. Login with the password from step 1 and the username: {{ .Values.Master.AdminUser }} - -For more information on running Jenkins on Kubernetes, visit: -https://cloud.google.com/solutions/jenkins-on-container-engine - -{{- if .Values.Persistence.Enabled }} -{{- else }} -################################################################################# -###### WARNING: Persistence is disabled!!! You will lose your data when ##### -###### the Jenkins pod is terminated. ##### -################################################################################# -{{- end }} - -{{- if .Values.rbac.install }} -Configure the Kubernetes plugin in Jenkins to use the following Service Account name {{ template "jenkins.fullname" . }} using the following steps: - Create a Jenkins credential of type Kubernetes service account with service account name {{ template "jenkins.fullname" . }} - Under configure Jenkins -- Update the credentials config in the cloud section to use the service account credential you created in the step above. -{{- end }} diff --git a/jenkins/v0.2.x/templates/_helpers.tpl b/jenkins/v0.2.x/templates/_helpers.tpl deleted file mode 100644 index eac695f..0000000 --- a/jenkins/v0.2.x/templates/_helpers.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "jenkins.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "jenkins.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{- define "jenkins.kubernetes-version" -}} - {{- range .Values.Master.InstallPlugins -}} - {{ if hasPrefix "kubernetes:" . }} - {{- $split := splitList ":" . }} - {{- printf "%s" (index $split 1 ) -}} - {{- end -}} - {{- end -}} -{{- end -}} diff --git a/jenkins/v0.2.x/templates/config.yaml b/jenkins/v0.2.x/templates/config.yaml deleted file mode 100644 index 12959cc..0000000 --- a/jenkins/v0.2.x/templates/config.yaml +++ /dev/null @@ -1,263 +0,0 @@ -{{- if not .Values.Master.CustomConfigMap }} - -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "jenkins.fullname" . }} -data: - config.xml: |- - - - - {{ .Values.Master.ImageTag }} - 0 - NORMAL - {{ .Values.Master.UseSecurity }} - - true - - - false - - ${JENKINS_HOME}/workspace/${ITEM_FULLNAME} - ${ITEM_ROOTDIR}/builds - - - - - - - kubernetes - -{{- if .Values.Agent.Enabled }} - - - default - 2147483647 - 0 - - - {{- $local := dict "first" true }} - {{- range $key, $value := .Values.Agent.NodeSelector }} - {{- if not $local.first }},{{- end }} - {{- $key }}={{ $value }} - {{- $_ := set $local "first" false }} - {{- end }} - NORMAL - -{{- range $index, $volume := .Values.Agent.volumes }} - -{{- range $key, $value := $volume }}{{- if not (eq $key "type") }} - <{{ $key }}>{{ $value }} -{{- end }}{{- end }} - -{{- end }} - - - - jnlp - {{ .Values.Agent.Image }}:{{ .Values.Agent.ImageTag }} -{{- if .Values.Agent.Privileged }} - true -{{- else }} - false -{{- end }} - {{ .Values.Agent.AlwaysPullImage }} - /home/jenkins - - ${computer.jnlpmac} ${computer.name} - false - {{.Values.Agent.Cpu}} - {{.Values.Agent.Memory}} - {{.Values.Agent.Cpu}} - {{.Values.Agent.Memory}} - - - JENKINS_URL - http://{{ template "jenkins.fullname" . }}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }} - - - - - - -{{- if .Values.Agent.ImagePullSecret }} - - - {{ .Values.Agent.ImagePullSecret }} - - -{{- else }} - -{{- end }} - - - - - - - false - false - false - 2147483647 - 100 - 0 - 0 - - - EXCLUSIVE - false - - false - - - - /var/run/docker.sock - /var/run/docker.sock - - - - - maven - webhost12.service.rug.nl/molgenis/molgenis-maven:latest - false - true - /home/jenkins - /bin/sh -c - cat - true - - - - - - - - - 0 - 0 - 0 - 0 - 0 - - - - - - - - -{{- end -}} - - https://kubernetes.default - false - {{ .Release.Namespace }} - http://{{ template "jenkins.fullname" . }}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }} - {{ template "jenkins.fullname" . }}-agent:50000 - 10 - 5 - 0 - 0 - - - 5 - 0 - - - - All - false - false - - - - All - 50000 - -{{- range .Values.Master.DisabledAgentProtocols }} - {{ . }} -{{- end }} - - -{{- if .Values.Master.CSRF.DefaultCrumbIssuer.Enabled }} - -{{- if .Values.Master.CSRF.DefaultCrumbIssuer.ProxyCompatability }} - true -{{- end }} - -{{- end }} - - - true - -{{- if .Values.Master.ScriptApproval }} - scriptapproval.xml: |- - - - - -{{- range $key, $val := .Values.Master.ScriptApproval }} - {{ $val }} -{{- end }} - - - - - - - -{{- end }} - jenkins.CLI.xml: |- - - -{{- if .Values.Master.CLI }} - true -{{- else }} - false -{{- end }} - - apply_config.sh: |- - mkdir -p /usr/share/jenkins/ref/secrets/; - echo "false" > /usr/share/jenkins/ref/secrets/slave-to-master-security-kill-switch; - cp -n /var/jenkins_config/config.xml /var/jenkins_home; - cp -n /var/jenkins_config/jenkins.CLI.xml /var/jenkins_home; -{{- if .Values.Master.InstallPlugins }} - # Install missing plugins - cp /var/jenkins_config/plugins.txt /var/jenkins_home; - rm -rf /usr/share/jenkins/ref/plugins/*.lock - /usr/local/bin/install-plugins.sh `echo $(cat /var/jenkins_home/plugins.txt)`; - # Copy plugins to shared volume - cp -n /usr/share/jenkins/ref/plugins/* /var/jenkins_plugins; -{{- end }} -{{- if .Values.Master.ScriptApproval }} - cp -n /var/jenkins_config/scriptapproval.xml /var/jenkins_home/scriptApproval.xml; -{{- end }} -{{- if .Values.Master.InitScripts }} - mkdir -p /var/jenkins_home/init.groovy.d/; - cp -n /var/jenkins_config/*.groovy /var/jenkins_home/init.groovy.d/ -{{- end }} -{{- if .Values.Master.CredentialsXmlSecret }} - cp -n /var/jenkins_credentials/credentials.xml /var/jenkins_home; -{{- end }} -{{- if .Values.Master.SecretsFilesSecret }} - cp -n /var/jenkins_secrets/* /usr/share/jenkins/ref/secrets; -{{- end }} -{{- if .Values.Master.Jobs }} - for job in $(ls /var/jenkins_jobs); do - mkdir -p /var/jenkins_home/jobs/$job - cp -n /var/jenkins_jobs/$job /var/jenkins_home/jobs/$job/config.xml - done -{{- end }} -{{- range $key, $val := .Values.Master.InitScripts }} - init{{ $key }}.groovy: |- -{{ $val | indent 4 }} -{{- end }} - plugins.txt: |- -{{- if .Values.Master.InstallPlugins }} -{{- range $index, $val := .Values.Master.InstallPlugins }} -{{ $val | indent 4 }} -{{- end }} -{{- end }} -{{ else }} -{{ include "override_config_map" . }} -{{- end -}} diff --git a/jenkins/v0.2.x/templates/home-pvc.yaml b/jenkins/v0.2.x/templates/home-pvc.yaml deleted file mode 100644 index d6e44f2..0000000 --- a/jenkins/v0.2.x/templates/home-pvc.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if and .Values.Persistence.Enabled (not .Values.Persistence.ExistingClaim) -}} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: -{{- if .Values.Persistence.Annotations }} - annotations: -{{ toYaml .Values.Persistence.Annotations | indent 4 }} -{{- end }} - name: {{ template "jenkins.fullname" . }} - labels: - app: {{ template "jenkins.fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" -spec: - accessModes: - - {{ .Values.Persistence.AccessMode | quote }} - resources: - requests: - storage: {{ .Values.Persistence.Size | quote }} -{{- if .Values.Persistence.StorageClass }} -{{- if (eq "-" .Values.Persistence.StorageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.Persistence.StorageClass }}" -{{- end }} -{{- end }} -{{- end }} diff --git a/jenkins/v0.2.x/templates/jenkins-agent-svc.yaml b/jenkins/v0.2.x/templates/jenkins-agent-svc.yaml deleted file mode 100644 index a9ad63d..0000000 --- a/jenkins/v0.2.x/templates/jenkins-agent-svc.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "jenkins.fullname" . }}-agent - labels: - app: {{ template "jenkins.fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - component: "{{ .Release.Name }}-{{ .Values.Master.Component }}" -{{- if .Values.Master.SlaveListenerServiceAnnotations }} - annotations: -{{ toYaml .Values.Master.SlaveListenerServiceAnnotations | indent 4 }} -{{- end }} -spec: - ports: - - port: {{ .Values.Master.SlaveListenerPort }} - targetPort: {{ .Values.Master.SlaveListenerPort }} - name: slavelistener - selector: - component: "{{ .Release.Name }}-{{ .Values.Master.Component }}" - type: {{ .Values.Master.SlaveListenerServiceType }} diff --git a/jenkins/v0.2.x/templates/jenkins-master-deployment.yaml b/jenkins/v0.2.x/templates/jenkins-master-deployment.yaml deleted file mode 100644 index ff8fbf0..0000000 --- a/jenkins/v0.2.x/templates/jenkins-master-deployment.yaml +++ /dev/null @@ -1,222 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: {{ template "jenkins.fullname" . }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - component: "{{ .Release.Name }}-{{ .Values.Master.Name }}" -spec: - replicas: 1 - strategy: - type: RollingUpdate - selector: - matchLabels: - component: "{{ .Release.Name }}-{{ .Values.Master.Component }}" - template: - metadata: - labels: - app: {{ template "jenkins.fullname" . }} - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - component: "{{ .Release.Name }}-{{ .Values.Master.Component }}" - annotations: - checksum/config: {{ include (print $.Template.BasePath "/config.yaml") . | sha256sum }} - spec: - {{- if .Values.Master.NodeSelector }} - nodeSelector: -{{ toYaml .Values.Master.NodeSelector | indent 8 }} - {{- end }} - {{- if .Values.Master.Tolerations }} - tolerations: -{{ toYaml .Values.Master.Tolerations | indent 8 }} - {{- end }} - {{- if .Values.Master.Affinity }} - affinity: -{{ toYaml .Values.Master.Affinity | indent 8 }} - {{- end }} - securityContext: - runAsUser: {{ default 0 .Values.Master.RunAsUser }} -{{- if and (.Values.Master.RunAsUser) (.Values.Master.FsGroup) }} -{{- if not (eq .Values.Master.RunAsUser 0.0) }} - fsGroup: {{ .Values.Master.FsGroup }} -{{- end }} -{{- end }} - serviceAccountName: {{ if .Values.rbac.install }}{{ template "jenkins.fullname" . }}{{ else }}"{{ .Values.rbac.serviceAccountName }}"{{ end }} - initContainers: - - name: "copy-default-config" - image: "{{ .Values.Master.Image }}:{{ .Values.Master.ImageTag }}" - imagePullPolicy: "{{ .Values.Master.ImagePullPolicy }}" - command: [ "sh", "/var/jenkins_config/apply_config.sh" ] - {{- if .Values.Master.InitContainerEnv }} - env: -{{ toYaml .Values.Master.InitContainerEnv | indent 12 }} - {{- end }} - volumeMounts: - - - mountPath: /var/jenkins_home - name: jenkins-home - - - mountPath: /var/jenkins_config - name: jenkins-config - {{- if .Values.Master.CredentialsXmlSecret }} - - - mountPath: /var/jenkins_credentials - name: jenkins-credentials - readOnly: true - {{- end }} - {{- if .Values.Master.SecretsFilesSecret }} - - - mountPath: /var/jenkins_secrets - name: jenkins-secrets - readOnly: true - {{- end }} - {{- if .Values.Master.Jobs }} - - - mountPath: /var/jenkins_jobs - name: jenkins-jobs - readOnly: true - {{- end }} - {{- if .Values.Master.InstallPlugins }} - - - mountPath: /var/jenkins_plugins - name: plugin-dir - {{- end }} - - - mountPath: /usr/share/jenkins/ref/secrets/ - name: secrets-dir - containers: - - name: {{ template "jenkins.fullname" . }} - image: "{{ .Values.Master.Image }}:{{ .Values.Master.ImageTag }}" - imagePullPolicy: "{{ .Values.Master.ImagePullPolicy }}" - {{- if .Values.Master.UseSecurity }} - args: [ "--argumentsRealm.passwd.$(ADMIN_USER)=$(ADMIN_PASSWORD)", "--argumentsRealm.roles.$(ADMIN_USER)=admin"] - {{- end }} - env: - - name: JAVA_OPTS - value: "{{ default "" .Values.Master.JavaOpts}}" - - name: JENKINS_OPTS - value: "{{ if .Values.Master.JenkinsUriPrefix }}--prefix={{ .Values.Master.JenkinsUriPrefix }} {{ end }}{{ default "" .Values.Master.JenkinsOpts}}" - {{- if .Values.Master.UseSecurity }} - - name: ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: {{ template "jenkins.fullname" . }} - key: jenkins-admin-password - - name: ADMIN_USER - valueFrom: - secretKeyRef: - name: {{ template "jenkins.fullname" . }} - key: jenkins-admin-user - {{- end }} - {{- if .Values.Master.ContainerEnv }} -{{ toYaml .Values.Master.ContainerEnv | indent 12 }} - {{- end }} - ports: - - containerPort: {{ .Values.Master.ContainerPort }} - name: http - - containerPort: {{ .Values.Master.SlaveListenerPort }} - name: slavelistener - {{- if .Values.Master.JMXPort }} - - containerPort: {{ .Values.Master.JMXPort }} - name: jmx - {{- end }} -{{- if .Values.Master.HealthProbes }} - livenessProbe: - httpGet: - path: /login - port: http - initialDelaySeconds: {{ .Values.Master.HealthProbesLivenessTimeout }} - timeoutSeconds: 5 - failureThreshold: {{ .Values.Master.HealthProbeLivenessFailureThreshold }} - readinessProbe: - httpGet: - path: /login - port: http - initialDelaySeconds: {{ .Values.Master.HealthProbesReadinessTimeout }} -{{- end }} - resources: - requests: - cpu: "{{ .Values.Master.Cpu }}" - memory: "{{ .Values.Master.Memory }}" - volumeMounts: -{{- if .Values.Persistence.mounts }} -{{ toYaml .Values.Persistence.mounts | indent 12 }} -{{- end }} - - - mountPath: /var/jenkins_home - name: jenkins-home - readOnly: false - - - mountPath: /var/jenkins_config - name: jenkins-config - readOnly: true - {{- if .Values.Master.CredentialsXmlSecret }} - - - mountPath: /var/jenkins_credentials - name: jenkins-credentials - readOnly: true - {{- end }} - {{- if .Values.Master.SecretsFilesSecret }} - - - mountPath: /var/jenkins_secrets - name: jenkins-secrets - readOnly: true - {{- end }} - {{- if .Values.Master.Jobs }} - - - mountPath: /var/jenkins_jobs - name: jenkins-jobs - readOnly: true - {{- end }} - {{- if .Values.Master.InstallPlugins }} - - - mountPath: /usr/share/jenkins/ref/plugins/ - name: plugin-dir - readOnly: false - {{- end }} - - - mountPath: /usr/share/jenkins/ref/secrets/ - name: secrets-dir - readOnly: false - volumes: -{{- if .Values.Persistence.volumes }} -{{ toYaml .Values.Persistence.volumes | indent 6 }} -{{- end }} - - name: jenkins-config - configMap: - name: {{ template "jenkins.fullname" . }} - {{- if .Values.Master.CredentialsXmlSecret }} - - name: jenkins-credentials - secret: - secretName: {{ .Values.Master.CredentialsXmlSecret }} - {{- end }} - {{- if .Values.Master.SecretsFilesSecret }} - - name: jenkins-secrets - secret: - secretName: {{ .Values.Master.SecretsFilesSecret }} - {{- end }} - {{- if .Values.Master.Jobs }} - - name: jenkins-jobs - configMap: - name: {{ template "jenkins.fullname" . }}-jobs - {{- end }} - {{- if .Values.Master.InstallPlugins }} - - name: plugin-dir - emptyDir: {} - {{- end }} - - name: secrets-dir - emptyDir: {} - - name: jenkins-home - {{- if .Values.Persistence.Enabled }} - persistentVolumeClaim: - claimName: {{ .Values.Persistence.ExistingClaim | default (include "jenkins.fullname" .) }} - {{- else }} - emptyDir: {} - {{- end -}} -{{- if .Values.Master.ImagePullSecret }} - imagePullSecrets: - - name: {{ .Values.Master.ImagePullSecret }} -{{- end -}} diff --git a/jenkins/v0.2.x/templates/jenkins-master-ingress.yaml b/jenkins/v0.2.x/templates/jenkins-master-ingress.yaml deleted file mode 100644 index 68fd535..0000000 --- a/jenkins/v0.2.x/templates/jenkins-master-ingress.yaml +++ /dev/null @@ -1,22 +0,0 @@ -{{- if .Values.Master.HostName }} -apiVersion: {{ .Values.Master.Ingress.ApiVersion }} -kind: Ingress -metadata: -{{- if .Values.Master.Ingress.Annotations }} - annotations: -{{ toYaml .Values.Master.Ingress.Annotations | indent 4 }} -{{- end }} - name: {{ template "jenkins.fullname" . }} -spec: - rules: - - host: {{ .Values.Master.HostName | quote }} - http: - paths: - - backend: - serviceName: {{ template "jenkins.fullname" . }} - servicePort: {{ .Values.Master.ServicePort }} -{{- if .Values.Master.Ingress.TLS }} - tls: -{{ toYaml .Values.Master.Ingress.TLS | indent 4 }} -{{- end -}} -{{- end }} diff --git a/jenkins/v0.2.x/templates/jenkins-master-networkpolicy.yaml b/jenkins/v0.2.x/templates/jenkins-master-networkpolicy.yaml deleted file mode 100644 index 6034c91..0000000 --- a/jenkins/v0.2.x/templates/jenkins-master-networkpolicy.yaml +++ /dev/null @@ -1,33 +0,0 @@ -{{- if .Values.NetworkPolicy.Enabled }} -kind: NetworkPolicy -apiVersion: {{ .Values.NetworkPolicy.ApiVersion }} -metadata: - name: "{{ .Release.Name }}-{{ .Values.Master.Component }}" -spec: - podSelector: - matchLabels: - component: "{{ .Release.Name }}-{{ .Values.Master.Component }}" - ingress: - # Allow web access to the UI - - ports: - - port: {{ .Values.Master.ContainerPort }} - # Allow inbound connections from slave - - from: - - podSelector: - matchLabels: - "jenkins/{{ .Release.Name }}-{{ .Values.Agent.Component }}": "true" - ports: - - port: {{ .Values.Master.SlaveListenerPort }} -{{- if .Values.Agent.Enabled }} ---- -kind: NetworkPolicy -apiVersion: {{ .Values.NetworkPolicy.ApiVersion }} -metadata: - name: "{{ .Release.Name }}-{{ .Values.Agent.Component }}" -spec: - podSelector: - matchLabels: - # DefaultDeny - "jenkins/{{ .Release.Name }}-{{ .Values.Agent.Component }}": "true" -{{- end }} -{{- end }} diff --git a/jenkins/v0.2.x/templates/jenkins-master-svc.yaml b/jenkins/v0.2.x/templates/jenkins-master-svc.yaml deleted file mode 100644 index b028744..0000000 --- a/jenkins/v0.2.x/templates/jenkins-master-svc.yaml +++ /dev/null @@ -1,31 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{template "jenkins.fullname" . }} - labels: - app: {{ template "jenkins.fullname" . }} - heritage: {{.Release.Service | quote }} - release: {{.Release.Name | quote }} - chart: "{{.Chart.Name}}-{{.Chart.Version}}" - component: "{{.Release.Name}}-{{.Values.Master.Component}}" -{{- if .Values.Master.ServiceAnnotations }} - annotations: -{{ toYaml .Values.Master.ServiceAnnotations | indent 4 }} -{{- end }} -spec: - ports: - - port: {{.Values.Master.ServicePort}} - name: http - targetPort: {{.Values.Master.ContainerPort}} - {{if (and (eq .Values.Master.ServiceType "NodePort") (not (empty .Values.Master.NodePort)))}} - nodePort: {{.Values.Master.NodePort}} - {{end}} - selector: - component: "{{.Release.Name}}-{{.Values.Master.Component}}" - type: {{.Values.Master.ServiceType}} - {{if eq .Values.Master.ServiceType "LoadBalancer"}} - loadBalancerSourceRanges: {{.Values.Master.LoadBalancerSourceRanges}} - {{if .Values.Master.LoadBalancerIP}} - loadBalancerIP: {{.Values.Master.LoadBalancerIP}} - {{end}} - {{end}} diff --git a/jenkins/v0.2.x/templates/jenkins-test.yaml b/jenkins/v0.2.x/templates/jenkins-test.yaml deleted file mode 100644 index b93cf93..0000000 --- a/jenkins/v0.2.x/templates/jenkins-test.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ .Release.Name }}-ui-test-{{ randAlphaNum 5 | lower }}" - annotations: - "helm.sh/hook": test-success -spec: - {{- if .Values.Master.NodeSelector }} - nodeSelector: -{{ toYaml .Values.Master.NodeSelector | indent 4 }} - {{- end }} - {{- if .Values.Master.Tolerations }} - tolerations: -{{ toYaml .Values.Master.Tolerations | indent 4 }} - {{- end }} - initContainers: - - name: "test-framework" - image: "dduportal/bats:0.4.0" - command: - - "bash" - - "-c" - - | - set -ex - # copy bats to tools dir - cp -R /usr/local/libexec/ /tools/bats/ - volumeMounts: - - mountPath: /tools - name: tools - containers: - - name: {{ .Release.Name }}-ui-test - image: {{ .Values.Master.Image }}:{{ .Values.Master.ImageTag }} - command: ["/tools/bats/bats", "-t", "/tests/run.sh"] - volumeMounts: - - mountPath: /tests - name: tests - readOnly: true - - mountPath: /tools - name: tools - volumes: - - name: tests - configMap: - name: {{ template "jenkins.fullname" . }}-tests - - name: tools - emptyDir: {} - restartPolicy: OnFailure diff --git a/jenkins/v0.2.x/templates/jobs.yaml b/jenkins/v0.2.x/templates/jobs.yaml deleted file mode 100644 index c16813a..0000000 --- a/jenkins/v0.2.x/templates/jobs.yaml +++ /dev/null @@ -1,8 +0,0 @@ -{{- if .Values.Master.Jobs }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "jenkins.fullname" . }}-jobs -data: -{{ .Values.Master.Jobs | indent 2 }} -{{- end -}} diff --git a/jenkins/v0.2.x/templates/rbac.yaml b/jenkins/v0.2.x/templates/rbac.yaml deleted file mode 100644 index 5a828aa..0000000 --- a/jenkins/v0.2.x/templates/rbac.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{ if .Values.rbac.install }} -{{- $serviceName := include "jenkins.fullname" . -}} -apiVersion: rbac.authorization.k8s.io/{{ required "A valid .Values.rbac.apiVersion entry required!" .Values.rbac.apiVersion }} -kind: ClusterRoleBinding -metadata: - name: {{ $serviceName }}-role-binding - labels: - app: {{ $serviceName }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ .Values.rbac.roleRef }} -subjects: -- kind: ServiceAccount - name: {{ $serviceName }} - namespace: {{ .Release.Namespace }} -{{ end }} \ No newline at end of file diff --git a/jenkins/v0.2.x/templates/secret.yaml b/jenkins/v0.2.x/templates/secret.yaml deleted file mode 100644 index 47cc2e0..0000000 --- a/jenkins/v0.2.x/templates/secret.yaml +++ /dev/null @@ -1,19 +0,0 @@ -{{- if .Values.Master.UseSecurity }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ template "jenkins.fullname" . }} - labels: - app: {{ template "jenkins.fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" -type: Opaque -data: - {{ if .Values.Master.AdminPassword }} - jenkins-admin-password: {{ .Values.Master.AdminPassword | b64enc | quote }} - {{ else }} - jenkins-admin-password: {{ randAlphaNum 10 | b64enc | quote }} - {{ end }} - jenkins-admin-user: {{ .Values.Master.AdminUser | b64enc | quote }} -{{- end }} \ No newline at end of file diff --git a/jenkins/v0.2.x/templates/service-account.yaml b/jenkins/v0.2.x/templates/service-account.yaml deleted file mode 100644 index cb0911c..0000000 --- a/jenkins/v0.2.x/templates/service-account.yaml +++ /dev/null @@ -1,12 +0,0 @@ -{{ if .Values.rbac.install }} -{{- $serviceName := include "jenkins.fullname" . -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ $serviceName }} - labels: - app: {{ $serviceName }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" -{{ end }} \ No newline at end of file diff --git a/jenkins/v0.2.x/templates/test-config.yaml b/jenkins/v0.2.x/templates/test-config.yaml deleted file mode 100644 index 00b8a66..0000000 --- a/jenkins/v0.2.x/templates/test-config.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "jenkins.fullname" . }}-tests -data: - run.sh: |- - @test "Testing Jenkins UI is accessible" { - curl --retry 48 --retry-delay 10 {{ template "jenkins.fullname" . }}:{{ .Values.Master.ServicePort }}{{ default "" .Values.Master.JenkinsUriPrefix }}/login - } diff --git a/jenkins/v0.2.x/values.yaml b/jenkins/v0.2.x/values.yaml deleted file mode 100644 index 48cee77..0000000 --- a/jenkins/v0.2.x/values.yaml +++ /dev/null @@ -1,240 +0,0 @@ -# Default values for jenkins. -# This is a YAML-formatted file. -# Declare name/value pairs to be passed into your templates. -# name: value - -## Overrides for generated resource names -# See templates/_helpers.tpl -# nameOverride: -# fullnameOverride: - -Master: - Name: jenkins-master - Image: "jenkins/jenkins" - ImageTag: "lts" - ImagePullPolicy: "Always" -# ImagePullSecret: jenkins - Component: "jenkins-master" - UseSecurity: true - AdminUser: admin - # AdminPassword: - Cpu: "200m" - Memory: "256Mi" - # Environment variables that get added to the init container (useful for e.g. http_proxy) - # InitContainerEnv: - # - name: http_proxy - # value: "http://192.168.64.1:3128" - # ContainerEnv: - # - name: http_proxy - # value: "http://192.168.64.1:3128" - # Set min/max heap here if needed with: - # JavaOpts: "-Xms512m -Xmx512m" - # JenkinsOpts: "" - # JenkinsUriPrefix: "/jenkins" - # Set RunAsUser to 1000 to let Jenkins run as non-root user 'jenkins' which exists in 'jenkins/jenkins' docker image. - # When setting RunAsUser to a different value than 0 also set FsGroup to the same value: - # RunAsUser: - # FsGroup: - ServicePort: 8080 - # For minikube, set this to NodePort, elsewhere use LoadBalancer - # Use ClusterIP if your setup includes ingress controller - ServiceType: ClusterIP - # Master Service annotations - ServiceAnnotations: {} - # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https - # Used to create Ingress record (should used with ServiceType: ClusterIP) - # HostName: jenkins.cluster.local - HostName: jenkins.molgenis.org - # NodePort: - # -Dcom.sun.management.jmxremote.port=4000 - # -Dcom.sun.management.jmxremote.authenticate=false - # -Dcom.sun.management.jmxremote.ssl=false - # JMXPort: 4000 - # List of plugins to be install during Jenkins master start - InstallPlugins: - - kubernetes:1.8.4 - - workflow-aggregator:2.5 - - workflow-job:2.21 - - credentials-binding:1.16 - - git:3.9.1 - # Used to approve a list of groovy functions in pipelines used the script-security plugin. Can be viewed under /scriptApproval - # ScriptApproval: - # - "method groovy.json.JsonSlurperClassic parseText java.lang.String" - # - "new groovy.json.JsonSlurperClassic" - # List of groovy init scripts to be executed during Jenkins master start - InitScripts: - # - | - # print 'adding global pipeline libraries, register properties, bootstrap jobs...' - # Kubernetes secret that contains a 'credentials.xml' for Jenkins - # CredentialsXmlSecret: jenkins-credentials - # Kubernetes secret that contains files to be put in the Jenkins 'secrets' directory, - # useful to manage encryption keys used for credentials.xml for instance (such as - # master.key and hudson.util.Secret) - # SecretsFilesSecret: jenkins-secrets - # Jenkins XML job configs to provision - # Jobs: |- - # test: |- - # <> - Jobs: |- - molgenis: |- - - - - - - - - - - - - - - - - false - - - - - - - true - -1 - -1 - - - false - - - - - a1f535cd-ab83-4d42-8993-0c3e59cf139f - http://github.com/molgenis/molgenis.git - - - - - - - - - - - - - - - Jenkinsfile - - - CustomConfigMap: false - # Node labels and tolerations for pod assignment - # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature - NodeSelector: {} - Tolerations: {} - - Ingress: - ApiVersion: extensions/v1beta1 - Annotations: - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - - TLS: - # - secretName: jenkins.cluster.local - # hosts: - # - jenkins.cluster.local - -Agent: - Enabled: true - Image: jenkins/jnlp-slave - ImageTag: 3.10-1 -# ImagePullSecret: jenkins - Component: "jenkins-slave" - Privileged: false - Cpu: "200m" - Memory: "256Mi" - # You may want to change this to true while testing a new image - AlwaysPullImage: false - # You can define the volumes that you want to mount for this container - # Allowed types are: ConfigMap, EmptyDir, HostPath, Nfs, Pod, Secret - # Configure the attributes as they appear in the corresponding Java class for that type - # https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes - volumes: - # - type: Secret - # secretName: mysecret - # mountPath: /var/myapp/mysecret - NodeSelector: {} - # Key Value selectors. Ex: - # jenkins-agent: v1 - -Persistence: - Enabled: false - ## A manually managed Persistent Volume and Claim - ## Requires Persistence.Enabled: true - ## If defined, PVC must be created manually before volume will be bound - # ExistingClaim: - - ## jenkins data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # StorageClass: "-" - - Annotations: {} - AccessMode: ReadWriteOnce - Size: 8Gi - volumes: - # - name: nothing - # emptyDir: {} - mounts: - # - mountPath: /var/nothing - # name: nothing - # readOnly: true - -NetworkPolicy: - # Enable creation of NetworkPolicy resources. - Enabled: false - # For Kubernetes v1.4, v1.5 and v1.6, use 'extensions/v1beta1' - # For Kubernetes v1.7, use 'networking.k8s.io/v1' - ApiVersion: extensions/v1beta1 - -## Install Default RBAC roles and bindings -rbac: - install: true - serviceAccountName: default - # RBAC api version (currently either v1beta1 or v1alpha1) - apiVersion: v1beta1 - # Cluster role reference - roleRef: cluster-admin diff --git a/jenkins/v0.2.x/Chart.yaml b/molgenis-jenkins/Chart.yaml similarity index 50% rename from jenkins/v0.2.x/Chart.yaml rename to molgenis-jenkins/Chart.yaml index 4c43ecc..1052ace 100755 --- a/jenkins/v0.2.x/Chart.yaml +++ b/molgenis-jenkins/Chart.yaml @@ -1,10 +1,8 @@ -name: jenkins +name: molgenis-jenkins home: https://jenkins.io/ -version: 0.2.0 +version: 0.2.1 appVersion: 2.107 -description: Open source continuous integration server. It supports multiple SCM tools - including CVS, Subversion and Git. It can execute Apache Ant and Apache Maven-based - projects as well as arbitrary scripts. +description: Molgenis installation for the jenkins chart. sources: - https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm.git icon: https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm/raw/master/jenkins/catalogIcon-molgenis-jenkins.svg diff --git a/jenkins/v0.2.x/README.md b/molgenis-jenkins/README.md similarity index 98% rename from jenkins/v0.2.x/README.md rename to molgenis-jenkins/README.md index 23702f3..b3cfad8 100644 --- a/jenkins/v0.2.x/README.md +++ b/molgenis-jenkins/README.md @@ -1,4 +1,4 @@ -# Jenkins Helm Chart +# Molgenis Jenkins Helm Chart Jenkins master and slave cluster utilizing the Jenkins Kubernetes plugin @@ -23,8 +23,9 @@ The following tables list the configurable parameters of the Jenkins chart and t You can paste these values into the Rancher Answers if you like. Array values can be added as {value, value, value}, e.g. ``` -Master.InstallPlugins={kubernetes:1.8.4, workflow-aggregator:2.5, workflow-job:2.21, credentials-binding:1.16, git:3.9.1} +jenkins.Master.InstallPlugins={kubernetes:1.8.4, workflow-aggregator:2.5, workflow-job:2.21, credentials-binding:1.16, git:3.9.1} ``` +> Because we use jenkins as a sub-chart, you should prefix all values with `jenkins`! ### Jenkins Master | Parameter | Description | Default | diff --git a/molgenis-jenkins/charts/jenkins-0.16.4.tgz b/molgenis-jenkins/charts/jenkins-0.16.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0dbccfc1a6289893c1653fb938e82a412437d31f GIT binary patch literal 13757 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 literal 0 HcmV?d00001 diff --git a/molgenis-jenkins/requirements.lock b/molgenis-jenkins/requirements.lock new file mode 100644 index 0000000..942a4a7 --- /dev/null +++ b/molgenis-jenkins/requirements.lock @@ -0,0 +1,6 @@ +dependencies: +- name: jenkins + repository: https://kubernetes-charts.storage.googleapis.com/ + version: 0.16.4 +digest: sha256:39f694515489598fa545c9a5a4f1347749e8f2a8d7fae6ccae3e2acae1564685 +generated: 2018-06-27T14:36:23.172954738+02:00 diff --git a/molgenis-jenkins/requirements.yaml b/molgenis-jenkins/requirements.yaml new file mode 100644 index 0000000..b9331d0 --- /dev/null +++ b/molgenis-jenkins/requirements.yaml @@ -0,0 +1,4 @@ +dependencies: + - name: jenkins + version: ^0.16 + repository: https://kubernetes-charts.storage.googleapis.com/ \ No newline at end of file diff --git a/molgenis-jenkins/templates/config.tpl b/molgenis-jenkins/templates/config.tpl new file mode 100644 index 0000000..e69de29 diff --git a/molgenis-jenkins/values.yaml b/molgenis-jenkins/values.yaml new file mode 100644 index 0000000..cd770cc --- /dev/null +++ b/molgenis-jenkins/values.yaml @@ -0,0 +1,72 @@ +jenkins: + Master: + HostName: jenkins.molgenis.org + ServiceType: ClusterIP + InstallPlugins: + - kubernetes:1.8.4 + - workflow-aggregator:2.5 + - workflow-job:2.21 + - credentials-binding:1.16 + - git:3.9.1 + Jobs: |- + molgenis: |- + + + + + + + + + + + + + + + + false + + + + + + + true + -1 + -1 + + + false + + + + + a1f535cd-ab83-4d42-8993-0c3e59cf139f + http://github.com/molgenis/molgenis.git + + + + + + + + + + + + + + + Jenkinsfile + + + # Kubernetes secret that contains a 'credentials.xml' for Jenkins + # CredentialsXmlSecret: jenkins-credentials + # Kubernetes secret that contains files to be put in the Jenkins 'secrets' directory, + # useful to manage encryption keys used for credentials.xml for instance (such as + # master.key and hudson.util.Secret) + # SecretsFilesSecret: jenkins-secrets + CustomConfigMap: false + rbac: + install: true \ No newline at end of file