1
0

updated versions

This commit is contained in:
sido 2018-06-25 22:53:22 +02:00
parent 5dcda7ff78
commit 1a7b201aba
39 changed files with 262 additions and 193 deletions

View File

@ -34,19 +34,12 @@ questions:
description: "If undefined or null, uses the default StorageClass. Default to null" description: "If undefined or null, uses the default StorageClass. Default to null"
type: storageclass type: storageclass
label: Default StorageClass for MOLGENIS label: Default StorageClass for MOLGENIS
- variable: ingress.enabled - variable: ingress.hosts[0].name
default: "true"
description: "Expose app using Layer 7 Load Balancer - ingress"
type: boolean
label: Expose app using Layer 7 Load Balancer
show_subquestion_if: true
group: "Services and Load Balancing"
subquestions:
- variable: ingress.hosts[0].name
default: "test.molgenis.org" default: "test.molgenis.org"
description: "Hostname for your stack" description: "Hostname for your stack"
type: hostname type: hostname
required: true required: true
group: "Services and Load Balancing"
label: Hostname label: Hostname
- variable: httpd.hostname - variable: httpd.hostname
default: "test.molgenis.org" default: "test.molgenis.org"

View File

Before

Width:  |  Height:  |  Size: 133 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -0,0 +1,32 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "jenkins.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "jenkins.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "jenkins.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View File

@ -0,0 +1,38 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
name: {{ .Values.jenkins.agent.name }}
labels:
app: {{ .Values.jenkins.agent.name }}
environment: {{ .Values.environment }}
spec:
replicas: {{ .Values.replicaCount}}
strategy:
type: {{ .Values.jenkins.strategy.type }}
selector:
matchLabels:
app: {{ .Values.jenkins.agent.selector }}
template:
metadata:
labels:
app: {{ .Values.jenkins.agent.name }}
creationTimestamp: null
spec:
restartPolicy: {{ .Values.agent.restartPolicy }}
containers:
- name: {{ .Values.jenkins.agent.name }}
image: "{{ .Values.jenkins.agent.image.repository }}:{{ .Values.jenkins.agent.image.tag }}"
imagePullPolicy: {{ .Values.jenkins.agent.image.pullPolicy }}
- name: JENKINS_SLAVE_SSH_PUBKEY
value: {{ .Values.jenkins.agent.ssh.public.key }}
ports:
- containerPort: {{ .Values.jenkins.agent.port }}
volumeMounts:
- mountPath: /var/run/docker.sock
name: jenkins-agent-worker-claim
volumes:
- name: jenkins-agent-worker-claim
persistentVolumeClaim:
claimName: jenkins-agent-worker-claim

View File

@ -0,0 +1,41 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
name: {{ .Values.jenkins.master.name }}
labels:
app: {{ .Values.jenkins.master.name }}
environment: {{ .Values.environment }}
spec:
replicas: {{ .Values.replicaCount}}
strategy:
type: {{ .Values.jenkins.strategy.type }}
selector:
matchLabels:
app: {{ .Values.jenkins.master.selector }}
template:
metadata:
labels:
app: {{ .Values.jenkins.master.name }}
creationTimestamp: null
spec:
restartPolicy: {{ .Values.jenkins.restartPolicy }}
containers:
- name: {{ .Values.jenkins.master.name }}
image: "{{ .Values.jenkins.master.image.repository }}:{{ .Values.jenkins.master.image.tag }}"
imagePullPolicy: {{ .Values.jenkins.master.image.pullPolicy }}
- env:
- name: JENKINS_ADMIN_PASS
- name: JENKINS_ADMIN_USER
ports:
- containerPort: {{ .Values.jenkins.master.port }}
resources: {}
volumeMounts:
- name: jenkins-master-claim
mountPath: /var/jenkins-home
- name: jenkins-master-claim
mountPath: /var/run/docker.sock
volumes:
- name: jenkins-master-claim
persistentVolumeClaim:
claimName: jenkins-master-claim

View File

@ -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 "jenkins.fullname" $ }}
chart: "{{ $.Chart.Name }}-{{ $.Chart.Version }}"
release: "{{ $.Release.Name }}"
heritage: "{{ $.Release.Service }}"
annotations:
{{- if .tls }}
ingress.kubernetes.io/secure-backends: "true"
{{- end }}
{{- range $key, $value := .annotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
spec:
rules:
- host: {{ .name }}
http:
paths:
- path: {{ default "/" .path }}
backend:
serviceName: {{ template "jenkins.fullname" $ }}
servicePort: 80
{{- if .tls }}
tls:
- hosts:
- {{ .name }}
secretName: {{ .tlsSecret }}
{{- end }}
---
{{- end }}
{{- end }}

View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.jenkins.agent.name }}
labels:
app: {{ .Values.jenkins.agent.name }}
spec:
type: NodePort
ports:
- name: {{ .Values.jenkins.agent.name }}
port: {{ .Values.jenkins.agent.port }}
selector:
app: {{ .Values.jenkins.agent.selector }}

