From 7c9a7a143b40cd1ee796bc1a8fb0c7fdeea80c5c Mon Sep 17 00:00:00 2001 From: sido Date: Fri, 10 Aug 2018 08:20:46 +0200 Subject: [PATCH 01/14] add plugin for skipping build after release --- molgenis-jenkins/values.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/molgenis-jenkins/values.yaml b/molgenis-jenkins/values.yaml index 875b9c1..69f09d5 100644 --- a/molgenis-jenkins/values.yaml +++ b/molgenis-jenkins/values.yaml @@ -13,7 +13,7 @@ jenkins: - blueocean:1.6.2 - github-oauth:0.29 - gogs-webhook:1.0.14 - - sauce-ondemand:1.176 + - github-scm-trait-commit-skip:0.1.1 Security: UseGitHub: false GitHub: @@ -82,6 +82,7 @@ jenkins: 1 + From d0c9c91ff3b12aaef0d2a965e6166e53bef36291 Mon Sep 17 00:00:00 2001 From: sido Date: Thu, 20 Sep 2018 16:50:46 +0200 Subject: [PATCH 02/14] updated nexus to connect to nfs provisioning --- .../deployments/httpd-deployment.yaml | 34 ------------ .../deployments/nexus-deployment.yaml | 54 +++++++++++------- .../deployments/nexusProxy-deployment.yaml | 55 +++++++++++++++++++ molgenis-nexus/templates/ingress.yaml | 4 +- .../templates/persistence/nexusPVC.yaml | 15 +++++ .../templates/services/httpd-service.yaml | 13 ----- .../services/nexusProxy-service.yaml | 13 +++++ .../templates/volumes/nexus-pv.yaml | 16 ------ .../templates/volumes/nexus-pvc.yaml | 11 ---- molgenis-nexus/values.yaml | 39 ++++--------- 10 files changed, 130 insertions(+), 124 deletions(-) delete mode 100644 molgenis-nexus/templates/deployments/httpd-deployment.yaml create mode 100644 molgenis-nexus/templates/deployments/nexusProxy-deployment.yaml create mode 100644 molgenis-nexus/templates/persistence/nexusPVC.yaml delete mode 100644 molgenis-nexus/templates/services/httpd-service.yaml create mode 100644 molgenis-nexus/templates/services/nexusProxy-service.yaml delete mode 100644 molgenis-nexus/templates/volumes/nexus-pv.yaml delete mode 100644 molgenis-nexus/templates/volumes/nexus-pvc.yaml diff --git a/molgenis-nexus/templates/deployments/httpd-deployment.yaml b/molgenis-nexus/templates/deployments/httpd-deployment.yaml deleted file mode 100644 index cbf1c0f..0000000 --- a/molgenis-nexus/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/templates/deployments/nexus-deployment.yaml b/molgenis-nexus/templates/deployments/nexus-deployment.yaml index 96d04f4..72056eb 100644 --- a/molgenis-nexus/templates/deployments/nexus-deployment.yaml +++ b/molgenis-nexus/templates/deployments/nexus-deployment.yaml @@ -19,26 +19,40 @@ spec: 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" + - 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: molgenis-nexus-nfs + mountPath: "/nexus-data" + livenessProbe: + httpGet: + path: / + port: {{ .Values.nexus.port.ui }} + initialDelaySeconds: 90 + periodSeconds: 20 + failureThreshold: 5 + successThreshold: 1 + readinessProbe: + httpGet: + path: / + port: {{ .Values.nexus.port.ui }} + initialDelaySeconds: 90 + periodSeconds: 5 + failureThreshold: 5 + successThreshold: 1 + volumes: + - name: molgenis-nexus-nfs + persistentVolumeClaim: + claimName: {{ .Values.persistence.claim }} + + {{- with .Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} \ No newline at end of file diff --git a/molgenis-nexus/templates/deployments/nexusProxy-deployment.yaml b/molgenis-nexus/templates/deployments/nexusProxy-deployment.yaml new file mode 100644 index 0000000..2be16c8 --- /dev/null +++ b/molgenis-nexus/templates/deployments/nexusProxy-deployment.yaml @@ -0,0 +1,55 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + creationTimestamp: null + name: {{ .Values.nexusProxy.name }} + labels: + app: {{ .Values.nexusProxy.name }} + environment: {{ .Values.environment }} +spec: + replicas: {{ .Values.replicaCount }} + strategy: + type: {{ .Values.nexusProxy.strategy.type }} + selector: + matchLabels: + app: {{ .Values.nexusProxy.selector }} + template: + metadata: + labels: + app: {{ .Values.nexusProxy.name }} + creationTimestamp: null + spec: + restartPolicy: {{ .Values.nexusProxy.restartPolicy }} + containers: + - name: {{ .Values.nexusProxy.name }} + image: "{{ .Values.nexusProxy.image.repository }}:{{ .Values.nexusProxy.image.tag }}" + imagePullPolicy: {{ .Values.nexusProxy.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.nexusProxy.hostname }} + ports: + - containerPort: {{ .Values.nexusProxy.port }} + resources: {} + livenessProbe: + httpGet: + path: / + port: {{ .Values.nexusProxy.port }} + initialDelaySeconds: 90 + periodSeconds: 5 + failureThreshold: 5 + successThreshold: 1 + readinessProbe: + httpGet: + path: / + port: {{ .Values.nexusProxy.port }} + initialDelaySeconds: 90 + periodSeconds: 5 + failureThreshold: 5 + successThreshold: 1 + + {{- with .Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} \ No newline at end of file diff --git a/molgenis-nexus/templates/ingress.yaml b/molgenis-nexus/templates/ingress.yaml index 9df4d02..3cae610 100644 --- a/molgenis-nexus/templates/ingress.yaml +++ b/molgenis-nexus/templates/ingress.yaml @@ -25,8 +25,8 @@ spec: paths: - path: {{ default "/" .path }} backend: - serviceName: httpd - servicePort: 80 + serviceName: {{ $.Values.nexusProxy.name }} + servicePort: {{ $.Values.nexusProxy.port }} {{- if .tls }} tls: - hosts: diff --git a/molgenis-nexus/templates/persistence/nexusPVC.yaml b/molgenis-nexus/templates/persistence/nexusPVC.yaml new file mode 100644 index 0000000..2e2466f --- /dev/null +++ b/molgenis-nexus/templates/persistence/nexusPVC.yaml @@ -0,0 +1,15 @@ +{{- if .Values.persistence.enabled -}} +apiVersion: extensions/v1beta1 +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ .Values.persistence.claim }} + annotations: + volume.beta.kubernetes.io/storage-class: "nfs-provisioner-retain" +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: {{ .Values.persistence.size }} +{{- end }} \ No newline at end of file diff --git a/molgenis-nexus/templates/services/httpd-service.yaml b/molgenis-nexus/templates/services/httpd-service.yaml deleted file mode 100644 index 7067ecb..0000000 --- a/molgenis-nexus/templates/services/httpd-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Values.httpd.name }} - labels: - app: {{ .Values.httpd.name }} -spec: - type: {{ .Values.httpd.service.type }} - ports: - - name: {{ .Values.httpd.name }} - port: {{ .Values.httpd.port }} - selector: - app: {{ .Values.httpd.selector }} diff --git a/molgenis-nexus/templates/services/nexusProxy-service.yaml b/molgenis-nexus/templates/services/nexusProxy-service.yaml new file mode 100644 index 0000000..281ee81 --- /dev/null +++ b/molgenis-nexus/templates/services/nexusProxy-service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Values.nexusProxy.name }} + labels: + app: {{ .Values.nexusProxy.name }} +spec: + type: {{ .Values.nexusProxy.service.type }} + ports: + - name: {{ .Values.nexusProxy.name }} + port: {{ .Values.nexusProxy.port }} + selector: + app: {{ .Values.nexusProxy.selector }} diff --git a/molgenis-nexus/templates/volumes/nexus-pv.yaml b/molgenis-nexus/templates/volumes/nexus-pv.yaml deleted file mode 100644 index 95c6f71..0000000 --- a/molgenis-nexus/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/templates/volumes/nexus-pvc.yaml b/molgenis-nexus/templates/volumes/nexus-pvc.yaml deleted file mode 100644 index 3b2d4bb..0000000 --- a/molgenis-nexus/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/values.yaml b/molgenis-nexus/values.yaml index 23b2454..825dd10 100644 --- a/molgenis-nexus/values.yaml +++ b/molgenis-nexus/values.yaml @@ -24,12 +24,12 @@ nexus: service: type: ClusterIP -httpd: - name: httpd - hostname: registry.molgenis.org +nexusProxy: + name: nexus-proxy + hostname: sido.molgenis.org strategy: type: Recreate - selector: httpd + selector: nexus-proxy restartPolicy: Always image: repository: registry.webhosting.rug.nl/molgenis/httpd @@ -43,39 +43,22 @@ httpd: ingress: enabled: true annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" path: / hosts: - - name: registry.molgenis.org + - name: sido.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 + enabled: true + claim: molgenis-nexus + size: 500Gi 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: {} +nodeSelector: { + deployPod: "true" +} tolerations: [] From a4c4d19fe296ddbc91537d4ba10d2d7d993c8d47 Mon Sep 17 00:00:00 2001 From: sido Date: Thu, 20 Sep 2018 16:54:34 +0200 Subject: [PATCH 03/14] renamed service again --- molgenis-nexus/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/molgenis-nexus/values.yaml b/molgenis-nexus/values.yaml index 825dd10..df5cdab 100644 --- a/molgenis-nexus/values.yaml +++ b/molgenis-nexus/values.yaml @@ -26,7 +26,7 @@ nexus: nexusProxy: name: nexus-proxy - hostname: sido.molgenis.org + hostname: registry.molgenis.org strategy: type: Recreate selector: nexus-proxy @@ -45,7 +45,7 @@ ingress: annotations: {} path: / hosts: - - name: sido.molgenis.org + - name: registry.molgenis.org tls: [] persistence: From f10b8d7ea8d81245a21bc1be1bff56c85ae757f5 Mon Sep 17 00:00:00 2001 From: sido Date: Wed, 26 Sep 2018 16:04:22 +0200 Subject: [PATCH 04/14] updated production chart and removed preview chart --- README.md | 21 + molgenis-opencpu/questions.yml | 2 +- molgenis-preview/.helmignore | 21 - molgenis-preview/Chart.yaml | 8 - molgenis-preview/README.md | 16 - molgenis-preview/catalogIcon-molgenis.svg | 1024 ----------------- molgenis-preview/questions.yml | 61 - molgenis-preview/templates/NOTES.txt | 19 - molgenis-preview/templates/_helpers.tpl | 32 - molgenis-preview/templates/deployment.yaml | 124 -- molgenis-preview/templates/ingress.yaml | 38 - molgenis-preview/templates/service.yaml | 17 - molgenis-preview/values.yaml | 82 -- molgenis/Chart.yaml | 4 +- molgenis/README.md | 26 +- molgenis/questions.yml | 109 +- molgenis/templates/deployment.yaml | 25 +- molgenis/templates/ingress.yaml | 4 +- .../templates/persistence/postgresPVC.yaml | 19 + molgenis/templates/service.yaml | 13 + molgenis/values.yaml | 33 +- 21 files changed, 205 insertions(+), 1493 deletions(-) delete mode 100644 molgenis-preview/.helmignore delete mode 100644 molgenis-preview/Chart.yaml delete mode 100644 molgenis-preview/README.md delete mode 100644 molgenis-preview/catalogIcon-molgenis.svg delete mode 100644 molgenis-preview/questions.yml delete mode 100644 molgenis-preview/templates/NOTES.txt delete mode 100644 molgenis-preview/templates/_helpers.tpl delete mode 100644 molgenis-preview/templates/deployment.yaml delete mode 100644 molgenis-preview/templates/ingress.yaml delete mode 100644 molgenis-preview/templates/service.yaml delete mode 100644 molgenis-preview/values.yaml create mode 100644 molgenis/templates/persistence/postgresPVC.yaml diff --git a/README.md b/README.md index ce8c869..4cf8847 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ This repository is serves also as a catalogue for Rancher. We have serveral apps - [Jenkins](molgenis-jenkins/README.md) - [NEXUS](molgenis-nexus/README.md) - [HTTPD](molgenis-httpd/README.md) +- [MOLGENIS](molgenis/README.md) - [MOLGENIS preview](molgenis-preview/README.md) - [MOLGENIS vault](molgenis-vault/README.md) @@ -122,6 +123,26 @@ You can you need to know to easily develop and deploy helm-charts Do it in the root of the project where the Chart.yaml is located It installs a release of a kubernetes stack. You also store this as an artifact in a kubernetes repository +- ```helm package .``` + + You can create a package which can be uploaded in the molgenis helm repository + +- ```helm publish``` + You still have to create an ```index.yaml``` for the chart. You can do this by executing this command: ```helm repo index #directory name of helm chart#``` + + Then you can upload it by executing: + + - ```curl -v --user #username#:#password# --upload-file index.yaml https://registry.molgenis.org/repository/helm/#chart name#/index.yml``` + - ```curl -v --user #username#:#password# --upload-file #chart name#-#version#.tgz https://registry.molgenis.org/repository/helm/#chart name#/#chart name#-#version#.tgz``` + + Now you have to add the repository locally to use in your ```requirements.yaml```. + + - ```helm repo add #repository name# https://registry.molgenis.org/repository/helm/molgenis``` + +- ```helm dep build``` + + You can build your dependencies (create a ```charts``` directory and install the chart in it) of the helm-chart. + - ```helm list``` Lists all installed releases diff --git a/molgenis-opencpu/questions.yml b/molgenis-opencpu/questions.yml index 736aac5..79f3462 100644 --- a/molgenis-opencpu/questions.yml +++ b/molgenis-opencpu/questions.yml @@ -8,7 +8,7 @@ questions: description: "Enable ingress" type: boolean required: true - group: "Loadbalancing" + group: "Load balancing" - variable: opencpu.image.repository label: Registry default: "registry.hub.docker.com" diff --git a/molgenis-preview/.helmignore b/molgenis-preview/.helmignore deleted file mode 100644 index f0c1319..0000000 --- a/molgenis-preview/.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-preview/Chart.yaml b/molgenis-preview/Chart.yaml deleted file mode 100644 index 4b35807..0000000 --- a/molgenis-preview/Chart.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -appVersion: "1.0" -description: MOLGENIS - helm stack for testing purposes -name: molgenis-preview -version: 0.2.0 -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/molgenis-preview/catalogIcon-molgenis.svg \ No newline at end of file diff --git a/molgenis-preview/README.md b/molgenis-preview/README.md deleted file mode 100644 index 1a047bc..0000000 --- a/molgenis-preview/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# MOLGENIS preview -This chart is used for testing purposes. It can be used by data managers or developers to test MOLGENIS (e.g. integration testing). - -## Containers -This chart spins up a complete stack to run MOLGENIS. The created containers are: - -- MOLGENIS -- PostgreSQL -- Elasticsearch -- OpenCPU - -## Rancher -You can spin up a test instance by navigating to https://rancher.molgenis.org:7777 and login with your LDAP-account. - -Go to the test-environment and click on "Launch". Search for MOLGENIS. - diff --git a/molgenis-preview/catalogIcon-molgenis.svg b/molgenis-preview/catalogIcon-molgenis.svg deleted file mode 100644 index f5e6b5d..0000000 --- a/molgenis-preview/catalogIcon-molgenis.svg +++ /dev/null @@ -1,1024 +0,0 @@ - - - - diff --git a/molgenis-preview/questions.yml b/molgenis-preview/questions.yml deleted file mode 100644 index 98eb023..0000000 --- a/molgenis-preview/questions.yml +++ /dev/null @@ -1,61 +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: molgenis.image.repository - default: "registry.hub.docker.com" - description: "Select a registry to pull from" - type: enum - options: - - "registry.hub.docker.com" - - "registry.molgenis.org" - required: true - group: "MOLGENIS - Version" - label: Registry -- variable: molgenis.image.tag - default: "stable" - description: "Select a MOLGENIS version (check the registry.molgenis.org or hub.docker.com for other tags)" - type: string - required: true - group: "MOLGENIS - Version" - label: Version -- variable: molgenis.resources.limits.cpu - default: 1 - description: "CPU limit for this MOLGENIS instance" - type: enum - options: - - "1" - - "2" - - "3" - - "4" - required: true - group: "MOLGENIS - Resource limits" - label: CPU limit -- variable: molgenis.resources.limits.memory - default: 1250Mi - description: "Memory limit for this MOLGENIS instance" - type: enum - options: - - "1250Mi" - - "1500Mi" - - "2000Mi" - - "2500Mi" - required: true - group: "MOLGENIS - Resource limits" - label: Memory limit -- variable: molgenis.javaOpts - default: "-Xmx1g -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled" - description: "Java runtime options for the MOLGENIS instance" - type: enum - options: - - "-Xmx1g -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled" - - "-Xmx2g -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled" - group: "MOLGENIS - Resource limits" - label: Java memory options diff --git a/molgenis-preview/templates/NOTES.txt b/molgenis-preview/templates/NOTES.txt deleted file mode 100644 index b5a4d24..0000000 --- a/molgenis-preview/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 "molgenis.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 "molgenis.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "molgenis.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 "molgenis.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-preview/templates/_helpers.tpl b/molgenis-preview/templates/_helpers.tpl deleted file mode 100644 index e7cf3ea..0000000 --- a/molgenis-preview/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "molgenis.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 "molgenis.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 "molgenis.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/molgenis-preview/templates/deployment.yaml b/molgenis-preview/templates/deployment.yaml deleted file mode 100644 index b2f603d..0000000 --- a/molgenis-preview/templates/deployment.yaml +++ /dev/null @@ -1,124 +0,0 @@ -apiVersion: apps/v1beta2 -kind: Deployment -metadata: - {{- with .Values.ingress.annotations }} - annotations: -{{ toYaml . | indent 4 }} - {{- end }} - name: {{ template "molgenis.fullname" . }} - labels: - app: {{ template "molgenis.name" . }} - chart: {{ template "molgenis.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ template "molgenis.name" . }} - release: {{ .Release.Name }} - template: - metadata: - labels: - app: {{ template "molgenis.name" . }} - release: {{ .Release.Name }} - spec: - containers: - - name: molgenis - {{- with .Values.molgenis }} - image: "{{ .image.repository }}/{{ .image.name }}:{{ .image.tag }}" - imagePullPolicy: {{ .image.pullPolicy }} - env: - - name: molgenis.home - value: /home/molgenis - - name: opencpu.uri.host - value: localhost - - name: elasticsearch.transport.addresses - value: localhost:9300 - - name: elasticsearch.cluster.name - value: {{ $.Values.elasticsearch.clusterName }} - - name: db_uri - value: "jdbc:postgresql://localhost/{{ $.Values.postgres.db }}" - - name: db_user - value: {{ $.Values.postgres.user }} - - name: db_password - value: {{ $.Values.postgres.password }} - - name: admin.password - value: {{ .adminPassword }} - - name: CATALINA_OPTS - value: "{{ .javaOpts }}" - ports: - - containerPort: 8080 -# livenessProbe: -# httpGet: -# path: / -# port: 8080 -# readinessProbe: -# httpGet: -# path: /api/v2/version -# port: 8080 - resources: -{{ toYaml .resources | indent 12 }} - {{- end }} - - - name: elasticsearch - {{- with .Values.elasticsearch }} - image: "{{ .image.repository }}:{{ .image.tag }}" - imagePullPolicy: {{ .image.pullPolicy }} - env: - - name: cluster.name - value: {{ .clusterName }} - - name: bootstrap.memory_lock - value: "true" - - name: ES_JAVA_OPTS - value: "{{ .javaOpts }}" - - name: xpack.security.enabled - value: "false" - - name: discovery.type - value: single-node - ports: - - containerPort: 9200 - - containerPort: 9300 - resources: -{{ toYaml .resources | indent 12 }} - {{- end }} - - - name: postgres - {{- with .Values.postgres }} - image: "{{ .image.repository }}:{{ .image.tag }}" - imagePullPolicy: {{ .image.pullPolicy }} - env: - - name: POSTGRES_USER - value: {{ .user }} - - name: POSTGRES_PASSWORD - value: {{ .password }} - - name: POSTGRES_DB - value: {{ .db }} - ports: - - containerPort: 5432 - resources: -{{ toYaml .resources | indent 12 }} - {{- end }} - - - name: opencpu - {{- with .Values.opencpu }} - image: "{{ .image.repository }}:{{ .image.tag }}" - imagePullPolicy: {{ .image.pullPolicy }} - ports: - - containerPort: 8004 - resources: -{{ toYaml .resources | indent 12 }} - {{- end }} - - {{- 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-preview/templates/ingress.yaml b/molgenis-preview/templates/ingress.yaml deleted file mode 100644 index 26c3c76..0000000 --- a/molgenis-preview/templates/ingress.yaml +++ /dev/null @@ -1,38 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "molgenis.fullname" . -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app: {{ template "molgenis.name" . }} - chart: {{ template "molgenis.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -{{- with .Values.ingress.annotations }} - annotations: -{{ toYaml . | indent 4 }} -{{- end }} -spec: -{{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} -{{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .name }} - http: - paths: - - path: {{ $ingressPath }} - backend: - serviceName: {{ $fullName }} - servicePort: 8080 - {{- end }} -{{- end }} diff --git a/molgenis-preview/templates/service.yaml b/molgenis-preview/templates/service.yaml deleted file mode 100644 index 26d1322..0000000 --- a/molgenis-preview/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "molgenis.fullname" . }} - labels: - app: {{ template "molgenis.name" . }} - chart: {{ template "molgenis.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - type: {{ .Values.service.type }} - ports: - - name: molgenis - port: {{ .Values.service.port }} - selector: - app: {{ template "molgenis.name" . }} - release: {{ .Release.Name }} diff --git a/molgenis-preview/values.yaml b/molgenis-preview/values.yaml deleted file mode 100644 index 4ec9059..0000000 --- a/molgenis-preview/values.yaml +++ /dev/null @@ -1,82 +0,0 @@ -# Default values for molgenis. - -replicaCount: 1 - -service: - type: LoadBalancer - port: 8080 - -ingress: - enabled: true - annotations: - nginx.ingress.kubernetes.io/proxy-body-size: "0" - path: / - hosts: - - name: test.molgenis.org - tls: [] - -molgenis: - image: - repository: registry.molgenis.org - name: molgenis/molgenis-app - tag: 7.0.0-SNAPSHOT - pullPolicy: Always - adminPassword: admin - javaOpts: "-Xmx1g -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled" - resources: - limits: - cpu: 1 - memory: 1250Mi - requests: - cpu: 200m - memory: 1Gi - -postgres: - image: - repository: postgres - tag: 9.6-alpine - pullPolicy: IfNotPresent - user: molgenis - password: molgenis - db: molgenis - resources: - limits: - cpu: 1 - memory: 250Mi - requests: - cpu: 100m - memory: 250Mi - -elasticsearch: - image: - repository: docker.elastic.co/elasticsearch/elasticsearch - tag: 5.5.3 - pullPolicy: IfNotPresent - javaOpts: "-Xms512m -Xmx512m" - clusterName: molgenis - resources: - limits: - cpu: 1 - memory: 1500Mi - requests: - cpu: 100m - memory: 1Gi - -opencpu: - image: - repository: molgenis/opencpu - tag: latest - pullPolicy: Always - resources: - limits: - cpu: 1 - memory: 512Mi - requests: - cpu: 100m - memory: 256Mi - -nodeSelector: {} - -tolerations: [] - -affinity: {} diff --git a/molgenis/Chart.yaml b/molgenis/Chart.yaml index d72e338..c984e94 100644 --- a/molgenis/Chart.yaml +++ b/molgenis/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 appVersion: "1.0" description: MOLGENIS - helm stack (in BETA) -name: molgenis-beta -version: 0.3.0 +name: molgenis +version: 0.4.0 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/molgenis/catalogIcon-molgenis.svg \ No newline at end of file diff --git a/molgenis/README.md b/molgenis/README.md index 03e8b2e..c28703a 100644 --- a/molgenis/README.md +++ b/molgenis/README.md @@ -21,6 +21,19 @@ The three properties you need to specify are: Besides determining which image you want to pull, you also have to set an administrator password. You can do this by specifying the following property. - ```molgenis.adminPassword``` +### Firewall +Is defined at service level you can specify this attribute in the values: + +- ```molgenis.firewall.enabled``` default 'false' + +If set to 'true' the following options are available. One of the options below has to be set. + +- ```molgenis.firewall.umcg.enabled``` default 'false' +- ```molgenis.firewall.cluster.enabled``` default 'false' + +UMCG = only available within the UMCG. +Cluster = only available within the GCC cluster environment. + ## Services When you start MOLGENIS you need: - an elasticsearch instance (5.5.6) @@ -82,15 +95,16 @@ Select the resources you need dependant on the customer you need to serve. ## Persistence You can enable persistence on your MOLGENIS stack by specifying the following property. -- ```persistence.enabled``` +- ```persistence.enabled``` default 'true' You can also choose to retain the volume of the NFS. -- ```persistence.retain``` +- ```persistence.retain``` default 'false' The size and claim name can be specified per service. There are now two services that can be persist. - MOLGENIS - ElasticSearch +- PostgreSQL **(optional)** MOLGENIS persistent properties. - ```molgenis.persistence.claim``` @@ -100,6 +114,9 @@ ElasticSearch persistent properties. - ```elasticsearch.persistence.claim``` - ```elasticsearch.persistence.size``` +PostgreSQL persistent properties. +- ```postgres.persistence.claim``` +- ```postgres.persistence.size``` ### Resolve you persistent volume You do not know which volume is attached to your MOLGENIS instance. You can resolve this by executing: @@ -116,7 +133,4 @@ You can now view the persistent volume claims and the attached volumes. | pvc-3984723d-220f-14e8-a98a-skjhf88823kk | 30G | RWO | | Delete | Bound | molgenis-test/molgenis-nfs-claim | nfs-provisioner | | | 33d | You see the ```molgenis-test/molgenis-nfs-claim``` is bound to the volume: ```pvc-3984723d-220f-14e8-a98a-skjhf88823kk```. -When you want to view the data in the this volume you can go to the nfs-provisioning pod and execute the shell. Go to the directory ```export``` and lookup the directory ```pvc-3984723d-220f-14e8-a98a-skjhf88823kk```. - -## Firewall -Is defined at cluster level. This chart does not facilitate firewall configuration. +When you want to view the data in the this volume you can go to the nfs-provisioning pod and execute the shell. Go to the directory ```export``` and lookup the directory ```pvc-3984723d-220f-14e8-a98a-skjhf88823kk```. \ No newline at end of file diff --git a/molgenis/questions.yml b/molgenis/questions.yml index 69c106a..14665fd 100644 --- a/molgenis/questions.yml +++ b/molgenis/questions.yml @@ -8,7 +8,7 @@ questions: description: "Hostname for your stack" type: hostname required: true - group: "Load Balancing" + group: "Load balancing" - variable: molgenis.image.repository label: Registry default: "registry.hub.docker.com" @@ -33,6 +33,25 @@ questions: type: password required: true group: "Provisioning" +- variable: service.firewall.enabled + label: Firewall enabled + default: false + description: "Firewall enabled (can be cluster or UMCG scoped)" + type: boolean + required: true + group: "Provisioning" + show_subquestion_if: true + subquestions: + - variable: service.firewall.umcg.enabled + default: false + description: "Firewall within the UMCG environment" + type: boolean + label: Firewall UMCG enabled + - variable: service.firewall.cluster.enabled + default: false + description: "Firewall within the cluster environment" + type: boolean + label: Firewall cluster enabled - variable: molgenis.services.opencpu.host label: OpenCPU cluster default: "localhost" @@ -40,34 +59,43 @@ questions: type: string required: true group: "Services" -- variable: molgenis.services.postgres.host - label: Postgres cluster location - default: "postgresql.molgenis-postgresql.svc" - description: "Set the location of the postgres cluster" - type: string - required: true - group: "Services" -- variable: molgenis.services.postgres.scheme - label: Database scheme - default: "molgenis" - description: "Set the database scheme" - type: string - required: true - group: "Services" -- variable: molgenis.services.postgres.user - label: Database username - default: "molgenis" - description: "Set user of the database scheme" - type: string - required: true - group: "Services" -- variable: molgenis.services.postgres.password - label: Database password - default: "molgenis" - description: "Set the password of the database scheme" - type: string +- variable: molgenis.services.postgres.embedded + label: Postgres embedded + default: false + description: "Do you want an embedded postgres" + type: boolean required: true group: "Services" + show_subquestion_if: false + subquestions: + - variable: molgenis.services.postgres.host + label: Postgres cluster location + default: "" + description: "Set the location of the postgres cluster. This can be localhost when the postgres is enabled else you need to specify a cluster location if you do not want a embedded postgres instance)" + type: string + required: true + group: "Services" + - variable: molgenis.services.postgres.scheme + label: Database scheme + default: "molgenis" + description: "Set the database scheme" + type: string + required: true + group: "Services" + - variable: molgenis.services.postgres.user + label: Database username + default: "molgenis" + description: "Set user of the database scheme" + type: string + required: true + group: "Services" + - variable: molgenis.services.postgres.password + label: Database password + default: "molgenis" + description: "Set the password of the database scheme" + type: string + required: true + group: "Services" - variable: molgenis.resources.limits.memory label: Container memory limit default: 1250Mi @@ -98,7 +126,7 @@ questions: - "2g" group: "Resources" - variable: persistence.enabled - default: false + default: true description: "Do you want to use persistence" type: boolean required: true @@ -112,20 +140,29 @@ questions: type: boolean label: Retain volume - variable: molgenis.persistence.size - default: "30Gi" + default: "5Gi" description: "Size of MOLGENIS filestore (PostgreSQL and ElasticSearch excluded)" type: enum options: - - "30Gi" - - "50Gi" - - "100Gi" + - "5Gi" + - "10Gi" + - "20Gi" label: Size MOLGENIS filestore - variable: elasticsearch.persistence.size - default: "50Gi" + default: "5Gi" description: "Size of ElasticSearch data (directory that is persist: /usr/share/elasticsearch/data)" type: enum options: + - "5Gi" + - "10Gi" - "50Gi" - - "100Gi" - - "200Gi" - label: Size for ElasticSearch data \ No newline at end of file + label: Size for ElasticSearch data + - variable: postgres.persistence.size + default: "5Gi" + description: "Size of PostgreSQL data (directory that is persist: /var/lib/postgresql/data/pgdata)" + type: enum + options: + - "5Gi" + - "10Gi" + - "50Gi" + label: Size for PostgreSQL data \ No newline at end of file diff --git a/molgenis/templates/deployment.yaml b/molgenis/templates/deployment.yaml index b40a284..511fa7e 100644 --- a/molgenis/templates/deployment.yaml +++ b/molgenis/templates/deployment.yaml @@ -97,11 +97,31 @@ spec: - name: elasticsearch-nfs mountPath: /usr/share/elasticsearch/data {{- end }} - resources: {{ toYaml .resources | indent 12 }} {{- end }} + - name: postgres + {{- with .Values.postgres }} + image: "{{ .image.repository }}:{{ .image.tag }}" + imagePullPolicy: {{ .image.pullPolicy }} + env: + - name: POSTGRES_USER + value: {{ $.Values.molgenis.services.postgres.user }} + - name: POSTGRES_PASSWORD + value: {{ $.Values.molgenis.services.postgres.password }} + - name: POSTGRES_DB + value: {{ $.Values.molgenis.services.postgres.scheme }} + ports: + - containerPort: 5432 + resources: +{{ toYaml .resources | indent 12 }} + volumeMounts: + - name: postgres-nfs + mountPath: /var/lib/postgresql/data + {{- end }} + + {{- if .Values.persistence.enabled }} volumes: - name: molgenis-nfs @@ -110,6 +130,9 @@ spec: - name: elasticsearch-nfs persistentVolumeClaim: claimName: {{ .Values.elasticsearch.persistence.claim }} + - name: postgres-nfs + persistentVolumeClaim: + claimName: {{ .Values.postgres.persistence.claim }} {{- end }} {{- with .Values.nodeSelector }} diff --git a/molgenis/templates/ingress.yaml b/molgenis/templates/ingress.yaml index 26c3c76..2434a42 100644 --- a/molgenis/templates/ingress.yaml +++ b/molgenis/templates/ingress.yaml @@ -4,7 +4,7 @@ apiVersion: extensions/v1beta1 kind: Ingress metadata: - name: {{ $fullName }} + name: "{{ $.Release.Name }}-ingress" labels: app: {{ template "molgenis.name" . }} chart: {{ template "molgenis.chart" . }} @@ -33,6 +33,6 @@ spec: - path: {{ $ingressPath }} backend: serviceName: {{ $fullName }} - servicePort: 8080 + servicePort: {{ $.Values.service.port }} {{- end }} {{- end }} diff --git a/molgenis/templates/persistence/postgresPVC.yaml b/molgenis/templates/persistence/postgresPVC.yaml new file mode 100644 index 0000000..ff6348c --- /dev/null +++ b/molgenis/templates/persistence/postgresPVC.yaml @@ -0,0 +1,19 @@ +{{- if .Values.molgenis.services.postgres.embedded -}} +apiVersion: extensions/v1beta1 +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ .Values.postgres.persistence.claim }} + annotations: + {{- if .Values.persistence.retain }} + volume.beta.kubernetes.io/storage-class: "nfs-provisioner-retain" + {{- else }} + volume.beta.kubernetes.io/storage-class: "nfs-provisioner" + {{- end }} +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: {{ .Values.postgres.persistence.size }} +{{- end }} \ No newline at end of file diff --git a/molgenis/templates/service.yaml b/molgenis/templates/service.yaml index 26d1322..5596315 100644 --- a/molgenis/templates/service.yaml +++ b/molgenis/templates/service.yaml @@ -9,6 +9,19 @@ metadata: heritage: {{ .Release.Service }} spec: type: {{ .Values.service.type }} +{{- if .Values.service.firewall.enabled }} + loadBalancerSourceRanges: +{{- if .Values.service.firewall.umcg.enabled }} + {{- range $index, $rule := .Values.service.firewall.umcg.rules }} + - {{ $rule }} + {{- end }} +{{- if .Values.service.firewall.cluster.enabled }} + {{- range $index, $rule := .Values.service.firewall.cluster.rules }} + - {{ $rule }} + {{- end }} +{{- end }} +{{- end }} +{{- end }} ports: - name: molgenis port: {{ .Values.service.port }} diff --git a/molgenis/values.yaml b/molgenis/values.yaml index 44b9f27..b45976d 100644 --- a/molgenis/values.yaml +++ b/molgenis/values.yaml @@ -4,6 +4,16 @@ replicaCount: 1 service: type: LoadBalancer + firewall: + enabled: false + umcg: + enabled: false + rules: + - 127.0.0.1/32 + cluster: + enabled: false + rules: + - 127.0.0.1/32 port: 8080 ingress: @@ -33,7 +43,7 @@ molgenis: memory: 1250Mi persistence: claim: molgenis-nfs-claim - size: 30Gi + size: 5Gi services: opencpu: host: localhost @@ -41,6 +51,7 @@ molgenis: transportAddresses: localhost:9300 clusterName: molgenis postgres: + embedded: false host: localhost scheme: molgenis user: molgenis @@ -62,10 +73,26 @@ elasticsearch: memory: 1Gi persistence: claim: elasticsearch-nfs-claim - size: 50Gi + size: 5Gi + +postgres: + image: + repository: postgres + tag: 9.6-alpine + pullPolicy: IfNotPresent + resources: + limits: + cpu: 1 + memory: 250Mi + requests: + cpu: 100m + memory: 250Mi + persistence: + claim: postgres-nfs-claim + size: 5Gi persistence: - enabled: false + enabled: true retain: false nodeSelector: { From d4d9d5931dcf3dfc6476902b435e3b91d97b6832 Mon Sep 17 00:00:00 2001 From: sido Date: Wed, 26 Sep 2018 16:09:20 +0200 Subject: [PATCH 05/14] added embedded containers --- molgenis/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/molgenis/README.md b/molgenis/README.md index c28703a..b45a03d 100644 --- a/molgenis/README.md +++ b/molgenis/README.md @@ -5,6 +5,8 @@ This chart is used for acceptance and production use cases. This chart spins up a MOLGENIS instance with HTTPD. The created containers are: - MOLGENIS +- ElasticSearch +- PostgreSQL **(optional)** ## Provisioning You can choose from which registry you want to pull. There are 2 registries: From 039c9993f6772888b6f05088a6a7711314a286bd Mon Sep 17 00:00:00 2001 From: sido Date: Wed, 26 Sep 2018 16:30:33 +0200 Subject: [PATCH 06/14] fix for postgres volume mount, not available when persistence is not enabled --- molgenis/templates/deployment.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/molgenis/templates/deployment.yaml b/molgenis/templates/deployment.yaml index 511fa7e..403af33 100644 --- a/molgenis/templates/deployment.yaml +++ b/molgenis/templates/deployment.yaml @@ -116,9 +116,11 @@ spec: - containerPort: 5432 resources: {{ toYaml .resources | indent 12 }} + {{- if $.Values.persistence.enabled }} volumeMounts: - name: postgres-nfs mountPath: /var/lib/postgresql/data + {{- end }} {{- end }} From 6f995f45bd130f65be1943a5e2fb8e1737ed9659 Mon Sep 17 00:00:00 2001 From: sido Date: Wed, 26 Sep 2018 16:52:06 +0200 Subject: [PATCH 07/14] updated postgres instances and firewall configuration --- molgenis/questions.yml | 19 +++++++++---------- .../templates/persistence/postgresPVC.yaml | 2 +- molgenis/templates/service.yaml | 5 ++--- molgenis/values.yaml | 3 +-- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/molgenis/questions.yml b/molgenis/questions.yml index 14665fd..f62f9a7 100644 --- a/molgenis/questions.yml +++ b/molgenis/questions.yml @@ -42,16 +42,15 @@ questions: group: "Provisioning" show_subquestion_if: true subquestions: - - variable: service.firewall.umcg.enabled - default: false - description: "Firewall within the UMCG environment" - type: boolean - label: Firewall UMCG enabled - - variable: service.firewall.cluster.enabled - default: false - description: "Firewall within the cluster environment" - type: boolean - label: Firewall cluster enabled + - variable: service.firewall.kind + default: "umcg" + description: "Firewall kind. This can be 'umcg' or 'cluster' environment" + type: enum + required: true + options: + - umcg + - cluster + label: Firewall kind - variable: molgenis.services.opencpu.host label: OpenCPU cluster default: "localhost" diff --git a/molgenis/templates/persistence/postgresPVC.yaml b/molgenis/templates/persistence/postgresPVC.yaml index ff6348c..098d806 100644 --- a/molgenis/templates/persistence/postgresPVC.yaml +++ b/molgenis/templates/persistence/postgresPVC.yaml @@ -1,4 +1,4 @@ -{{- if .Values.molgenis.services.postgres.embedded -}} +{{- if (.Values.molgenis.services.postgres.embedded) and (.Values.persistence.enabled) }} apiVersion: extensions/v1beta1 kind: PersistentVolumeClaim apiVersion: v1 diff --git a/molgenis/templates/service.yaml b/molgenis/templates/service.yaml index 5596315..f9b9d85 100644 --- a/molgenis/templates/service.yaml +++ b/molgenis/templates/service.yaml @@ -11,16 +11,15 @@ spec: type: {{ .Values.service.type }} {{- if .Values.service.firewall.enabled }} loadBalancerSourceRanges: -{{- if .Values.service.firewall.umcg.enabled }} +{{- if .Values.service.firewall.kind eq "umcg" }} {{- range $index, $rule := .Values.service.firewall.umcg.rules }} - {{ $rule }} {{- end }} -{{- if .Values.service.firewall.cluster.enabled }} +{{- else }} {{- range $index, $rule := .Values.service.firewall.cluster.rules }} - {{ $rule }} {{- end }} {{- end }} -{{- end }} {{- end }} ports: - name: molgenis diff --git a/molgenis/values.yaml b/molgenis/values.yaml index b45976d..c9fa30c 100644 --- a/molgenis/values.yaml +++ b/molgenis/values.yaml @@ -6,12 +6,11 @@ service: type: LoadBalancer firewall: enabled: false + kind: "umcg" umcg: - enabled: false rules: - 127.0.0.1/32 cluster: - enabled: false rules: - 127.0.0.1/32 port: 8080 From 74a87892fbd1303324fb0b696ad376951632f521 Mon Sep 17 00:00:00 2001 From: sido Date: Wed, 26 Sep 2018 17:18:33 +0200 Subject: [PATCH 08/14] bumped patch version --- molgenis/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/molgenis/Chart.yaml b/molgenis/Chart.yaml index c984e94..6bde3df 100644 --- a/molgenis/Chart.yaml +++ b/molgenis/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.0" description: MOLGENIS - helm stack (in BETA) name: molgenis -version: 0.4.0 +version: 0.4.1 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/molgenis/catalogIcon-molgenis.svg \ No newline at end of file From b201117f9ae4c01b5fdc5aface27b9dac150002e Mon Sep 17 00:00:00 2001 From: sido Date: Wed, 26 Sep 2018 17:27:45 +0200 Subject: [PATCH 09/14] updated pvc initialization --- molgenis/templates/persistence/postgresPVC.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/molgenis/templates/persistence/postgresPVC.yaml b/molgenis/templates/persistence/postgresPVC.yaml index 098d806..8c404d9 100644 --- a/molgenis/templates/persistence/postgresPVC.yaml +++ b/molgenis/templates/persistence/postgresPVC.yaml @@ -1,4 +1,4 @@ -{{- if (.Values.molgenis.services.postgres.embedded) and (.Values.persistence.enabled) }} +{{- if .Values.molgenis.services.postgres.embedded and .Values.persistence.enabled }} apiVersion: extensions/v1beta1 kind: PersistentVolumeClaim apiVersion: v1 From aaad66b40fb9e1ef614c056fa4cf9e633661fb69 Mon Sep 17 00:00:00 2001 From: sido Date: Wed, 26 Sep 2018 17:39:47 +0200 Subject: [PATCH 10/14] updated pvc creation of postgres --- molgenis/Chart.yaml | 2 +- molgenis/templates/persistence/postgresPVC.yaml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/molgenis/Chart.yaml b/molgenis/Chart.yaml index 6bde3df..76fd289 100644 --- a/molgenis/Chart.yaml +++ b/molgenis/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.0" description: MOLGENIS - helm stack (in BETA) name: molgenis -version: 0.4.1 +version: 0.4.2 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/molgenis/catalogIcon-molgenis.svg \ No newline at end of file diff --git a/molgenis/templates/persistence/postgresPVC.yaml b/molgenis/templates/persistence/postgresPVC.yaml index 8c404d9..4e0cfcc 100644 --- a/molgenis/templates/persistence/postgresPVC.yaml +++ b/molgenis/templates/persistence/postgresPVC.yaml @@ -1,4 +1,5 @@ -{{- if .Values.molgenis.services.postgres.embedded and .Values.persistence.enabled }} +{{- if .Values.molgenis.services.postgres.embedded }} +{{- if .Values.persistence.enabled }} apiVersion: extensions/v1beta1 kind: PersistentVolumeClaim apiVersion: v1 @@ -16,4 +17,5 @@ spec: resources: requests: storage: {{ .Values.postgres.persistence.size }} +{{- end }} {{- end }} \ No newline at end of file From 0a328dd9d3206d2eb9d8f44387c87bc5a3d5ad82 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Thu, 27 Sep 2018 11:01:41 +0200 Subject: [PATCH 11/14] chore(molgenis-jenkins): Upgrade jenkins to 0.18.0 --- molgenis-jenkins/charts/jenkins-0.16.4.tgz | Bin 13757 -> 0 bytes molgenis-jenkins/charts/jenkins-0.18.0.tgz | Bin 0 -> 15194 bytes molgenis-jenkins/requirements.lock | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 molgenis-jenkins/charts/jenkins-0.16.4.tgz create mode 100644 molgenis-jenkins/charts/jenkins-0.18.0.tgz diff --git a/molgenis-jenkins/charts/jenkins-0.16.4.tgz b/molgenis-jenkins/charts/jenkins-0.16.4.tgz deleted file mode 100644 index 0dbccfc1a6289893c1653fb938e82a412437d31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13757 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 diff --git a/molgenis-jenkins/charts/jenkins-0.18.0.tgz b/molgenis-jenkins/charts/jenkins-0.18.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..148c447ab2cd7c40c860274560f5d629aabd4507 GIT binary patch literal 15194 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 UzSZ;p1^@v6|8ZX4QvfId0NByAO8@`> literal 0 HcmV?d00001 diff --git a/molgenis-jenkins/requirements.lock b/molgenis-jenkins/requirements.lock index 942a4a7..b56a000 100644 --- a/molgenis-jenkins/requirements.lock +++ b/molgenis-jenkins/requirements.lock @@ -1,6 +1,6 @@ dependencies: - name: jenkins repository: https://kubernetes-charts.storage.googleapis.com/ - version: 0.16.4 + version: 0.18.0 digest: sha256:39f694515489598fa545c9a5a4f1347749e8f2a8d7fae6ccae3e2acae1564685 -generated: 2018-06-27T14:36:23.172954738+02:00 +generated: 2018-09-27T11:00:15.795416984+02:00 From 76b39cc236ee46afcd7466d17f1dd30ca4c5ebfe Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Thu, 27 Sep 2018 11:07:13 +0200 Subject: [PATCH 12/14] chore(molgenis-jenkins): Upgrade plugins --- molgenis-jenkins/values.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/molgenis-jenkins/values.yaml b/molgenis-jenkins/values.yaml index 208213a..d874023 100644 --- a/molgenis-jenkins/values.yaml +++ b/molgenis-jenkins/values.yaml @@ -3,17 +3,17 @@ jenkins: HostName: jenkins.molgenis.org ServiceType: ClusterIP InstallPlugins: - - kubernetes:1.12.0 + - kubernetes:1.12.6 - workflow-aggregator:2.5 - - workflow-job:2.21 + - workflow-job:2.25 - credentials-binding:1.16 - git:3.9.1 - github-branch-source:2.3.6 - - kubernetes-credentials-provider:0.9 - - blueocean:1.6.2 + - kubernetes-credentials-provider:0.10 + - blueocean:1.8.3 - github-oauth:0.29 - gogs-webhook:1.0.14 - - github-scm-trait-commit-skip:0.1.1 + - github-scm-trait-commit-skip:0.1.1 Security: UseGitHub: false GitHub: From 3ae115c429ead4efcde5149dc52cc12a4d20f794 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Thu, 27 Sep 2018 11:26:25 +0200 Subject: [PATCH 13/14] chore(molgenis-jenkins): Upgrade chart version --- molgenis-jenkins/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/molgenis-jenkins/Chart.yaml b/molgenis-jenkins/Chart.yaml index 353c25e..855c692 100755 --- a/molgenis-jenkins/Chart.yaml +++ b/molgenis-jenkins/Chart.yaml @@ -1,6 +1,6 @@ name: molgenis-jenkins home: https://jenkins.io/ -version: 0.7.0 +version: 0.7.1 appVersion: 2.121 description: Molgenis installation for the jenkins chart. sources: From 525847fdf5b785e36b0ecf641a2f857bdf821ed0 Mon Sep 17 00:00:00 2001 From: Fleur Kelpin Date: Thu, 27 Sep 2018 11:46:11 +0200 Subject: [PATCH 14/14] fix(molgenis): Recreate pods upon upgrade The default upgrade strategy would cause multiple instances of MOLGENIS to run on the same database. Use Recreate strategy instead. Fixes #75 --- molgenis/Chart.yaml | 2 +- molgenis/templates/deployment.yaml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/molgenis/Chart.yaml b/molgenis/Chart.yaml index 76fd289..cde7e05 100644 --- a/molgenis/Chart.yaml +++ b/molgenis/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: "1.0" description: MOLGENIS - helm stack (in BETA) name: molgenis -version: 0.4.2 +version: 0.4.3 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/molgenis/catalogIcon-molgenis.svg \ No newline at end of file diff --git a/molgenis/templates/deployment.yaml b/molgenis/templates/deployment.yaml index 403af33..948f986 100644 --- a/molgenis/templates/deployment.yaml +++ b/molgenis/templates/deployment.yaml @@ -17,6 +17,8 @@ spec: matchLabels: app: {{ template "molgenis.name" . }} release: {{ .Release.Name }} + strategy: + type: Recreate template: metadata: labels: