1
0

15 Commits

12 changed files with 107 additions and 46 deletions

View File

@ -1,5 +1,7 @@
jenkins: jenkins:
Master: Master:
NodeSelector:
deployPod: "true"
HostName: jenkins.molgenis.org HostName: jenkins.molgenis.org
ServiceType: ClusterIP ServiceType: ClusterIP
InstallPlugins: InstallPlugins:
@ -489,7 +491,9 @@ jenkins:
Command: cat Command: cat
WorkingDir: /home/jenkins WorkingDir: /home/jenkins
TTY: true TTY: true
NodeSelector: {} NodeSelector: {
deployPod: "true"
}
node: node:
Label: node-carbon Label: node-carbon
NodeUsageMode: EXCLUSIVE NodeUsageMode: EXCLUSIVE
@ -519,7 +523,9 @@ jenkins:
key: VAULT_ADDR key: VAULT_ADDR
secretName: molgenis-pipeline-vault-secret secretName: molgenis-pipeline-vault-secret
secretKey: addr secretKey: addr
NodeSelector: {} NodeSelector: {
deployPod: "true"
}
molgenis-it: molgenis-it:
InheritFrom: molgenis InheritFrom: molgenis
Label: molgenis-it Label: molgenis-it
@ -581,7 +587,9 @@ jenkins:
limits: limits:
cpu: "1" cpu: "1"
memory: "512Mi" memory: "512Mi"
NodeSelector: {} NodeSelector: {
deployPod: "true"
}
#secret contains configuration for the kubernetes secrets that jenkins can access #secret contains configuration for the kubernetes secrets that jenkins can access
secret: secret:

View File

@ -2,7 +2,7 @@ apiVersion: v1
appVersion: "1.0" appVersion: "1.0"
description: Nexus stack for MOLGENIS description: Nexus stack for MOLGENIS
name: molgenis-nexus name: molgenis-nexus
version: 0.3.0 version: 0.4.2
sources: sources:
- https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm.git - 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-nexus/catalogIcon-molgenis-nexus.svg icon: https://git.webhosting.rug.nl/molgenis/molgenis-ops-docker-helm/raw/master/molgenis-nexus/catalogIcon-molgenis-nexus.svg

View File

@ -6,8 +6,44 @@ NEXUS repository for kubernetes to deploy on a kubernetes cluster with NFS-share
This chart will deploy: This chart will deploy:
- 1 NEXUS-nfs initialization container
We need this container to avoid permission issues on the NEXUS docker
- 1 NEXUS container - 1 NEXUS container
- 1 MOLGENIS-httpd container ()to proxy the registry and docker to one domain) - 1 MOLGENIS-httpd container (to proxy the registry and docker to one domain)
## Backup restore
There are two steps in restoring the NEXUS.
- Database
- Blobstore
### Restore the database
Go to the commandline:
```bash
kubectl get pv
```
```bash
| NAME | CAPACITY | ACCESS | MODES | RECLAIM | POLICY | STATUS | CLAIM | STORAGECLASS | REASON | AGE |
| ---- | -------- | ------ | ----- | ------- | ------ | ------ | ----- | ------------ | ------ | --- |
| pvc-45988f55-900f-11e8-a0b4-005056a51744 | 30G | RWX | | Retain | Bound | molgenis-nexus/molgenis-nfs-claim | nfs-provisioner-retain | | | 33d |
| pvc-3984723d-220f-14e8-a98a-skjhf88823kk | 30G | RWO | | Delete | Bound | molgenis-test/molgenis-nfs-claim | nfs-provisioner | | | 33d |
```
The persistent volume is the one in the molgenis-nexus namespace.
Go to the NFS-provisioner to the path of the persistent volume:
```bash
ls -t --full-time | head -7 | xargs cp ../restore-from-backup/
```
### Restore the blobstore
You can copy the directory ```blobs``` to the target persistent volume ```/ blobs```.
You can now bring the NEXUS back up.
## Installing the Chart ## Installing the Chart

View File

@ -20,6 +20,13 @@ spec:
creationTimestamp: null creationTimestamp: null
spec: spec:
restartPolicy: {{ .Values.nexus.restartPolicy }} restartPolicy: {{ .Values.nexus.restartPolicy }}
initContainers:
- name: nexus-nfs
image: busybox
command: ["sh", "-c", "chown -R 200:200 /nexus-data"]
volumeMounts:
- name: molgenis-nexus-nfs
mountPath: "/nexus-data"
containers: containers:
- name: {{ .Values.nexus.name }} - name: {{ .Values.nexus.name }}
image: "{{ .Values.nexus.image.repository }}:{{ .Values.nexus.image.tag }}" image: "{{ .Values.nexus.image.repository }}:{{ .Values.nexus.image.tag }}"
@ -29,22 +36,22 @@ spec:
- containerPort: {{ .Values.nexus.port.docker }} - containerPort: {{ .Values.nexus.port.docker }}
volumeMounts: volumeMounts:
- name: molgenis-nexus-nfs - name: molgenis-nexus-nfs
mountPath: "/nexus-data" mountPath: /nexus-data
livenessProbe: livenessProbe:
httpGet: httpGet:
path: / path: /
port: {{ .Values.nexus.port.ui }} port: {{ .Values.nexus.port.ui }}
initialDelaySeconds: 90 initialDelaySeconds: 120
periodSeconds: 20 periodSeconds: 20
failureThreshold: 5 failureThreshold: 15
successThreshold: 1 successThreshold: 1
readinessProbe: readinessProbe:
httpGet: httpGet:
path: / path: /
port: {{ .Values.nexus.port.ui }} port: {{ .Values.nexus.port.ui }}
initialDelaySeconds: 90 initialDelaySeconds: 120
periodSeconds: 5 periodSeconds: 20
failureThreshold: 5 failureThreshold: 15
successThreshold: 1 successThreshold: 1
volumes: volumes:

