diff --git a/README.md b/README.md index be77f7e..f76aa99 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Third party - Helm templates -These are the Helm templates that we will use for MOLGENIS operations. +These are the Helm templates that we will use for third-party operations. ## Kubernetes When you want to use kubernetes there are some commands you need to know. Also running on a remote cluster will be a must have to control your whole DTAP. diff --git a/charts/opal/Chart.yaml b/charts/opal/Chart.yaml deleted file mode 100644 index 70600cf..0000000 --- a/charts/opal/Chart.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -appVersion: "1.0" -description: Opal - helm stack (in BETA) -name: opal -version: 0.0.1 -sources: -- https://git.webhosting.rug.nl/molgenis/thirdparty-ops-docker-helm.git -icon: https://git.webhosting.rug.nl/molgenis/thirdparty-ops-docker-helm/ -home: https://obiba.org -maintainers: -- name: sidohaakma -- name: fdlk diff --git a/charts/opal/README.md b/charts/opal/README.md deleted file mode 100644 index 785cd23..0000000 --- a/charts/opal/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Opal -This chart is used for acceptance and production use cases. - -## Containers -The created containers are: - -- Opal -- MongoDB -- SQL - -## Provisioning -You can choose from which registry you want to pull. There is 1 one registry: -- https://hub.docker.com diff --git a/charts/opal/charts/mysql-0.10.2.tgz b/charts/opal/charts/mysql-0.10.2.tgz deleted file mode 100644 index 110868e..0000000 Binary files a/charts/opal/charts/mysql-0.10.2.tgz and /dev/null differ diff --git a/charts/opal/questions.yml b/charts/opal/questions.yml deleted file mode 100644 index bd1513e..0000000 --- a/charts/opal/questions.yml +++ /dev/null @@ -1,35 +0,0 @@ - -categories: -- OPAL -questions: -- variable: opal.environment - label: Environment - default: "test" - description: "Environment of Opal instance" - type: enum - options: - - development - - test - - acceptance - - production - required: true - group: "Provisioning" -- variable: molgenis.type.kind - label: Type - default: "medium" - description: "Type of MOLGENIS resources" - type: enum - options: - - small - - medium - - large - required: true - group: "Provisioning" -- variable: molgenis.image.tag - label: Version - default: "stable" - description: "Select a MOLGENIS version (check the registry.molgenis.org or hub.docker.com for released tags)" - type: string - required: true - group: "Provisioning" - diff --git a/charts/opal/requirements.lock b/charts/opal/requirements.lock deleted file mode 100644 index abe3070..0000000 --- a/charts/opal/requirements.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: mysql - repository: https://kubernetes-charts.storage.googleapis.com/ - version: 0.10.2 -digest: sha256:77710fe100fb005d51e006d2e19643f9af2b1aadd1c2249c67ffc5be6a095f30 -generated: 2018-11-06T15:57:20.530933765Z diff --git a/charts/opal/requirements.yaml b/charts/opal/requirements.yaml deleted file mode 100644 index 74d6955..0000000 --- a/charts/opal/requirements.yaml +++ /dev/null @@ -1,4 +0,0 @@ -dependencies: - - name: mysql - version: ^0.10.2 - repository: https://kubernetes-charts.storage.googleapis.com/ \ No newline at end of file diff --git a/charts/opal/templates/NOTES.txt b/charts/opal/templates/NOTES.txt deleted file mode 100644 index b5a4d24..0000000 --- a/charts/opal/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/charts/opal/templates/_helpers.tpl b/charts/opal/templates/_helpers.tpl deleted file mode 100644 index 68fbb02..0000000 --- a/charts/opal/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "opal.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 "opal.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 "opal.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/charts/opal/templates/deployment.yaml b/charts/opal/templates/deployment.yaml deleted file mode 100644 index 06f667b..0000000 --- a/charts/opal/templates/deployment.yaml +++ /dev/null @@ -1,83 +0,0 @@ -apiVersion: apps/v1beta2 -kind: Deployment -metadata: - {{- with .Values.ingress.annotations }} - annotations: -{{ toYaml . | indent 4 }} - {{- end }} - name: {{ template "opal.fullname" . }} - labels: - app: {{ template "opal.name" . }} - chart: {{ template "opal.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ template "opal.name" . }} - release: {{ .Release.Name }} - strategy: - type: Recreate - template: - metadata: - labels: - app: {{ template "opal.name" . }} - release: {{ .Release.Name }} - spec: - containers: - - name: opal - {{- with .Values.opal }} - image: {{ .image.repository }}/{{ .image.name }}:{{ .image.tag }} - imagePullPolicy: {{ .image.pullPolicy }} - env: - - name: OPAL_ADMINISTRATOR_PASSWORD - value: "{{ .adminPassword }}" - ports: - - containerPort: {{ $.Values.service.port }} - {{- if $.Values.persistence.enabled }} - volumeMounts: - - name: opal-nfs - mountPath: /home/opal - {{- end }} - livenessProbe: - httpGet: - path: / - port: {{ $.Values.service.port }} - initialDelaySeconds: 60 - periodSeconds: 5 - failureThreshold: 25 - successThreshold: 1 - resources: -{{ toYaml .resources | indent 12 }} - {{- end }} - - name: rserver - {{- with .Values.rserver }} - image: {{ .image.repository }}/{{ .image.name }}:{{ .image.tag }} - imagePullPolicy: {{ .image.pullPolicy }} - ports: - - containerPort: 6612 - - containerPort: 6311 - resources: -{{ toYaml .resources | indent 12 }} - {{- end }} - -{{- if .Values.persistence.enabled }} - volumes: - - name: opal-nfs - persistentVolumeClaim: - claimName: {{ .Release.Name }}-{{ .Values.opal.persistence.claim }} -{{- 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/charts/opal/templates/ingress.yaml b/charts/opal/templates/ingress.yaml deleted file mode 100644 index 1caade6..0000000 --- a/charts/opal/templates/ingress.yaml +++ /dev/null @@ -1,40 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "opal.fullname" . -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: "{{ $.Release.Name }}-ingress" - labels: - app: {{ $.Values.service.name }} - chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}" - 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: - {{- if .Values.ingress.hosts }} - {{- range $host := .Values.ingress.hosts }} - - host: {{ $host }} - http: - paths: - - path: {{ $ingressPath }} - backend: - serviceName: "{{ $.Release.Name }}-{{ $.Values.service.name }}" - servicePort: {{ $.Values.service.port }} - {{- end }} - {{- end }} -{{- end }} diff --git a/charts/opal/templates/opal-pvc.yaml b/charts/opal/templates/opal-pvc.yaml deleted file mode 100644 index f2efecd..0000000 --- a/charts/opal/templates/opal-pvc.yaml +++ /dev/null @@ -1,19 +0,0 @@ -{{- if .Values.persistence.enabled -}} -apiVersion: extensions/v1beta1 -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ .Release.Name }}-{{ .Values.opal.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.opal.persistence.size }} -{{- end }} \ No newline at end of file diff --git a/charts/opal/templates/service.yaml b/charts/opal/templates/service.yaml deleted file mode 100644 index c2b0e8d..0000000 --- a/charts/opal/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: "{{ .Release.Name }}-{{ .Values.service.name }}" - labels: - app: "{{ .Release.Name }}-{{ .Values.service.name }}" - chart: {{ template "opal.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - type: {{ .Values.service.type }} - ports: - - name: "{{ .Release.Name }}-{{ .Values.service.name }}" - port: {{ .Values.service.port }} - selector: - app: {{ template "opal.name" . }} - release: {{ .Release.Name }} diff --git a/charts/opal/values.yaml b/charts/opal/values.yaml deleted file mode 100644 index 083d71e..0000000 --- a/charts/opal/values.yaml +++ /dev/null @@ -1,84 +0,0 @@ -# Default values for molgenis. - -replicaCount: 1 - -service: - name: opal - type: ClusterIP - port: 8080 - -ingress: - enabled: true - annotations: - nginx.ingress.kubernetes.io/proxy-body-size: "0" - hosts: - - opal.dev.molgenis.org - path: / - tls: [] - -opal: - advanced: false - javaOpts: - maxHeapSpace: "4g" - resources: - limits: - cpu: 1 - memory: 2Gi - requests: - cpu: 200m - memory: 4Gi - persistence: - size: 10Gi - image: - repository: registry.hub.docker.com - name: obiba/opal - tag: latest - pullPolicy: Always - adminPassword: ?01LifeCycle! - persistence: - claim: pvc-opal - size: 10Gi - containerPorts: - - 8080 - -rserver: - image: - repository: registry.hub.docker.com - name: obiba/opal-rserver - tag: latest - pullPolicy: IfNotPresent - resources: - limits: - cpu: 1 - memory: 2Gi - containerPorts: - - 6612 - - 6311 - -mysql: - persistence: - enabled: false - mysqlRootPassword: ParaD0xa - mysqlUser: opal - mysqlPassword: ?opal01! - initializationFiles: - opal-ids.sql: |- - CREATE DATABASE IF NOT EXISTS opal_ids DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; - GRANT ALL PRIVILEGES ON opal_ids.* TO "opal"@"%" IDENTIFIED BY "?opal01!"; - FLUSH PRIVILEGES; - opal-data.sql: |- - CREATE DATABASE IF NOT EXISTS opal_data DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; - GRANT ALL PRIVILEGES ON opal_data.* TO "opal"@"%" IDENTIFIED BY "?opal01!"; - FLUSH PRIVILEGES; - -persistence: - enabled: false - retain: false - -nodeSelector: { - deployPod: "true" -} - -tolerations: [] - -affinity: {} diff --git a/charts/rstudio/.helmignore b/charts/rstudio/.helmignore deleted file mode 100644 index f0c1319..0000000 --- a/charts/rstudio/.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/charts/rstudio/Chart.yaml b/charts/rstudio/Chart.yaml deleted file mode 100644 index 070fffb..0000000 --- a/charts/rstudio/Chart.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -appVersion: "1.0" -description: RStudio stack -name: rstudio -version: 0.0.1 -sources: -- https://git.webhosting.rug.nl/molgenis/thirdparty-ops-docker-helm.git -icon: https://raw.git.webhosting.rug.nl/molgenis/thirdparty-ops-docker-helm/master/charts/rstudio/catalog-molgenis-rstudio.svg -home: https://www.rocker.org -maintainers: -- name: sidohaakma -- name: fdlk diff --git a/charts/rstudio/README.md b/charts/rstudio/README.md deleted file mode 100644 index f03a78d..0000000 --- a/charts/rstudio/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# MOLGENIS - RStudio Helm Chart - -An RStudio instance to support DataSHIELD users in setting up a central analysis server instance. - -## Containers - -This chart will deploy the following container: - -- molgenis-rstudio (with DataSHIELD packages) - -## Provisioning -You can choose for the RStudio image from which repository you want to pull. Experimental builds are pushed to registry.molgenis.org and the stable builds to hub.docker.com. -You need to fill out 2 properties to determine which repository you are going to use. - -- ```rstudio.image.repository``` -- ```rstudio.image.tag``` - -You can do this in the questions in Rancher or in the ```values.yaml```. - -## Development -You can test in install the chart by executing: - -```helm lint .``` - -To test if your helm chart-syntax is right and: - -```helm install . --dry-run --debug``` - -To test if your hem chart works and: - -```helm install .``` - -To deploy it on the cluster. - -```curl -L -u xxxx:xxxx http://registry.molgenis.org/repository/helm/ --upload-file molgenis-x.x.x.tgz``` - -To push it to the registry \ No newline at end of file diff --git a/charts/rstudio/questions.yml b/charts/rstudio/questions.yml deleted file mode 100644 index 6190e89..0000000 --- a/charts/rstudio/questions.yml +++ /dev/null @@ -1,31 +0,0 @@ - -categories: -- MOLGENIS -questions: -- variable: rstudio.environment - label: Environment - default: development - type: enum - options: - - development - - test - - acceptence - - production - group: "Provisioning" -- variable: rstudio.image.repository - label: Registry - 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: "Provisioning" -- variable: rstudio.image.tag - label: Version - default: "" - description: "Select a RStudio version (check the registry.molgenis.org or hub.docker.com for released tags)" - type: string - required: true - group: "Provisioning" \ No newline at end of file diff --git a/charts/rstudio/templates/_helpers.tpl b/charts/rstudio/templates/_helpers.tpl deleted file mode 100644 index 99f6c10..0000000 --- a/charts/rstudio/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "rstudio.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 "rstudio.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 "rstudio.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/charts/rstudio/templates/deployment.yaml b/charts/rstudio/templates/deployment.yaml deleted file mode 100644 index 1415c99..0000000 --- a/charts/rstudio/templates/deployment.yaml +++ /dev/null @@ -1,46 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - {{- with .Values.ingress.annotations }} - annotations: -{{ toYaml . | indent 4 }} - {{- end }} - name: {{ template "rstudio.fullname" . }} - labels: - app: {{ template "rstudio.name" . }} - chart: {{ template "rstudio.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ template "rstudio.name" . }} - release: {{ .Release.Name }} - template: - metadata: - labels: - app: {{ template "rstudio.name" . }} - release: {{ .Release.Name }} - spec: - containers: - {{- with .Values.rstudio }} - - name: {{ .name }} - image: "{{ .image.repository }}/{{ .image.name }}:{{ .image.tag }}" - imagePullPolicy: {{ .image.pullPolicy }} - env: - - name: PASSWORD - value: "{{ .adminPassword }}" - ports: - - containerPort: {{ .service.port }} - livenessProbe: - httpGet: - path: / - port: {{ .service.port }} - initialDelaySeconds: 60 - periodSeconds: 5 - failureThreshold: 25 - successThreshold: 1 - {{- end }} - - diff --git a/charts/rstudio/templates/ingress.yaml b/charts/rstudio/templates/ingress.yaml deleted file mode 100644 index 817b4b7..0000000 --- a/charts/rstudio/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: "{{ .Release.Name}}-{{ .Values.rstudio.service.name }}" - 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: "{{ .Release.Name}}-{{ .Values.rstudio.service.name }}" - servicePort: {{ $.Values.rstudio.service.port }} -{{- if .tls }} - tls: - - hosts: - - {{ .name }} - secretName: {{ .tlsSecret }} -{{- end }} ---- -{{- end }} -{{- end }} \ No newline at end of file diff --git a/charts/rstudio/templates/service.yaml b/charts/rstudio/templates/service.yaml deleted file mode 100644 index bcbaaae..0000000 --- a/charts/rstudio/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: "{{ .Release.Name}}-{{ .Values.rstudio.service.name }}" - labels: - app: "{{ .Release.Name}}-{{ .Values.rstudio.service.name }}" - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - type: {{ .Values.rstudio.service.type }} - ports: - - name: "{{ .Release.Name}}-{{ .Values.rstudio.service.name }}" - port: {{ .Values.rstudio.service.port }} - selector: - app: {{ template "rstudio.name" . }} - release: {{ .Release.Name }} diff --git a/charts/rstudio/values.yaml b/charts/rstudio/values.yaml deleted file mode 100644 index 3a5ac94..0000000 --- a/charts/rstudio/values.yaml +++ /dev/null @@ -1,40 +0,0 @@ -# Default values for nexus. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. - -replicaCount: 1 - -environment: production - -rstudio: - name: rstudio - strategy: - type: Recreate - restartPolicy: Always - adminPassword: ?01LifeCycle! - image: - repository: registry.hub.docker.com - name: molgenis/rstudio - tag: beta - pullPolicy: Always - service: - name: rstudio - type: ClusterIP - port: 8787 - -ingress: - enabled: true - annotations: { - kubernetes.io/ingress.class: "nginx", - nginx.ingress.kubernetes.io/proxy-body-size: "0" - } - path: / - hosts: - - name: analysis.dev.molgenis.org - tls: [] - -nodeSelector: {} - -tolerations: [] - -affinity: {}