View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.jenkins.master.name }}
labels:
app: {{ .Values.jenkins.master.name }}
spec:
type: NodePort
ports:
- name: {{ .Values.jenkins.master.name }}
port: {{ .Values.jenkins.master.port }}
selector:
app: {{ .Values.jenkins.master.selector }}

View File

@ -0,0 +1,68 @@
# Default values for jenkins.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
environment: production
service:
type: NodePort
port: 8080
jenkins:
strategy:
type: Recreate
restartPolicy: Always
master:
name: jenkins-master
selector: jenkins-master
image:
repository: registry.webhosting.rug.nl/molgenis/jenkins-master
tag: lts
pullPolicy: Always
port: 8080
agent:
name: jenkins-agent
selector: jenkins-agent
image:
repository: registry.webhosting.rug.nl/molgenis/jenkins-agent
tag: lts
pullPolicy: Always
port: 22
ssh:
public:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6+L3I5Dh1oKCxRktAhKwX20vQq5+hp40D2HCN+JSOT1WmiZOKQQ2U73HyRlukXV1MJGn6NM0pZS1W12IiAiSeu6xl+YFlEJykRK+9NnpSGwTMXXirCmCyWAlMUb6pcXmCqa1Pk1HqiUUfvflkvFHNT+26LBNXj0LbrT6KFd0xhm/KH9gMTKnYoBQqezE7D5jjPki5lKAfBL7IQkwgs5wFdaQicRYAUsuI7gV6EsDgVmLmF6f2d8+/AJ0fwYIFpzaYqQfgrpilMCvHXcuskpHj2RtJFMiPZ4WZSMZ3sMTD0MmZxdNU32qc/TR7mILHEB9/10EzmE4F7X1NdWYeJqK5VKH8RfwLHtiFDPPoqttc2AuaMrSPiRJxtww0oLsEN3toE9qauXpVcJUgaxpj0hE7UQP026Et3LZDQCD8w+3VPVUCfGHy7LTZdPzxDYuWmSMGF/VjYYKbv3WgPEVomRdB1TlaSEb8JfnHI1CVo4C+dImwxppVRbiAkjK/D+TnTavgx+zl85Fo1oNO49kjg9Avp2sOoHBSCBk6ceywIdvvaIzQSxQZfj3PbSWRg+ywJMS8tM6m6riEQola8EmHA7pP/Aj70453ip08MUnz1vsM/e396nqdw55KhR5dPEPHrfqmONMgr6IUa+6zyeWBQ7LTpkWztQ4lQcPl48jRE0ijTQ== sido@client-145-100-225-240.surfnet.eduroam.rug.nl
ingress:
enabled: true
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: /
hosts:
- registry.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: {}

View File

@ -1,39 +0,0 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.13.0 ()
creationTimestamp: null
labels:
io.kompose.service: jenkins-agent-worker
name: jenkins-agent-worker
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: jenkins-agent-worker
spec:
containers:
- env:
- name: JENKINS_SLAVE_SSH_PUBKEY
value: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6+L3I5Dh1oKCxRktAhKwX20vQq5+hp40D2HCN+JSOT1WmiZOKQQ2U73HyRlukXV1MJGn6NM0pZS1W12IiAiSeu6xl+YFlEJykRK+9NnpSGwTMXXirCmCyWAlMUb6pcXmCqa1Pk1HqiUUfvflkvFHNT+26LBNXj0LbrT6KFd0xhm/KH9gMTKnYoBQqezE7D5jjPki5lKAfBL7IQkwgs5wFdaQicRYAUsuI7gV6EsDgVmLmF6f2d8+/AJ0fwYIFpzaYqQfgrpilMCvHXcuskpHj2RtJFMiPZ4WZSMZ3sMTD0MmZxdNU32qc/TR7mILHEB9/10EzmE4F7X1NdWYeJqK5VKH8RfwLHtiFDPPoqttc2AuaMrSPiRJxtww0oLsEN3toE9qauXpVcJUgaxpj0hE7UQP026Et3LZDQCD8w+3VPVUCfGHy7LTZdPzxDYuWmSMGF/VjYYKbv3WgPEVomRdB1TlaSEb8JfnHI1CVo4C+dImwxppVRbiAkjK/D+TnTavgx+zl85Fo1oNO49kjg9Avp2sOoHBSCBk6ceywIdvvaIzQSxQZfj3PbSWRg+ywJMS8tM6m6riEQola8EmHA7pP/Aj70453ip08MUnz1vsM/e396nqdw55KhR5dPEPHrfqmONMgr6IUa+6zyeWBQ7LTpkWztQ4lQcPl48jRE0ijTQ==
sido@client-145-100-225-240.surfnet.eduroam.rug.nl
image: registry.molgenis.org/molgenis-ops-releases/jenkins-agent-worker:lts
name: jenkins-agent-worker
ports:
- containerPort: 22
resources: {}
volumeMounts:
- mountPath: /var/run/docker.sock
name: jenkins-agent-worker-claim
restartPolicy: Always
volumes:
- name: jenkins-agent-worker-claim
persistentVolumeClaim:
claimName: jenkins-agent-worker-claim
status: {}