View File

@ -36,17 +36,17 @@ spec:
httpGet: httpGet:
path: / path: /
port: {{ .Values.nexusProxy.port }} port: {{ .Values.nexusProxy.port }}
initialDelaySeconds: 90 initialDelaySeconds: 1500
periodSeconds: 5 periodSeconds: 20
failureThreshold: 5 failureThreshold: 5
successThreshold: 1 successThreshold: 1
readinessProbe: readinessProbe:
httpGet: httpGet:
path: / path: /
port: {{ .Values.nexusProxy.port }} port: {{ .Values.nexusProxy.port }}
initialDelaySeconds: 90 initialDelaySeconds: 150
periodSeconds: 5 periodSeconds: 20
failureThreshold: 5 failureThreshold: 15
successThreshold: 1 successThreshold: 1
{{- with .Values.nodeSelector }} {{- with .Values.nodeSelector }}

View File

@ -5,7 +5,7 @@ kind: Ingress
metadata: metadata:
name: "{{ $.Release.Name }}-ingress" name: "{{ $.Release.Name }}-ingress"
labels: labels:
app: httpd app: {{ $.Values.nexusProxy.name }}
chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}" chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}"
release: "{{ $.Release.Name }}" release: "{{ $.Release.Name }}"
heritage: "{{ $.Release.Service }}" heritage: "{{ $.Release.Service }}"

View File

@ -13,7 +13,7 @@ nexus:
selector: nexus selector: nexus
restartPolicy: Always restartPolicy: Always
image: image:
repository: sonatype/nexus3 repository: molgenis/nexus3
tag: latest tag: latest
pullPolicy: Always pullPolicy: Always
port: port:
@ -32,8 +32,8 @@ nexusProxy:
selector: nexus-proxy selector: nexus-proxy
restartPolicy: Always restartPolicy: Always
image: image:
repository: registry.webhosting.rug.nl/molgenis/httpd repository: molgenis/httpd
tag: lts tag: latest
pullPolicy: Always pullPolicy: Always
port: 80 port: 80
service: service:

View File

@ -31,5 +31,7 @@ spec:
ports: ports:
- containerPort: {{ .service.port }} - containerPort: {{ .service.port }}
{{- end }} {{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}

View File

@ -34,7 +34,9 @@ ingress:
- name: opencpu.molgenis.org - name: opencpu.molgenis.org
tls: [] tls: []
nodeSelector: {} nodeSelector: {
deployPod: "true"
}
tolerations: [] tolerations: []

View File

@ -38,7 +38,7 @@ Parameter | Description | Default
`ui.image.repository` | Vault UI container image repository | `djenriquez/vault-ui` `ui.image.repository` | Vault UI container image repository | `djenriquez/vault-ui`
`ui.image.tag` | Vault UI container image tag | `latest` `ui.image.tag` | Vault UI container image tag | `latest`
`ui.resources` | Vault UI pod resource requests & limits | `{}` `ui.resources` | Vault UI pod resource requests & limits | `{}`
`ui.nodeSelector` | node labels for Vault UI pod assignment | `{}` `ui.nodeSelector` | node labels for Vault UI pod assignment | `{deployPod: "true"}`
`ui.ingress.enabled` | If true, Vault UI Ingress will be created | `true` `ui.ingress.enabled` | If true, Vault UI Ingress will be created | `true`
`ui.ingress.annotations` | Vault UI Ingress annotations | `{}` `ui.ingress.annotations` | Vault UI Ingress annotations | `{}`
`ui.ingress.host` | Vault UI Ingress hostname | `vault.molgenis.org` `ui.ingress.host` | Vault UI Ingress hostname | `vault.molgenis.org`

View File

@ -18,6 +18,10 @@ backupJob:
# schedule gives the cron schedule for the backup job # schedule gives the cron schedule for the backup job
schedule: "0 12 * * 1" schedule: "0 12 * * 1"
vault-operator:
nodeSelector:
deployPod: "true"
### ###
# All of the config variables related to setting up the etcd-operator # All of the config variables related to setting up the etcd-operator
# If you want more information about the variables exposed, please visit: # If you want more information about the variables exposed, please visit:
@ -44,6 +48,8 @@ etcd-operator:
restoreOperator: restoreOperator:
image: image:
tag: v0.9.2 tag: v0.9.2
nodeSelector:
deployPod: "true"
ui: ui:
name: "vault-ui" name: "vault-ui"
@ -73,7 +79,8 @@ ui:
#requests: #requests:
# cpu: 100m # cpu: 100m
# memory: 128Mi # memory: 128Mi
nodeSelector: {} nodeSelector:
deployPod: "true"
vault: vault:
auth: GITHUB auth: GITHUB
url: https://vault.vault-operator:8200 url: https://vault.vault-operator:8200

View File

@ -94,9 +94,8 @@ persistence:
enabled: true enabled: true
retain: false retain: false
nodeSelector: { nodeSelector:
deployPod: "true" deployPod: "true"
}
tolerations: [] tolerations: []