From 3ac611e69fb48d79600ccf1dcc9db56e03d1135d Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 00:15:16 +0200 Subject: [PATCH 1/9] Fix codecov step * Add alpine container with curl to run codecov in * Add JENKINS_URL env var so codecov recognizes that this is jenkins ci. --- molgenis-jenkins/templates/config.tpl | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/molgenis-jenkins/templates/config.tpl b/molgenis-jenkins/templates/config.tpl index 265de5c..8286edb 100644 --- a/molgenis-jenkins/templates/config.tpl +++ b/molgenis-jenkins/templates/config.tpl @@ -139,8 +139,37 @@ data: {{.Values.Pod.Cpu}} {{.Values.Pod.Memory}} + + alpine + spotify/alpine + false + false + /home/jenkins + /bin/sh -c + cat + true + + + + + + + + 0 + 0 + 0 + 0 + 0 + + + + + JENKINS_URL + http://{{ template "jenkins.fullname" . }}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }} + + PGP_PASSPHRASE molgenis-pipeline-env-secret From f6ba15e9f5199437eaaa02da7c7955251709c7fd Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 00:15:41 +0200 Subject: [PATCH 2/9] Switch to github-branch-source plugin. --- molgenis-jenkins/Chart.yaml | 2 +- .../molgenis-jenkins-github-secret.yaml | 16 +++ molgenis-jenkins/values.yaml | 112 ++++++++++-------- 3 files changed, 79 insertions(+), 51 deletions(-) create mode 100644 molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml diff --git a/molgenis-jenkins/Chart.yaml b/molgenis-jenkins/Chart.yaml index 6823d24..97d7764 100755 --- a/molgenis-jenkins/Chart.yaml +++ b/molgenis-jenkins/Chart.yaml @@ -1,6 +1,6 @@ name: molgenis-jenkins home: https://jenkins.io/ -version: 0.2.2 +version: 0.2.3 appVersion: 2.107 description: Molgenis installation for the jenkins chart. sources: diff --git a/molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml b/molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml new file mode 100644 index 0000000..c0459c5 --- /dev/null +++ b/molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Secret +metadata: +# this is the jenkins id. + name: "molgenis-jenkins-github-secret" + labels: +# so we know what type it is. + "jenkins.io/credentials-type": "usernamePassword" + annotations: { +# description - can not be a label as spaces are not allowed + "jenkins.io/credentials-description" : "oauth token for the molgenis-jenkins github user" + } +type: Opaque +data: + username: {{ "molgenis-jenkins" | b64enc | quote }} + password: {{ .Values.PipelineSecrets.Env.GithubToken | b64enc | quote }} \ No newline at end of file diff --git a/molgenis-jenkins/values.yaml b/molgenis-jenkins/values.yaml index 2a4e91a..423693b 100644 --- a/molgenis-jenkins/values.yaml +++ b/molgenis-jenkins/values.yaml @@ -8,59 +8,71 @@ jenkins: - workflow-job:2.21 - credentials-binding:1.16 - git:3.9.1 + - github-branch-source:2.3.6 + - kubernetes-credentials-provider:0.9 Jobs: |- molgenis: |- - - - - - - - - - - - - - - - false - - - - - - - true - -1 - -1 - - - false - - - - - a1f535cd-ab83-4d42-8993-0c3e59cf139f - http://github.com/molgenis/molgenis.git - - - - - - - - - - - - - - - Jenkinsfile - - + + + + + + + + + + .* + + + + + + + + false + + + + + + + true + -1 + -1 + + + + H H * * * + 86400000 + + + false + + + molgenis + molgenis-jenkins-github-secret + + + 1 + + + 1 + + + 1 + + + + + + + + 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, From 2876973a6a8bb946e118e6f62a636d3327958429 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 00:26:45 +0200 Subject: [PATCH 3/9] see if removing the other templates makes the jenkins one come up again. --- molgenis-httpd/v0.1.x/.helmignore | 21 - molgenis-httpd/v0.1.x/Chart.yaml | Bin 16040 -> 0 bytes molgenis-httpd/v0.1.x/README.md | 15 - molgenis-httpd/v0.1.x/questions.yml | 31 - molgenis-httpd/v0.1.x/templates/NOTES.txt | 19 - molgenis-httpd/v0.1.x/templates/_helpers.tpl | 32 - .../v0.1.x/templates/deployment.yaml | 57 -- molgenis-httpd/v0.1.x/templates/ingress.yaml | 36 -- molgenis-httpd/v0.1.x/templates/service.yaml | 18 - molgenis-httpd/v0.1.x/values.yaml | 51 -- molgenis-nexus/README.md | 16 - molgenis-nexus/v0.2.x/.helmignore | 21 - molgenis-nexus/v0.2.x/Chart.yaml | 6 - .../v0.2.x/catalogIcon-molgenis-nexus.svg | 551 ------------------ molgenis-nexus/v0.2.x/templates/_helpers.tpl | 32 - .../deployments/httpd-deployment.yaml | 34 -- .../deployments/nexus-deployment.yaml | 44 -- molgenis-nexus/v0.2.x/templates/ingress.yaml | 38 -- .../templates/services/nexus-service.yaml | 15 - .../v0.2.x/templates/volumes/nexus-pv.yaml | 16 - .../v0.2.x/templates/volumes/nexus-pvc.yaml | 11 - molgenis-nexus/v0.2.x/values.yaml | 82 --- 22 files changed, 1146 deletions(-) delete mode 100644 molgenis-httpd/v0.1.x/.helmignore delete mode 100644 molgenis-httpd/v0.1.x/Chart.yaml delete mode 100644 molgenis-httpd/v0.1.x/README.md delete mode 100644 molgenis-httpd/v0.1.x/questions.yml delete mode 100644 molgenis-httpd/v0.1.x/templates/NOTES.txt delete mode 100644 molgenis-httpd/v0.1.x/templates/_helpers.tpl delete mode 100644 molgenis-httpd/v0.1.x/templates/deployment.yaml delete mode 100644 molgenis-httpd/v0.1.x/templates/ingress.yaml delete mode 100644 molgenis-httpd/v0.1.x/templates/service.yaml delete mode 100644 molgenis-httpd/v0.1.x/values.yaml delete mode 100644 molgenis-nexus/README.md delete mode 100644 molgenis-nexus/v0.2.x/.helmignore delete mode 100644 molgenis-nexus/v0.2.x/Chart.yaml delete mode 100644 molgenis-nexus/v0.2.x/catalogIcon-molgenis-nexus.svg delete mode 100644 molgenis-nexus/v0.2.x/templates/_helpers.tpl delete mode 100644 molgenis-nexus/v0.2.x/templates/deployments/httpd-deployment.yaml delete mode 100644 molgenis-nexus/v0.2.x/templates/deployments/nexus-deployment.yaml delete mode 100644 molgenis-nexus/v0.2.x/templates/ingress.yaml delete mode 100644 molgenis-nexus/v0.2.x/templates/services/nexus-service.yaml delete mode 100644 molgenis-nexus/v0.2.x/templates/volumes/nexus-pv.yaml delete mode 100644 molgenis-nexus/v0.2.x/templates/volumes/nexus-pvc.yaml delete mode 100644 molgenis-nexus/v0.2.x/values.yaml diff --git a/molgenis-httpd/v0.1.x/.helmignore b/molgenis-httpd/v0.1.x/.helmignore deleted file mode 100644 index f0c1319..0000000 --- a/molgenis-httpd/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/molgenis-httpd/v0.1.x/Chart.yaml b/molgenis-httpd/v0.1.x/Chart.yaml deleted file mode 100644 index b22d6fbda4c6af58de84caa042b8dbd6e97b3577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16040 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 diff --git a/molgenis-httpd/v0.1.x/README.md b/molgenis-httpd/v0.1.x/README.md deleted file mode 100644 index 6f7a8df..0000000 --- a/molgenis-httpd/v0.1.x/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# MOLGENIS - HTTPD Helm Chart - -HTTPD (web)server for kubernetes to deploy on a kubernetes cluster with NFS-share - -## Chart Details - -This chart will deploy: - -- 1 HTTPD container - -## Installing the Chart - -etc. - - diff --git a/molgenis-httpd/v0.1.x/questions.yml b/molgenis-httpd/v0.1.x/questions.yml deleted file mode 100644 index 623c3cf..0000000 --- a/molgenis-httpd/v0.1.x/questions.yml +++ /dev/null @@ -1,31 +0,0 @@ -categories: -- MOLGENIS -questions: -- variable: ingress.hosts[0].name - default: "test.molgenis.org" - description: "Hostname for your stack" - type: hostname - required: true - group: "Services and Load Balancing" - label: Hostname -- variable: httpd.hostname - default: "test.molgenis.org" - description: "Hostname for your services (comma separated, example: [hostname]:[port])" - type: string - required: false - group: "Apache configuration" - label: Hostname -- variable: httpd.proxy - default: "" - description: "Proxy for your services (comma separated, example: [service]:[port]:[path])" - type: string - required: false - group: "Apache configuration" - label: Proxy -- variable: httpd.redirect - default: "" - description: "Redirection urls for your services (comma separated, example: [redirection_url])" - type: string - required: false - group: "Apache configuration" - label: Redirection \ No newline at end of file diff --git a/molgenis-httpd/v0.1.x/templates/NOTES.txt b/molgenis-httpd/v0.1.x/templates/NOTES.txt deleted file mode 100644 index b486fa5..0000000 --- a/molgenis-httpd/v0.1.x/templates/NOTES.txt +++ /dev/null @@ -1,19 +0,0 @@ -1. Get the application URL by running these commands: -{{- if .Values.ingress.enabled }} -{{- range .Values.ingress.hosts }} - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }} -{{- end }} -{{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "httpd.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} - 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 -w {{ template "httpd.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "httpd.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ .Values.service.port }} -{{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "httpd.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:80 -{{- end }} diff --git a/molgenis-httpd/v0.1.x/templates/_helpers.tpl b/molgenis-httpd/v0.1.x/templates/_helpers.tpl deleted file mode 100644 index 6968597..0000000 --- a/molgenis-httpd/v0.1.x/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "httpd.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 "httpd.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 "httpd.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/molgenis-httpd/v0.1.x/templates/deployment.yaml b/molgenis-httpd/v0.1.x/templates/deployment.yaml deleted file mode 100644 index a55964a..0000000 --- a/molgenis-httpd/v0.1.x/templates/deployment.yaml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: apps/v1beta2 -kind: Deployment -metadata: - name: {{ template "httpd.fullname" . }} - labels: - app: {{ template "httpd.name" . }} - chart: {{ template "httpd.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ template "httpd.name" . }} - release: {{ .Release.Name }} - template: - metadata: - labels: - app: {{ template "httpd.name" . }} - release: {{ .Release.Name }} - spec: - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: {{ .Values.service.name }} - containerPort: {{ .Values.service.port }} - env: - - name: SERVER_NAME - value: "{{ .Values.httpd.hostname }}" - - name: PROXY_SERVICE - value: "{{ .Values.httpd.proxy }}" - - name: REDIRECT_URL - value: "{{ .Values.httpd.redirect }}" - livenessProbe: - httpGet: - path: / - port: http - readinessProbe: - httpGet: - path: / - port: http - resources: -{{ toYaml .Values.resources | indent 12 }} - {{- with .Values.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: -{{ toYaml . | indent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} - {{- end }} diff --git a/molgenis-httpd/v0.1.x/templates/ingress.yaml b/molgenis-httpd/v0.1.x/templates/ingress.yaml deleted file mode 100644 index 83a8d70..0000000 --- a/molgenis-httpd/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 "httpd.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 "httpd.fullname" $ }} - servicePort: 80 -{{- if .tls }} - tls: - - hosts: - - {{ .name }} - secretName: {{ .tlsSecret }} -{{- end }} ---- -{{- end }} -{{- end }} \ No newline at end of file diff --git a/molgenis-httpd/v0.1.x/templates/service.yaml b/molgenis-httpd/v0.1.x/templates/service.yaml deleted file mode 100644 index b3f1374..0000000 --- a/molgenis-httpd/v0.1.x/templates/service.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "httpd.fullname" . }} - labels: - app: {{ template "httpd.name" . }} - chart: {{ template "httpd.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - type: {{ .Values.service.type }} - ports: - - name: {{ .Values.service.name }} - port: {{ .Values.service.port }} - - selector: - app: {{ template "httpd.name" . }} - release: {{ .Release.Name }} diff --git a/molgenis-httpd/v0.1.x/values.yaml b/molgenis-httpd/v0.1.x/values.yaml deleted file mode 100644 index 04fffb6..0000000 --- a/molgenis-httpd/v0.1.x/values.yaml +++ /dev/null @@ -1,51 +0,0 @@ -# Default values for jenkins. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -image: - repository: registry.webhosting.rug.nl/molgenis/httpd - tag: lts - pullPolicy: Always - -service: - name: httpd - type: ClusterIP - port: 80 - -httpd: - proxy: httpd:80:/ - redirect: redirect.molgenis.local - hostname: test.molgenis.local - -ingress: - enabled: true - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - path: / - hosts: - - name: test.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: {} \ No newline at end of file diff --git a/molgenis-nexus/README.md b/molgenis-nexus/README.md deleted file mode 100644 index b9a3b21..0000000 --- a/molgenis-nexus/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# MOLGENIS - NEXUS Helm Chart - -NEXUS repository for kubernetes to deploy on a kubernetes cluster with NFS-share - -## Chart Details - -This chart will deploy: - -- 1 NEXUS container -- 1 MOLGENIS-httpd container ()to proxy the registry and docker to one domain) - -## Installing the Chart - -etc. - - diff --git a/molgenis-nexus/v0.2.x/.helmignore b/molgenis-nexus/v0.2.x/.helmignore deleted file mode 100644 index f0c1319..0000000 --- a/molgenis-nexus/v0.2.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/molgenis-nexus/v0.2.x/Chart.yaml b/molgenis-nexus/v0.2.x/Chart.yaml deleted file mode 100644 index 575a62a..0000000 --- a/molgenis-nexus/v0.2.x/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v1 -appVersion: "1.0" -description: Nexus stack for MOLGENIS -name: molgenis-nexus -version: 0.2.0 -icon: https://github.com/sidohaakma/molgenis-docker-helm/blob/master/nexus/catalogIcon-molgenis-nexus.svg \ No newline at end of file diff --git a/molgenis-nexus/v0.2.x/catalogIcon-molgenis-nexus.svg b/molgenis-nexus/v0.2.x/catalogIcon-molgenis-nexus.svg deleted file mode 100644 index 9c7d611..0000000 --- a/molgenis-nexus/v0.2.x/catalogIcon-molgenis-nexus.svg +++ /dev/null @@ -1,551 +0,0 @@ - - - - diff --git a/molgenis-nexus/v0.2.x/templates/_helpers.tpl b/molgenis-nexus/v0.2.x/templates/_helpers.tpl deleted file mode 100644 index 9f9800c..0000000 --- a/molgenis-nexus/v0.2.x/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "nexus.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 "nexus.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 "nexus.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/molgenis-nexus/v0.2.x/templates/deployments/httpd-deployment.yaml b/molgenis-nexus/v0.2.x/templates/deployments/httpd-deployment.yaml deleted file mode 100644 index cbf1c0f..0000000 --- a/molgenis-nexus/v0.2.x/templates/deployments/httpd-deployment.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - creationTimestamp: null - name: {{ .Values.httpd.name }} - labels: - app: {{ .Values.httpd.name }} - environment: {{ .Values.environment }} -spec: - replicas: {{ .Values.replicaCount }} - strategy: - type: {{ .Values.httpd.strategy.type }} - selector: - matchLabels: - app: {{ .Values.httpd.selector }} - template: - metadata: - labels: - app: {{ .Values.httpd.name }} - creationTimestamp: null - spec: - restartPolicy: {{ .Values.httpd.restartPolicy }} - containers: - - name: {{ .Values.httpd.name }} - image: "{{ .Values.httpd.image.repository }}:{{ .Values.httpd.image.tag }}" - imagePullPolicy: {{ .Values.httpd.image.pullPolicy }} - env: - - name: PROXY_SERVICE - value: "{{ .Values.nexus.name }}:{{ .Values.nexus.port.ui }},{{ .Values.nexus.name }}:{{ .Values.nexus.port.docker }}:{{ .Values.nexus.path.dockerV2 }}" - - name: SERVER_NAME - value: {{ .Values.httpd.hostname }} - ports: - - containerPort: {{ .Values.httpd.port }} - resources: {} \ No newline at end of file diff --git a/molgenis-nexus/v0.2.x/templates/deployments/nexus-deployment.yaml b/molgenis-nexus/v0.2.x/templates/deployments/nexus-deployment.yaml deleted file mode 100644 index 96d04f4..0000000 --- a/molgenis-nexus/v0.2.x/templates/deployments/nexus-deployment.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - creationTimestamp: null - name: {{ .Values.nexus.name }} - labels: - app: {{ .Values.nexus.name }} - environment: {{ .Values.environment }} -spec: - replicas: {{ .Values.replicaCount }} - strategy: - type: {{ .Values.nexus.strategy.type }} - selector: - matchLabels: - app: {{ .Values.nexus.selector }} - template: - metadata: - labels: - app: {{ .Values.nexus.name }} - creationTimestamp: null - spec: - volumes: - - name: {{ .Values.persistence.name }} - persistentVolumeClaim: - claimName: {{ .Values.persistence.name }} - restartPolicy: {{ .Values.nexus.restartPolicy }} - initContainers: - - name: volume-mount-nexus - image: busybox - command: ["sh", "-c", "chown -R 200:200 {{ .Values.persistence.mountPath }}"] - volumeMounts: - - name: {{ .Values.persistence.name }} - mountPath: "{{ .Values.persistence.mountPath }}" - containers: - - name: {{ .Values.nexus.name }} - image: "{{ .Values.nexus.image.repository }}:{{ .Values.nexus.image.tag }}" - imagePullPolicy: {{ .Values.nexus.image.pullPolicy }} - ports: - - containerPort: {{ .Values.nexus.port.ui }} - - containerPort: {{ .Values.nexus.port.docker }} - volumeMounts: - - name: {{ .Values.persistence.name }} - mountPath: "/nexus-data" - diff --git a/molgenis-nexus/v0.2.x/templates/ingress.yaml b/molgenis-nexus/v0.2.x/templates/ingress.yaml deleted file mode 100644 index 9df4d02..0000000 --- a/molgenis-nexus/v0.2.x/templates/ingress.yaml +++ /dev/null @@ -1,38 +0,0 @@ -{{- if .Values.ingress.enabled }} -{{- range .Values.ingress.hosts }} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: "{{ $.Release.Name }}-ingress" - labels: - app: httpd - chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}" - release: "{{ $.Release.Name }}" - heritage: "{{ $.Release.Service }}" - annotations: - kubernetes.io/ingress.class: "nginx" - nginx.ingress.kubernetes.io/proxy-body-size: "0" - {{- 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: httpd - servicePort: 80 -{{- if .tls }} - tls: - - hosts: - - {{ .name }} - secretName: {{ .tlsSecret }} -{{- end }} ---- -{{- end }} -{{- end }} \ No newline at end of file diff --git a/molgenis-nexus/v0.2.x/templates/services/nexus-service.yaml b/molgenis-nexus/v0.2.x/templates/services/nexus-service.yaml deleted file mode 100644 index bc0fda7..0000000 --- a/molgenis-nexus/v0.2.x/templates/services/nexus-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Values.nexus.name }} - labels: - app: {{ .Values.nexus.name }} -spec: - type: ClusterIP - ports: - - name: ui - port: {{ .Values.nexus.port.ui }} - - name: docker - port: {{ .Values.nexus.port.docker }} - selector: - app: {{ .Values.nexus.selector }} diff --git a/molgenis-nexus/v0.2.x/templates/volumes/nexus-pv.yaml b/molgenis-nexus/v0.2.x/templates/volumes/nexus-pv.yaml deleted file mode 100644 index 95c6f71..0000000 --- a/molgenis-nexus/v0.2.x/templates/volumes/nexus-pv.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - name: {{ .Values.persistence.name }} - labels: - name: nfs2 -spec: - storageClassName: {{ .Values.persistence.storageClass }} - capacity: - storage: {{ .Values.persistence.size }} - accessModes: - - {{ .Values.persistence.accessMode }} - persistentVolumeReclaimPolicy: {{ .Values.persistence.reclaimPolicy }} - nfs: - server: {{ .Values.persistence.server }} - path: {{ .Values.persistence.mountPath }} diff --git a/molgenis-nexus/v0.2.x/templates/volumes/nexus-pvc.yaml b/molgenis-nexus/v0.2.x/templates/volumes/nexus-pvc.yaml deleted file mode 100644 index 3b2d4bb..0000000 --- a/molgenis-nexus/v0.2.x/templates/volumes/nexus-pvc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ .Values.persistence.name }} -spec: - storageClassName: {{ .Values.persistence.storageClass }} - accessModes: - - {{ .Values.persistence.accessMode }} - resources: - requests: - storage: {{ .Values.persistence.size }} \ No newline at end of file diff --git a/molgenis-nexus/v0.2.x/values.yaml b/molgenis-nexus/v0.2.x/values.yaml deleted file mode 100644 index 32c193c..0000000 --- a/molgenis-nexus/v0.2.x/values.yaml +++ /dev/null @@ -1,82 +0,0 @@ -# Default values for nexus. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -environment: production - -service: - type: NodePort - port: 80 - -nexus: - name: nexus - strategy: - type: Recreate - selector: nexus - restartPolicy: Always - image: - repository: sonatype/nexus3 - tag: latest - pullPolicy: Always - port: - docker: 5000 - ui: 8081 - path: - dockerV2: v2 - -httpd: - name: httpd - hostname: registry.molgenis.org - strategy: - type: Recreate - selector: httpd - restartPolicy: Always - image: - repository: registry.webhosting.rug.nl/molgenis/httpd - tag: lts - pullPolicy: Always - port: 80 - - -ingress: - enabled: true - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - path: / - hosts: - - name: registry.molgenis.org - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -persistence: - name: molgenis-nexus-data - storageClass: nfs-class - size: 30G - reclaimPolicy: Retain - server: 192.168.64.12 - accessMode: ReadWriteMany - mountPath: /gcc/molgenis/nexus - - -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: {} From 3eec43fad5cc2d0e8f4446366e7c0f9af0b33855 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 09:53:48 +0200 Subject: [PATCH 4/9] Update README. --- molgenis-jenkins/README.md | 258 ++++++++----------------------------- 1 file changed, 51 insertions(+), 207 deletions(-) diff --git a/molgenis-jenkins/README.md b/molgenis-jenkins/README.md index b3cfad8..89d3191 100644 --- a/molgenis-jenkins/README.md +++ b/molgenis-jenkins/README.md @@ -1,10 +1,7 @@ # Molgenis Jenkins Helm Chart -Jenkins master and slave cluster utilizing the Jenkins Kubernetes plugin - -* https://wiki.jenkins-ci.org/display/JENKINS/Kubernetes+Plugin - -Inspired by the awesome work of Carlos Sanchez +Jenkins master and slave cluster utilizing the Jenkins Kubernetes plugin. +Wraps [the kuberenetes jenkins chart](https://github.com/kubernetes/charts/tree/master/stable/jenkins), see documentation there! ## Chart Details @@ -15,223 +12,70 @@ This chart will do the following: ## Installing the Chart -In the rancher UI, choose the molgenis-jenkins app from the catalog and deploy it. +Usually, you'll be deploying this to the molgenis cluster. +In the [Rancher Catalog](https://rancher.molgenis.org:7443/g/catalog), add the latest version of this repository. +In the [molgenis cluster management page](https://rancher.molgenis.org:7443/p/c-mhkqb:project-2pf45/apps), choose the +catalog, pick the molgenis-jenkins app from the catalog and deploy it. ## Configuration -The following tables list the configurable parameters of the Jenkins chart and their default values. -You can paste these values into the Rancher Answers if you like. -Array values can be added as {value, value, value}, e.g. +When deploying, you can paste values into the Rancher Answers to override the defaults in this chart. +Array values can be added as {value, value, value}. ``` +jenkins.Master.HostName=jenkins.molgenis.org +jenkins.Master.AdminPassword=pa$$word +jenkins.Persistence.Enabled=false jenkins.Master.InstallPlugins={kubernetes:1.8.4, workflow-aggregator:2.5, workflow-job:2.21, credentials-binding:1.16, git:3.9.1} +PipelineSecrets.Env.PGPPassphrase=literal:S3cr3t ``` -> Because we use jenkins as a sub-chart, you should prefix all values with `jenkins`! -### Jenkins Master -| Parameter | Description | Default | -| --------------------------------- | ------------------------------------ | ---------------------------------------------------------------------------- | -| `nameOverride` | Override the resource name prefix | `jenkins` | -| `fullnameOverride` | Override the full resource names | `jenkins-{release-name}` (or `jenkins` if release-name is `jenkins`) | -| `Master.Name` | Jenkins master name | `jenkins-master` | -| `Master.Image` | Master image name | `jenkinsci/jenkins` | -| `Master.ImageTag` | Master image tag | `lts` | -| `Master.ImagePullPolicy` | Master image pull policy | `Always` | -| `Master.ImagePullSecret` | Master image pull secret | Not set | -| `Master.Component` | k8s selector key | `jenkins-master` | -| `Master.UseSecurity` | Use basic security | `true` | -| `Master.AdminUser` | Admin username (and password) created as a secret if useSecurity is true | `admin` | -| `Master.Cpu` | Master requested cpu | `200m` | -| `Master.Memory` | Master requested memory | `256Mi` | -| `Master.InitContainerEnv` | Environment variables for Init Container | Not set | -| `Master.ContainerEnv` | Environment variables for Jenkins Container | Not set | -| `Master.RunAsUser` | uid that jenkins runs with | `0` | -| `Master.FsGroup` | uid that will be used for persistent volume | `0` | -| `Master.ServiceAnnotations` | Service annotations | `{}` | -| `Master.ServiceType` | k8s service type | `LoadBalancer` | -| `Master.ServicePort` | k8s service port | `8080` | -| `Master.NodePort` | k8s node port | Not set | -| `Master.HealthProbes` | Enable k8s liveness and readiness probes | `true` | -| `Master.HealthProbesLivenessTimeout` | Set the timeout for the liveness probe | `120` | -| `Master.HealthProbesReadinessTimeout` | Set the timeout for the readiness probe | `60` | -| `Master.HealthProbeLivenessFailureThreshold` | Set the failure threshold for the liveness probe | `12` | -| `Master.ContainerPort` | Master listening port | `8080` | -| `Master.SlaveListenerPort` | Listening port for agents | `50000` | -| `Master.DisabledAgentProtocols` | Disabled agent protocols | `JNLP-connect JNLP2-connect` | -| `Master.CSRF.DefaultCrumbIssuer.Enabled` | Enable the default CSRF Crumb issuer | `true` | -| `Master.CSRF.DefaultCrumbIssuer.ProxyCompatability` | Enable proxy compatibility | `true` | -| `Master.CLI` | Enable CLI over remoting | `false` | -| `Master.LoadBalancerSourceRanges` | Allowed inbound IP addresses | `0.0.0.0/0` | -| `Master.LoadBalancerIP` | Optional fixed external IP | Not set | -| `Master.JMXPort` | Open a port, for JMX stats | Not set | -| `Master.CustomConfigMap` | Use a custom ConfigMap | `false` | -| `Master.Ingress.Annotations` | Ingress annotations | `{}` | -| `Master.Ingress.TLS` | Ingress TLS configuration | `[]` | -| `Master.InitScripts` | List of Jenkins init scripts | Not set | -| `Master.CredentialsXmlSecret` | Kubernetes secret that contains a 'credentials.xml' file | Not set | -| `Master.SecretsFilesSecret` | Kubernetes secret that contains 'secrets' files | Not set | -| `Master.Jobs` | Jenkins XML job configs | Not set | -| `Master.InstallPlugins` | List of Jenkins plugins to install | `kubernetes:0.11 workflow-aggregator:2.5 credentials-binding:1.11 git:3.2.0` | -| `Master.ScriptApproval` | List of groovy functions to approve | Not set | -| `Master.NodeSelector` | Node labels for pod assignment | `{}` | -| `Master.Affinity` | Affinity settings | `{}` | -| `Master.Tolerations` | Toleration labels for pod assignment | `{}` | -| `NetworkPolicy.Enabled` | Enable creation of NetworkPolicy resources. | `false` | -| `NetworkPolicy.ApiVersion` | NetworkPolicy ApiVersion | `extensions/v1beta1` | -| `rbac.install` | Create service account and ClusterRoleBinding for Kubernetes plugin | `false` | -| `rbac.apiVersion` | RBAC API version | `v1beta1` | -| `rbac.roleRef` | Cluster role name to bind to | `cluster-admin` | +You can use [all configuration values of the jenkins subchart](https://github.com/kubernetes/charts/tree/master/stable/jenkins). +> Because we use jenkins as a sub-chart, you should prefix all value keys with `jenkins`! -### Jenkins Agent +There is one additional group of configuration items specific for this chart, so not prefixed with `jenkins`: +## PipelineSecrets -| Parameter | Description | Default | -| ----------------------- | ----------------------------------------------- | ---------------------- | -| `Agent.AlwaysPullImage` | Always pull agent container image before build | `false` | -| `Agent.Enabled` | Enable Kubernetes plugin jnlp-agent podTemplate | `true` | -| `Agent.Image` | Agent image name | `jenkinsci/jnlp-slave` | -| `Agent.ImagePullSecret` | Agent image pull secret | Not set | -| `Agent.ImageTag` | Agent image tag | `2.62` | -| `Agent.Privileged` | Agent privileged container | `false` | -| `Agent.Cpu` | Agent requested cpu | `200m` | -| `Agent.Memory` | Agent requested memory | `256Mi` | -| `Agent.volumes` | Additional volumes | `nil` | +When deployed, the chart creates a couple of kubernetes secrets that get used by jenkins and mounted in the jenkins +build pods. The secrets, like the rest of the deployment, is namespaced so multiple instances can run beside +each other with their own secrets. +You can override the values at deploy time but otherwise also configure them +[in Rancher](https://rancher.molgenis.org:7443/p/c-mhkqb:project-2pf45/secrets) or through kubectl. + +### Env +Environment variables stored in molgenis-pipeline-env secret, to be added as environment variables +in the slave pods. + +| Parameter | Description | Default | +| ---------------------------------- | ------------------------------------ | --------------- | +| `PipelineSecrets.Env.Replace` | Replace molgenis-pipeline-env secret | `true` | +| `PipelineSecrets.Env.PGPPassphrase`| passphrase for the pgp signing key | `literal:xxxx` | +| `PipelineSecrets.Env.CodecovToken` | token for codecov.io | `xxxx` | +| `PipelineSecrets.Env.GithubToken` | token for GH molgenis-jenkins user | `xxxx` | +| `PipelineSecrets.Env.SonarToken` | token for sonarcloud.io | `xxxx` | | + +### File + +Environment variables stored in molgenis-pipeline-file secret, to be mounted as files +in the `/root/.m2` directory of the slave pods. +> The settings.xml file references the + +| Parameter | Description | Default | +| -------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------- | +| `PipelineSecrets.File.Replace` | Replace molgenis-pipeline-file secret | `true` | +| `PipelineSecrets.File.PGPPrivateKeyAsc`| pgp signing key in ascii form | `-----BEGIN PGP PRIVATE KEY BLOCK-----xxxxx-----END PGP PRIVATE KEY BLOCK-----` | +| `PipelineSecrets.File.MavenSettingsXML`| Maven settings.xml file | `[...]` (see actual [values.yaml](values.yaml)) | + + +## Command line use Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. -Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, +Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. +For example, ```bash -$ helm install --name my-release -f values.yaml stable/jenkins +$ helm install --name jenkins -f values.yaml molgenis-jenkins ``` > **Tip**: You can use the default [values.yaml](values.yaml) -## Mounting volumes into your Agent pods - -Your Jenkins Agents will run as pods, and it's possible to inject volumes where needed: - -```yaml -Agent: - volumes: - - type: Secret - secretName: jenkins-mysecrets - mountPath: /var/run/secrets/jenkins-mysecrets -``` - -The supported volume types are: `ConfigMap`, `EmptyDir`, `HostPath`, `Nfs`, `Pod`, `Secret`. Each type supports a different set of configurable attributes, defined by [the corresponding Java class](https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes). - -## NetworkPolicy - -To make use of the NetworkPolicy resources created by default, -install [a networking plugin that implements the Kubernetes -NetworkPolicy spec](https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy#before-you-begin). - -For Kubernetes v1.5 & v1.6, you must also turn on NetworkPolicy by setting -the DefaultDeny namespace annotation. Note: this will enforce policy for _all_ pods in the namespace: - - kubectl annotate namespace default "net.beta.kubernetes.io/network-policy={\"ingress\":{\"isolation\":\"DefaultDeny\"}}" - -Install helm chart with network policy enabled: - - $ helm install stable/jenkins --set NetworkPolicy.Enabled=true - -## Persistence - -The Jenkins image stores persistence under `/var/jenkins_home` path of the container. A dynamically managed Persistent Volume -Claim is used to keep the data across deployments, by default. This is known to work in GCE, AWS, and minikube. Alternatively, -a previously configured Persistent Volume Claim can be used. - -It is possible to mount several volumes using `Persistence.volumes` and `Persistence.mounts` parameters. - -### Persistence Values - -| Parameter | Description | Default | -| --------------------------- | ------------------------------- | --------------- | -| `Persistence.Enabled` | Enable the use of a Jenkins PVC | `true` | -| `Persistence.ExistingClaim` | Provide the name of a PVC | `nil` | -| `Persistence.AccessMode` | The PVC access mode | `ReadWriteOnce` | -| `Persistence.Size` | The size of the PVC | `8Gi` | -| `Persistence.volumes` | Additional volumes | `nil` | -| `Persistence.mounts` | Additional mounts | `nil` | - -#### Existing PersistentVolumeClaim - -1. Create the PersistentVolume -1. Create the PersistentVolumeClaim -1. Install the chart - -```bash -$ helm install --name my-release --set Persistence.ExistingClaim=PVC_NAME stable/jenkins -``` - -## Custom ConfigMap - -When creating a new parent chart with this chart as a dependency, the `CustomConfigMap` parameter can be used to override the default config.xml provided. -It also allows for providing additional xml configuration files that will be copied into `/var/jenkins_home`. In the parent chart's values.yaml, -set the `jenkins.Master.CustomConfigMap` value to true like so - -```yaml -jenkins: - Master: - CustomConfigMap: true -``` - -and provide the file `templates/config.tpl` in your parent chart for your use case. You can start by copying the contents of `config.yaml` from this chart into your parent charts `templates/config.tpl` as a basis for customization. Finally, you'll need to wrap the contents of `templates/config.tpl` like so: - -```yaml -{{- define "override_config_map" }} - -{{ end }} -``` - -## RBAC - -If running upon a cluster with RBAC enabled you will need to do the following: - -* `helm install stable/jenkins --set rbac.install=true` -* Create a Jenkins credential of type Kubernetes service account with service account name provided in the `helm status` output. -* Under configure Jenkins -- Update the credentials config in the cloud section to use the service account credential you created in the step above. - -## Run Jenkins as non root user - -The default settings of this helm chart let Jenkins run as root user with uid `0`. -Due to security reasons you may want to run Jenkins as a non root user. -Fortunately the default jenkins docker image `jenkins/jenkins` contains a user `jenkins` with uid `1000` that can be used for this purpose. - -Simply use the following settings to run Jenkins as `jenkins` user with uid `1000`. - -```yaml -jenkins: - Master: - RunAsUser: 1000 - FsGroup: 1000 -``` - -Docs taken from https://github.com/jenkinsci/docker/blob/master/Dockerfile: -_Jenkins is run with user `jenkins`, uid = 1000. If you bind mount a volume from the host or a data container,ensure you use the same uid_ - -## Running behind a forward proxy - -The master pod uses an Init Container to install plugins etc. If you are behind a corporate proxy it may be useful to set `Master.InitContainerEnv` to add environment variables such as `http_proxy`, so that these can be downloaded. - -Additionally, you may want to add env vars for the Jenkins container, and the JVM (`Master.JavaOpts`). - -```yaml -Master: - InitContainerEnv: - - name: http_proxy - value: "http://192.168.64.1:3128" - - name: https_proxy - value: "http://192.168.64.1:3128" - - name: no_proxy - value: "" - ContainerEnv: - - name: http_proxy - value: "http://192.168.64.1:3128" - - name: https_proxy - value: "http://192.168.64.1:3128" - JavaOpts: >- - -Dhttp.proxyHost=192.168.64.1 - -Dhttp.proxyPort=3128 - -Dhttps.proxyHost=192.168.64.1 - -Dhttps.proxyPort=3128 -``` From 1d1035c51d27e7624f99b3e8c1cd93d597276a81 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 12:34:52 +0200 Subject: [PATCH 5/9] Fix #8: Make the containers in the jenkins pod template configurable through values --- molgenis-jenkins/Chart.yaml | 2 +- molgenis-jenkins/templates/config.tpl | 176 ++++++-------------------- molgenis-jenkins/values.yaml | 71 +++++++---- 3 files changed, 85 insertions(+), 164 deletions(-) diff --git a/molgenis-jenkins/Chart.yaml b/molgenis-jenkins/Chart.yaml index 97d7764..0310b56 100755 --- a/molgenis-jenkins/Chart.yaml +++ b/molgenis-jenkins/Chart.yaml @@ -1,6 +1,6 @@ name: molgenis-jenkins home: https://jenkins.io/ -version: 0.2.3 +version: 0.2.4 appVersion: 2.107 description: Molgenis installation for the jenkins chart. sources: diff --git a/molgenis-jenkins/templates/config.tpl b/molgenis-jenkins/templates/config.tpl index 8286edb..67204ce 100644 --- a/molgenis-jenkins/templates/config.tpl +++ b/molgenis-jenkins/templates/config.tpl @@ -28,23 +28,23 @@ data: kubernetes -{{- if .Values.Agent.Enabled }} +{{- range $podName, $pod := .Values.Pods }} - default + {{ $podName }} 2147483647 0 - + {{- $local := dict "first" true }} - {{- range $key, $value := .Values.Agent.NodeSelector }} + {{- range $key, $value := $pod.NodeSelector }} {{- if not $local.first }},{{- end }} {{- $key }}={{ $value }} {{- $_ := set $local "first" false }} {{- end }} - EXCLUSIVE + $pod.NodeUsageMode -{{- range $index, $volume := .Values.Agent.volumes }} +{{- range $index, $volume := $pod.volumes }} {{- range $key, $value := $volume }}{{- if not (eq $key "type") }} <{{ $key }}>{{ $value }} @@ -53,153 +53,59 @@ data: {{- end }} +{{- range $containerName, $container := $pod.Containers }} - jnlp - {{ .Values.Agent.Image }}:{{ .Values.Agent.ImageTag }} -{{- if .Values.Agent.Privileged }} + {{ $containerName }} + {{ $container.Image }}:{{ $container.ImageTag | default "latest" }} +{{- if $container.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 }} - - +{{- if $container.AlwaysPullImage }} + true {{- else }} - -{{- end }} - - -{{- end -}} -{{- if .Values.Pod.Enabled }} - - - {{ .Values.Pod.Label }} - 2147483647 - 0 - - - {{- $local := dict "first" true }} - {{- range $key, $value := .Values.Pod.NodeSelector }} - {{- if not $local.first }},{{- end }} - {{- $key }}={{ $value }} - {{- $_ := set $local "first" false }} - {{- end }} - NORMAL - -{{- range $index, $volume := .Values.Pod.volumes }} - -{{- range $key, $value := $volume }}{{- if not (eq $key "type") }} - <{{ $key }}>{{ $value }} -{{- end }}{{- end }} - -{{- end }} - - - - {{ .Values.Pod.Label }} - {{ .Values.Pod.Image }}:{{ .Values.Pod.ImageTag }} -{{- if .Values.Pod.Privileged }} - true -{{- else }} - false -{{- end }} - {{ .Values.Pod.AlwaysPullImage }} - /home/jenkins - {{ .Values.Pod.Command }} - {{ .Values.Pod.Args }} -{{- if .Values.Pod.TTY }} - true -{{- else }} - false -{{- end }} - {{.Values.Pod.Cpu}} - {{.Values.Pod.Memory}} - {{.Values.Pod.Cpu}} - {{.Values.Pod.Memory}} - - - alpine - spotify/alpine - false false +{{- end }} /home/jenkins - /bin/sh -c - cat + {{ $container.Command | default "cat" }} + {{ $container.Args | default "" }} +{{- if $container.TTY }} true - - - - - - - - 0 - 0 - 0 - 0 - 0 - +{{- else }} + false +{{- end }} +{{- if $container.resources }} +{{- if $container.resources.requests }} + {{ $container.resources.requests.cpu | default "" }} + {{ $container.resources.requests.memory | default "" }} +{{- end }} +{{- if $container.resources.limits }} + {{ $container.resources.limits.cpu | default "" }} + {{ $container.resources.limits.memory | default "" }} +{{- end }} +{{- end }} +{{- end }} - JENKINS_URL - http://{{ template "jenkins.fullname" . }}:{{.Values.Master.ServicePort}}{{ default "" .Values.Master.JenkinsUriPrefix }} + http://{{ template "jenkins.fullname" $ }}:{{$.Values.Master.ServicePort}}{{ default "" $.Values.Master.JenkinsUriPrefix }} - - - PGP_PASSPHRASE - molgenis-pipeline-env-secret - pgpPassphrase - - - PGP_SECRETKEY - keyfile:/root/.m2/key.asc - - - SONAR_TOKEN - molgenis-pipeline-env-secret - sonarToken - - - CODECOV_TOKEN - molgenis-pipeline-env-secret - codecovToken - - - GITHUB_TOKEN - molgenis-pipeline-env-secret - githubToken - +{{- range $index, $envVar := $pod.EnvVars }} + +{{- range $key, $value := $envVar }}{{- if not (eq $key "type") }} + <{{ $key }}>{{ $value }} +{{- end }}{{- end }} + +{{- end }} -{{- if .Values.Pod.ImagePullSecret }} +{{- if $pod.ImagePullSecret }} - {{ .Values.Pod.ImagePullSecret }} + {{ $pod.ImagePullSecret }} {{- else }} @@ -207,7 +113,7 @@ data: {{- end }} -{{- end -}} +{{- end }} https://kubernetes.default false diff --git a/molgenis-jenkins/values.yaml b/molgenis-jenkins/values.yaml index 423693b..17c1bc6 100644 --- a/molgenis-jenkins/values.yaml +++ b/molgenis-jenkins/values.yaml @@ -82,35 +82,50 @@ jenkins: CustomConfigMap: true rbac: install: true - # A second pod template for maven builds - Pod: - Enabled: true - Image: "webhost12.service.rug.nl/molgenis/molgenis-maven" - ImageTag: latest - # ImagePullSecret: jenkins - Label: "molgenis-maven" - Privileged: false - Cpu: "" - Memory: "" - # You may want to change this to true while testing a new image - AlwaysPullImage: false - Command: "/bin/sh -c" - Args: "cat" - TTY: true - # 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: HostPath - hostPath: "/var/run/docker.sock" - mountPath: "/var/run/docker.sock" - - type: Secret - secretName: molgenis-pipeline-file-secret - mountPath: "/root/.m2" + Pods: + default: + Label: "default" + NodeUsageMode: NORMAL + volumes: + - type: HostPath + hostPath: "/var/run/docker.sock" + mountPath: "/var/run/docker.sock" + - type: Secret + secretName: molgenis-pipeline-file-secret + mountPath: "/root/.m2" + Containers: + maven: + Image: "webhost12.service.rug.nl/molgenis/molgenis-maven" + resources: + requests: + cpu: "1000m" + limits: + memory: "1Gi" + alpine: + Image: "spotify/alpine" + EnvVars: + - type: Secret + key: PGP_PASSPHRASE + secretName: molgenis-pipeline-env-secret + secretKey: pgpPassphrase + - type: KeyValue + key: PGP_SECRETKEY + value: "keyfile:/root/.m2/key.asc" + - type: Secret + key: SONAR_TOKEN + secretName: molgenis-pipeline-env-secret + secretKey: sonarToken + - type: Secret + key: CODECOV_TOKEN + secretName: molgenis-pipeline-env-secret + secretKey: codecovToken + - type: Secret + key: GITHUB_TOKEN + secretName: molgenis-pipeline-env-secret + secretKey: githubToken + # If needed + # ImagePullSecret: jenkins NodeSelector: {} - # Key Value selectors. Ex: - # jenkins-agent: v1 PipelineSecrets: Env: # Set to false to keep existing secret From b8cceee7539378498c4d2ec6a430c25b48f2b598 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 12:58:45 +0200 Subject: [PATCH 6/9] Rename GithubToken => GitHubToken --- molgenis-jenkins/README.md | 2 +- molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml | 2 +- molgenis-jenkins/templates/molgenis-pipeline-env-secret.yaml | 2 +- molgenis-jenkins/values.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/molgenis-jenkins/README.md b/molgenis-jenkins/README.md index 89d3191..9fe7bd6 100644 --- a/molgenis-jenkins/README.md +++ b/molgenis-jenkins/README.md @@ -51,7 +51,7 @@ in the slave pods. | `PipelineSecrets.Env.Replace` | Replace molgenis-pipeline-env secret | `true` | | `PipelineSecrets.Env.PGPPassphrase`| passphrase for the pgp signing key | `literal:xxxx` | | `PipelineSecrets.Env.CodecovToken` | token for codecov.io | `xxxx` | -| `PipelineSecrets.Env.GithubToken` | token for GH molgenis-jenkins user | `xxxx` | +| `PipelineSecrets.Env.GitHubToken` | token for GH molgenis-jenkins user | `xxxx` | | `PipelineSecrets.Env.SonarToken` | token for sonarcloud.io | `xxxx` | | ### File diff --git a/molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml b/molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml index c0459c5..2e7eba7 100644 --- a/molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml +++ b/molgenis-jenkins/templates/molgenis-jenkins-github-secret.yaml @@ -13,4 +13,4 @@ metadata: type: Opaque data: username: {{ "molgenis-jenkins" | b64enc | quote }} - password: {{ .Values.PipelineSecrets.Env.GithubToken | b64enc | quote }} \ No newline at end of file + password: {{ .Values.PipelineSecrets.Env.GitHubToken | b64enc | quote }} \ No newline at end of file diff --git a/molgenis-jenkins/templates/molgenis-pipeline-env-secret.yaml b/molgenis-jenkins/templates/molgenis-pipeline-env-secret.yaml index 831a1ea..555f1b9 100644 --- a/molgenis-jenkins/templates/molgenis-pipeline-env-secret.yaml +++ b/molgenis-jenkins/templates/molgenis-pipeline-env-secret.yaml @@ -12,6 +12,6 @@ type: Opaque data: pgpPassphrase: {{ .Values.PipelineSecrets.Env.PGPPassphrase | b64enc | quote }} codecovToken: {{ .Values.PipelineSecrets.Env.CodecovToken | b64enc | quote }} - githubToken: {{ .Values.PipelineSecrets.Env.GithubToken | b64enc | quote }} + githubToken: {{ .Values.PipelineSecrets.Env.GitHubToken | b64enc | quote }} sonarToken: {{ .Values.PipelineSecrets.Env.SonarToken | b64enc | quote }} {{- end }} \ No newline at end of file diff --git a/molgenis-jenkins/values.yaml b/molgenis-jenkins/values.yaml index 17c1bc6..b3a9c5d 100644 --- a/molgenis-jenkins/values.yaml +++ b/molgenis-jenkins/values.yaml @@ -135,7 +135,7 @@ PipelineSecrets: # Token for codecov.io service CodecovToken: xxxx # Token for github bot account - GithubToken: xxxx + GitHubToken: xxxx # Token for sonarcloud.io SonarToken: xxxx File: From d1a1a2a4c66fc66912b8dbe39c32d54ca4837a10 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 14:04:08 +0200 Subject: [PATCH 7/9] Revert "see if removing the other templates makes the jenkins one come up again." This reverts commit 2876973a6a8bb946e118e6f62a636d3327958429. --- molgenis-httpd/v0.1.x/.helmignore | 21 + molgenis-httpd/v0.1.x/Chart.yaml | Bin 0 -> 16040 bytes molgenis-httpd/v0.1.x/README.md | 15 + molgenis-httpd/v0.1.x/questions.yml | 31 + molgenis-httpd/v0.1.x/templates/NOTES.txt | 19 + molgenis-httpd/v0.1.x/templates/_helpers.tpl | 32 + .../v0.1.x/templates/deployment.yaml | 57 ++ molgenis-httpd/v0.1.x/templates/ingress.yaml | 36 ++ molgenis-httpd/v0.1.x/templates/service.yaml | 18 + molgenis-httpd/v0.1.x/values.yaml | 51 ++ molgenis-nexus/README.md | 16 + molgenis-nexus/v0.2.x/.helmignore | 21 + molgenis-nexus/v0.2.x/Chart.yaml | 6 + .../v0.2.x/catalogIcon-molgenis-nexus.svg | 551 ++++++++++++++++++ molgenis-nexus/v0.2.x/templates/_helpers.tpl | 32 + .../deployments/httpd-deployment.yaml | 34 ++ .../deployments/nexus-deployment.yaml | 44 ++ molgenis-nexus/v0.2.x/templates/ingress.yaml | 38 ++ .../templates/services/nexus-service.yaml | 15 + .../v0.2.x/templates/volumes/nexus-pv.yaml | 16 + .../v0.2.x/templates/volumes/nexus-pvc.yaml | 11 + molgenis-nexus/v0.2.x/values.yaml | 82 +++ 22 files changed, 1146 insertions(+) create mode 100644 molgenis-httpd/v0.1.x/.helmignore create mode 100644 molgenis-httpd/v0.1.x/Chart.yaml create mode 100644 molgenis-httpd/v0.1.x/README.md create mode 100644 molgenis-httpd/v0.1.x/questions.yml create mode 100644 molgenis-httpd/v0.1.x/templates/NOTES.txt create mode 100644 molgenis-httpd/v0.1.x/templates/_helpers.tpl create mode 100644 molgenis-httpd/v0.1.x/templates/deployment.yaml create mode 100644 molgenis-httpd/v0.1.x/templates/ingress.yaml create mode 100644 molgenis-httpd/v0.1.x/templates/service.yaml create mode 100644 molgenis-httpd/v0.1.x/values.yaml create mode 100644 molgenis-nexus/README.md create mode 100644 molgenis-nexus/v0.2.x/.helmignore create mode 100644 molgenis-nexus/v0.2.x/Chart.yaml create mode 100644 molgenis-nexus/v0.2.x/catalogIcon-molgenis-nexus.svg create mode 100644 molgenis-nexus/v0.2.x/templates/_helpers.tpl create mode 100644 molgenis-nexus/v0.2.x/templates/deployments/httpd-deployment.yaml create mode 100644 molgenis-nexus/v0.2.x/templates/deployments/nexus-deployment.yaml create mode 100644 molgenis-nexus/v0.2.x/templates/ingress.yaml create mode 100644 molgenis-nexus/v0.2.x/templates/services/nexus-service.yaml create mode 100644 molgenis-nexus/v0.2.x/templates/volumes/nexus-pv.yaml create mode 100644 molgenis-nexus/v0.2.x/templates/volumes/nexus-pvc.yaml create mode 100644 molgenis-nexus/v0.2.x/values.yaml diff --git a/molgenis-httpd/v0.1.x/.helmignore b/molgenis-httpd/v0.1.x/.helmignore new file mode 100644 index 0000000..f0c1319 --- /dev/null +++ b/molgenis-httpd/v0.1.x/.helmignore @@ -0,0 +1,21 @@ +# 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/molgenis-httpd/v0.1.x/Chart.yaml b/molgenis-httpd/v0.1.x/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b22d6fbda4c6af58de84caa042b8dbd6e97b3577 GIT binary patch literal 16040 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 literal 0 HcmV?d00001 diff --git a/molgenis-httpd/v0.1.x/README.md b/molgenis-httpd/v0.1.x/README.md new file mode 100644 index 0000000..6f7a8df --- /dev/null +++ b/molgenis-httpd/v0.1.x/README.md @@ -0,0 +1,15 @@ +# MOLGENIS - HTTPD Helm Chart + +HTTPD (web)server for kubernetes to deploy on a kubernetes cluster with NFS-share + +## Chart Details + +This chart will deploy: + +- 1 HTTPD container + +## Installing the Chart + +etc. + + diff --git a/molgenis-httpd/v0.1.x/questions.yml b/molgenis-httpd/v0.1.x/questions.yml new file mode 100644 index 0000000..623c3cf --- /dev/null +++ b/molgenis-httpd/v0.1.x/questions.yml @@ -0,0 +1,31 @@ +categories: +- MOLGENIS +questions: +- variable: ingress.hosts[0].name + default: "test.molgenis.org" + description: "Hostname for your stack" + type: hostname + required: true + group: "Services and Load Balancing" + label: Hostname +- variable: httpd.hostname + default: "test.molgenis.org" + description: "Hostname for your services (comma separated, example: [hostname]:[port])" + type: string + required: false + group: "Apache configuration" + label: Hostname +- variable: httpd.proxy + default: "" + description: "Proxy for your services (comma separated, example: [service]:[port]:[path])" + type: string + required: false + group: "Apache configuration" + label: Proxy +- variable: httpd.redirect + default: "" + description: "Redirection urls for your services (comma separated, example: [redirection_url])" + type: string + required: false + group: "Apache configuration" + label: Redirection \ No newline at end of file diff --git a/molgenis-httpd/v0.1.x/templates/NOTES.txt b/molgenis-httpd/v0.1.x/templates/NOTES.txt new file mode 100644 index 0000000..b486fa5 --- /dev/null +++ b/molgenis-httpd/v0.1.x/templates/NOTES.txt @@ -0,0 +1,19 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range .Values.ingress.hosts }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "httpd.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + 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 -w {{ template "httpd.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "httpd.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "httpd.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/molgenis-httpd/v0.1.x/templates/_helpers.tpl b/molgenis-httpd/v0.1.x/templates/_helpers.tpl new file mode 100644 index 0000000..6968597 --- /dev/null +++ b/molgenis-httpd/v0.1.x/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "httpd.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 "httpd.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 "httpd.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/molgenis-httpd/v0.1.x/templates/deployment.yaml b/molgenis-httpd/v0.1.x/templates/deployment.yaml new file mode 100644 index 0000000..a55964a --- /dev/null +++ b/molgenis-httpd/v0.1.x/templates/deployment.yaml @@ -0,0 +1,57 @@ +apiVersion: apps/v1beta2 +kind: Deployment +metadata: + name: {{ template "httpd.fullname" . }} + labels: + app: {{ template "httpd.name" . }} + chart: {{ template "httpd.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: {{ template "httpd.name" . }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ template "httpd.name" . }} + release: {{ .Release.Name }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: {{ .Values.service.name }} + containerPort: {{ .Values.service.port }} + env: + - name: SERVER_NAME + value: "{{ .Values.httpd.hostname }}" + - name: PROXY_SERVICE + value: "{{ .Values.httpd.proxy }}" + - name: REDIRECT_URL + value: "{{ .Values.httpd.redirect }}" + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- with .Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} diff --git a/molgenis-httpd/v0.1.x/templates/ingress.yaml b/molgenis-httpd/v0.1.x/templates/ingress.yaml new file mode 100644 index 0000000..83a8d70 --- /dev/null +++ b/molgenis-httpd/v0.1.x/templates/ingress.yaml @@ -0,0 +1,36 @@ +{{- if .Values.ingress.enabled }} +{{- range .Values.ingress.hosts }} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: "{{ $.Release.Name }}-ingress" + labels: + app: {{ template "httpd.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 "httpd.fullname" $ }} + servicePort: 80 +{{- if .tls }} + tls: + - hosts: + - {{ .name }} + secretName: {{ .tlsSecret }} +{{- end }} +--- +{{- end }} +{{- end }} \ No newline at end of file diff --git a/molgenis-httpd/v0.1.x/templates/service.yaml b/molgenis-httpd/v0.1.x/templates/service.yaml new file mode 100644 index 0000000..b3f1374 --- /dev/null +++ b/molgenis-httpd/v0.1.x/templates/service.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "httpd.fullname" . }} + labels: + app: {{ template "httpd.name" . }} + chart: {{ template "httpd.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.service.type }} + ports: + - name: {{ .Values.service.name }} + port: {{ .Values.service.port }} + + selector: + app: {{ template "httpd.name" . }} + release: {{ .Release.Name }} diff --git a/molgenis-httpd/v0.1.x/values.yaml b/molgenis-httpd/v0.1.x/values.yaml new file mode 100644 index 0000000..04fffb6 --- /dev/null +++ b/molgenis-httpd/v0.1.x/values.yaml @@ -0,0 +1,51 @@ +# Default values for jenkins. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: registry.webhosting.rug.nl/molgenis/httpd + tag: lts + pullPolicy: Always + +service: + name: httpd + type: ClusterIP + port: 80 + +httpd: + proxy: httpd:80:/ + redirect: redirect.molgenis.local + hostname: test.molgenis.local + +ingress: + enabled: true + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + hosts: + - name: test.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: {} \ No newline at end of file diff --git a/molgenis-nexus/README.md b/molgenis-nexus/README.md new file mode 100644 index 0000000..b9a3b21 --- /dev/null +++ b/molgenis-nexus/README.md @@ -0,0 +1,16 @@ +# MOLGENIS - NEXUS Helm Chart + +NEXUS repository for kubernetes to deploy on a kubernetes cluster with NFS-share + +## Chart Details + +This chart will deploy: + +- 1 NEXUS container +- 1 MOLGENIS-httpd container ()to proxy the registry and docker to one domain) + +## Installing the Chart + +etc. + + diff --git a/molgenis-nexus/v0.2.x/.helmignore b/molgenis-nexus/v0.2.x/.helmignore new file mode 100644 index 0000000..f0c1319 --- /dev/null +++ b/molgenis-nexus/v0.2.x/.helmignore @@ -0,0 +1,21 @@ +# 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/molgenis-nexus/v0.2.x/Chart.yaml b/molgenis-nexus/v0.2.x/Chart.yaml new file mode 100644 index 0000000..575a62a --- /dev/null +++ b/molgenis-nexus/v0.2.x/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +appVersion: "1.0" +description: Nexus stack for MOLGENIS +name: molgenis-nexus +version: 0.2.0 +icon: https://github.com/sidohaakma/molgenis-docker-helm/blob/master/nexus/catalogIcon-molgenis-nexus.svg \ No newline at end of file diff --git a/molgenis-nexus/v0.2.x/catalogIcon-molgenis-nexus.svg b/molgenis-nexus/v0.2.x/catalogIcon-molgenis-nexus.svg new file mode 100644 index 0000000..9c7d611 --- /dev/null +++ b/molgenis-nexus/v0.2.x/catalogIcon-molgenis-nexus.svg @@ -0,0 +1,551 @@ + + + + diff --git a/molgenis-nexus/v0.2.x/templates/_helpers.tpl b/molgenis-nexus/v0.2.x/templates/_helpers.tpl new file mode 100644 index 0000000..9f9800c --- /dev/null +++ b/molgenis-nexus/v0.2.x/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "nexus.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 "nexus.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 "nexus.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/molgenis-nexus/v0.2.x/templates/deployments/httpd-deployment.yaml b/molgenis-nexus/v0.2.x/templates/deployments/httpd-deployment.yaml new file mode 100644 index 0000000..cbf1c0f --- /dev/null +++ b/molgenis-nexus/v0.2.x/templates/deployments/httpd-deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + creationTimestamp: null + name: {{ .Values.httpd.name }} + labels: + app: {{ .Values.httpd.name }} + environment: {{ .Values.environment }} +spec: + replicas: {{ .Values.replicaCount }} + strategy: + type: {{ .Values.httpd.strategy.type }} + selector: + matchLabels: + app: {{ .Values.httpd.selector }} + template: + metadata: + labels: + app: {{ .Values.httpd.name }} + creationTimestamp: null + spec: + restartPolicy: {{ .Values.httpd.restartPolicy }} + containers: + - name: {{ .Values.httpd.name }} + image: "{{ .Values.httpd.image.repository }}:{{ .Values.httpd.image.tag }}" + imagePullPolicy: {{ .Values.httpd.image.pullPolicy }} + env: + - name: PROXY_SERVICE + value: "{{ .Values.nexus.name }}:{{ .Values.nexus.port.ui }},{{ .Values.nexus.name }}:{{ .Values.nexus.port.docker }}:{{ .Values.nexus.path.dockerV2 }}" + - name: SERVER_NAME + value: {{ .Values.httpd.hostname }} + ports: + - containerPort: {{ .Values.httpd.port }} + resources: {} \ No newline at end of file diff --git a/molgenis-nexus/v0.2.x/templates/deployments/nexus-deployment.yaml b/molgenis-nexus/v0.2.x/templates/deployments/nexus-deployment.yaml new file mode 100644 index 0000000..96d04f4 --- /dev/null +++ b/molgenis-nexus/v0.2.x/templates/deployments/nexus-deployment.yaml @@ -0,0 +1,44 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + creationTimestamp: null + name: {{ .Values.nexus.name }} + labels: + app: {{ .Values.nexus.name }} + environment: {{ .Values.environment }} +spec: + replicas: {{ .Values.replicaCount }} + strategy: + type: {{ .Values.nexus.strategy.type }} + selector: + matchLabels: + app: {{ .Values.nexus.selector }} + template: + metadata: + labels: + app: {{ .Values.nexus.name }} + creationTimestamp: null + spec: + volumes: + - name: {{ .Values.persistence.name }} + persistentVolumeClaim: + claimName: {{ .Values.persistence.name }} + restartPolicy: {{ .Values.nexus.restartPolicy }} + initContainers: + - name: volume-mount-nexus + image: busybox + command: ["sh", "-c", "chown -R 200:200 {{ .Values.persistence.mountPath }}"] + volumeMounts: + - name: {{ .Values.persistence.name }} + mountPath: "{{ .Values.persistence.mountPath }}" + containers: + - name: {{ .Values.nexus.name }} + image: "{{ .Values.nexus.image.repository }}:{{ .Values.nexus.image.tag }}" + imagePullPolicy: {{ .Values.nexus.image.pullPolicy }} + ports: + - containerPort: {{ .Values.nexus.port.ui }} + - containerPort: {{ .Values.nexus.port.docker }} + volumeMounts: + - name: {{ .Values.persistence.name }} + mountPath: "/nexus-data" + diff --git a/molgenis-nexus/v0.2.x/templates/ingress.yaml b/molgenis-nexus/v0.2.x/templates/ingress.yaml new file mode 100644 index 0000000..9df4d02 --- /dev/null +++ b/molgenis-nexus/v0.2.x/templates/ingress.yaml @@ -0,0 +1,38 @@ +{{- if .Values.ingress.enabled }} +{{- range .Values.ingress.hosts }} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: "{{ $.Release.Name }}-ingress" + labels: + app: httpd + chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}" + release: "{{ $.Release.Name }}" + heritage: "{{ $.Release.Service }}" + annotations: + kubernetes.io/ingress.class: "nginx" + nginx.ingress.kubernetes.io/proxy-body-size: "0" + {{- 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: httpd + servicePort: 80 +{{- if .tls }} + tls: + - hosts: + - {{ .name }} + secretName: {{ .tlsSecret }} +{{- end }} +--- +{{- end }} +{{- end }} \ No newline at end of file diff --git a/molgenis-nexus/v0.2.x/templates/services/nexus-service.yaml b/molgenis-nexus/v0.2.x/templates/services/nexus-service.yaml new file mode 100644 index 0000000..bc0fda7 --- /dev/null +++ b/molgenis-nexus/v0.2.x/templates/services/nexus-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Values.nexus.name }} + labels: + app: {{ .Values.nexus.name }} +spec: + type: ClusterIP + ports: + - name: ui + port: {{ .Values.nexus.port.ui }} + - name: docker + port: {{ .Values.nexus.port.docker }} + selector: + app: {{ .Values.nexus.selector }} diff --git a/molgenis-nexus/v0.2.x/templates/volumes/nexus-pv.yaml b/molgenis-nexus/v0.2.x/templates/volumes/nexus-pv.yaml new file mode 100644 index 0000000..95c6f71 --- /dev/null +++ b/molgenis-nexus/v0.2.x/templates/volumes/nexus-pv.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: {{ .Values.persistence.name }} + labels: + name: nfs2 +spec: + storageClassName: {{ .Values.persistence.storageClass }} + capacity: + storage: {{ .Values.persistence.size }} + accessModes: + - {{ .Values.persistence.accessMode }} + persistentVolumeReclaimPolicy: {{ .Values.persistence.reclaimPolicy }} + nfs: + server: {{ .Values.persistence.server }} + path: {{ .Values.persistence.mountPath }} diff --git a/molgenis-nexus/v0.2.x/templates/volumes/nexus-pvc.yaml b/molgenis-nexus/v0.2.x/templates/volumes/nexus-pvc.yaml new file mode 100644 index 0000000..3b2d4bb --- /dev/null +++ b/molgenis-nexus/v0.2.x/templates/volumes/nexus-pvc.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ .Values.persistence.name }} +spec: + storageClassName: {{ .Values.persistence.storageClass }} + accessModes: + - {{ .Values.persistence.accessMode }} + resources: + requests: + storage: {{ .Values.persistence.size }} \ No newline at end of file diff --git a/molgenis-nexus/v0.2.x/values.yaml b/molgenis-nexus/v0.2.x/values.yaml new file mode 100644 index 0000000..32c193c --- /dev/null +++ b/molgenis-nexus/v0.2.x/values.yaml @@ -0,0 +1,82 @@ +# Default values for nexus. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +environment: production + +service: + type: NodePort + port: 80 + +nexus: + name: nexus + strategy: + type: Recreate + selector: nexus + restartPolicy: Always + image: + repository: sonatype/nexus3 + tag: latest + pullPolicy: Always + port: + docker: 5000 + ui: 8081 + path: + dockerV2: v2 + +httpd: + name: httpd + hostname: registry.molgenis.org + strategy: + type: Recreate + selector: httpd + restartPolicy: Always + image: + repository: registry.webhosting.rug.nl/molgenis/httpd + tag: lts + pullPolicy: Always + port: 80 + + +ingress: + enabled: true + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + hosts: + - name: registry.molgenis.org + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +persistence: + name: molgenis-nexus-data + storageClass: nfs-class + size: 30G + reclaimPolicy: Retain + server: 192.168.64.12 + accessMode: ReadWriteMany + mountPath: /gcc/molgenis/nexus + + +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: {} From 02e397b253ae2f46650d7f2e1bc9f4d94c13a7ed Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 14:10:14 +0200 Subject: [PATCH 8/9] Now I understand what . is, I can ditch all the variable references. --- molgenis-jenkins/templates/config.tpl | 42 +++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/molgenis-jenkins/templates/config.tpl b/molgenis-jenkins/templates/config.tpl index 67204ce..5526fce 100644 --- a/molgenis-jenkins/templates/config.tpl +++ b/molgenis-jenkins/templates/config.tpl @@ -34,53 +34,53 @@ data: {{ $podName }} 2147483647 0 - + {{- $local := dict "first" true }} - {{- range $key, $value := $pod.NodeSelector }} + {{- range $key, $value := .NodeSelector }} {{- if not $local.first }},{{- end }} {{- $key }}={{ $value }} {{- $_ := set $local "first" false }} {{- end }} - $pod.NodeUsageMode + .NodeUsageMode -{{- range $index, $volume := $pod.volumes }} - +{{- range $index, $volume := .volumes }} + {{- range $key, $value := $volume }}{{- if not (eq $key "type") }} <{{ $key }}>{{ $value }} {{- end }}{{- end }} - + {{- end }} -{{- range $containerName, $container := $pod.Containers }} +{{- range $containerName, $container := .Containers }} {{ $containerName }} - {{ $container.Image }}:{{ $container.ImageTag | default "latest" }} -{{- if $container.Privileged }} + {{ .Image }}:{{ .ImageTag | default "latest" }} +{{- if .Privileged }} true {{- else }} false {{- end }} -{{- if $container.AlwaysPullImage }} +{{- if .AlwaysPullImage }} true {{- else }} false {{- end }} /home/jenkins - {{ $container.Command | default "cat" }} - {{ $container.Args | default "" }} -{{- if $container.TTY }} + {{ .Command | default "cat" }} + {{ .Args | default "" }} +{{- if .TTY }} true {{- else }} false {{- end }} -{{- if $container.resources }} -{{- if $container.resources.requests }} +{{- if .resources }} +{{- if .resources.requests }} {{ $container.resources.requests.cpu | default "" }} {{ $container.resources.requests.memory | default "" }} {{- end }} -{{- if $container.resources.limits }} +{{- if .resources.limits }} {{ $container.resources.limits.cpu | default "" }} {{ $container.resources.limits.memory | default "" }} {{- end }} @@ -93,19 +93,19 @@ data: JENKINS_URL http://{{ template "jenkins.fullname" $ }}:{{$.Values.Master.ServicePort}}{{ default "" $.Values.Master.JenkinsUriPrefix }} -{{- range $index, $envVar := $pod.EnvVars }} - +{{- range $index, $envVar := .EnvVars }} + {{- range $key, $value := $envVar }}{{- if not (eq $key "type") }} <{{ $key }}>{{ $value }} {{- end }}{{- end }} - + {{- end }} -{{- if $pod.ImagePullSecret }} +{{- if .ImagePullSecret }} - {{ $pod.ImagePullSecret }} + {{ .ImagePullSecret }} {{- else }} From b959ae3f9933e87bcd5cbd369e22fd055cf1c428 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Fri, 29 Jun 2018 14:53:09 +0200 Subject: [PATCH 9/9] Make ports configurable in values --- molgenis-jenkins/Chart.yaml | 2 +- molgenis-jenkins/templates/config.tpl | 19 ++++++++++++++----- molgenis-jenkins/values.yaml | 14 ++++++++++++-- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/molgenis-jenkins/Chart.yaml b/molgenis-jenkins/Chart.yaml index 0310b56..be8727e 100755 --- a/molgenis-jenkins/Chart.yaml +++ b/molgenis-jenkins/Chart.yaml @@ -1,6 +1,6 @@ name: molgenis-jenkins home: https://jenkins.io/ -version: 0.2.4 +version: 0.2.5 appVersion: 2.107 description: Molgenis installation for the jenkins chart. sources: diff --git a/molgenis-jenkins/templates/config.tpl b/molgenis-jenkins/templates/config.tpl index 5526fce..0bf4325 100644 --- a/molgenis-jenkins/templates/config.tpl +++ b/molgenis-jenkins/templates/config.tpl @@ -42,7 +42,7 @@ data: {{- $key }}={{ $value }} {{- $_ := set $local "first" false }} {{- end }} - .NodeUsageMode + {{ .NodeUsageMode }} {{- range $index, $volume := .volumes }} @@ -57,6 +57,15 @@ data: {{ $containerName }} {{ .Image }}:{{ .ImageTag | default "latest" }} + +{{- range $index, $envVar := .Ports }} + + {{ .name }} + {{ .containerPort }} + {{ .hostPort }} + +{{- end }} + {{- if .Privileged }} true {{- else }} @@ -77,12 +86,12 @@ data: {{- end }} {{- if .resources }} {{- if .resources.requests }} - {{ $container.resources.requests.cpu | default "" }} - {{ $container.resources.requests.memory | default "" }} + {{ .resources.requests.cpu | default "" }} + {{ .resources.requests.memory | default "" }} {{- end }} {{- if .resources.limits }} - {{ $container.resources.limits.cpu | default "" }} - {{ $container.resources.limits.memory | default "" }} + {{ .resources.limits.cpu | default "" }} + {{ .resources.limits.memory | default "" }} {{- end }} {{- end }} diff --git a/molgenis-jenkins/values.yaml b/molgenis-jenkins/values.yaml index b3a9c5d..cff214b 100644 --- a/molgenis-jenkins/values.yaml +++ b/molgenis-jenkins/values.yaml @@ -95,7 +95,7 @@ jenkins: mountPath: "/root/.m2" Containers: maven: - Image: "webhost12.service.rug.nl/molgenis/molgenis-maven" + Image: "registry.webhosting.rug.nl/molgenis/maven" resources: requests: cpu: "1000m" @@ -103,6 +103,16 @@ jenkins: memory: "1Gi" alpine: Image: "spotify/alpine" + elasticsearch: + Image: "elasticsearch" + ImageTag: "5.5.1" + Ports: + - name: rest + containerPort: "9200" + hostPort: "9200" + - name: api + containerPort: "9300" + hostPort: "9300" EnvVars: - type: Secret key: PGP_PASSPHRASE @@ -125,7 +135,7 @@ jenkins: secretKey: githubToken # If needed # ImagePullSecret: jenkins - NodeSelector: {} + NodeSelector: {} PipelineSecrets: Env: # Set to false to keep existing secret