View File

@ -1,40 +0,0 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.13.0 ()
creationTimestamp: null
labels:
io.kompose.service: jenkins-master
name: jenkins-master
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: jenkins-master
spec:
containers:
- env:
- name: JENKINS_ADMIN_PASS
- name: JENKINS_ADMIN_USER
image: registry.molgenis.org/molgenis-ops-releases/jenkins-master:lts
name: jenkins-master
ports:
- containerPort: 8080
resources: {}
volumeMounts:
- mountPath: /var/jenkins-home
name: jenkins-master-claim
- mountPath: /var/run/docker.sock
name: jenkins-master-claim
restartPolicy: Always
volumes:
- name: jenkins-master-claim
persistentVolumeClaim:
claimName: jenkins-master-claim
status: {}

View File

@ -1,12 +0,0 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-${SERVICE}
spec:
rules:
- host: ${SITENAME}
http:
paths:
- backend:
serviceName: ${SERVICE}
servicePort: 80

View File

@ -1,19 +0,0 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.13.0 ()
creationTimestamp: null
labels:
io.kompose.service: jenkins-agent-worker
name: jenkins-agent-worker
spec:
ports:
- name: "22"
port: 22
targetPort: 22
selector:
io.kompose.service: jenkins-agent-worker
status:
loadBalancer: {}

View File

@ -1,19 +0,0 @@
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.13.0 ()
creationTimestamp: null
labels:
io.kompose.service: jenkins-master
name: jenkins-master
spec:
ports:
- name: "8080"
port: 8080
targetPort: 8080
selector:
io.kompose.service: jenkins-master
status:
loadBalancer: {}

View File

@ -1,45 +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.molgenis.org/molgenis-ops-releases/jenkins-master:lts
tag: lts
pullPolicy: Always
service:
type: ClusterIP
port: 8080
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: /
hosts:
- registry.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: {}

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -7,8 +7,9 @@ metadata:
app: {{ .Values.httpd.name }} app: {{ .Values.httpd.name }}
environment: {{ .Values.environment }} environment: {{ .Values.environment }}
spec: spec:
replicas: 1 replicas: {{ .Values.replicaCount }}
strategy: {} strategy:
type: {{ .Values.httpd.strategy.type }}
selector: selector:
matchLabels: matchLabels:
app: {{ .Values.httpd.selector }} app: {{ .Values.httpd.selector }}
@ -25,9 +26,9 @@ spec:
imagePullPolicy: {{ .Values.httpd.image.pullPolicy }} imagePullPolicy: {{ .Values.httpd.image.pullPolicy }}
env: env:
- name: PROXY_SERVICE - name: PROXY_SERVICE
value: "{{ .Values.nexus.name }}:{{ .Values.nexus.port.ui }},{{ .Values.nexus.name }}:{{ .Values.nexus.port.docker }}:v2" value: "{{ .Values.nexus.name }}:{{ .Values.nexus.port.ui }},{{ .Values.nexus.name }}:{{ .Values.nexus.port.docker }}:{{ .Values.nexus.path.dockerV2 }}"
- name: SERVER_NAME - name: SERVER_NAME
value: registry.molgenis.org value: {{ .Values.httpd.hostname }}
ports: ports:
- containerPort: {{ .Values.httpd.port }} - containerPort: {{ .Values.httpd.port }}
resources: {} resources: {}

View File

@ -7,8 +7,8 @@ metadata:
app: {{ .Values.nexus.name }} app: {{ .Values.nexus.name }}
environment: {{ .Values.environment }} environment: {{ .Values.environment }}
spec: spec:
replicas: 1 replicas: {{ .Values.replicaCount }}
strategy: {} strategy: {{ .Values.strategy.type }}
selector: selector:
matchLabels: matchLabels:
app: {{ .Values.nexus.selector }} app: {{ .Values.nexus.selector }}

View File

@ -12,6 +12,8 @@ service:
nexus: nexus:
name: nexus name: nexus
strategy:
type: Recreate
selector: nexus selector: nexus
restartPolicy: Always restartPolicy: Always
image: image:
@ -21,9 +23,14 @@ nexus:
port: port:
docker: 5000 docker: 5000
ui: 8081 ui: 8081
path:
dockerV2: v2
httpd: httpd:
name: httpd name: httpd
hostname: registry.molgenis.org
strategy:
type: Recreate
selector: httpd selector: httpd
restartPolicy: Always restartPolicy: Always
image: image:
@ -32,6 +39,7 @@ httpd:
pullPolicy: Always pullPolicy: Always
port: 80 port: 80
ingress: ingress:
enabled: true enabled: true
annotations: {} annotations: {}