Compare commits

...

3 Commits

Author SHA1 Message Date
5cadbd31a2
fix: add liveness and readiness probe
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-21 23:13:14 +02:00
c7346ec71a
feat: add loadBlancer options to the service 2022-04-21 22:58:41 +02:00
04e6d2214c
feat: support extraVolumes and extraVolumeMounts 2022-04-21 22:37:56 +02:00
3 changed files with 94 additions and 7 deletions

View File

@ -26,16 +26,37 @@ spec:
{{- toYaml .Values.securityContext | nindent 12 }} {{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
livenessProbe:
httpGet:
scheme: {{ .Values.config.DRONE_SERVER_PROTO | upper | default "HTTP" }}
path: /healthz
port: {{ .Values.config.DRONE_SERVER_PROTO | default "http" }}
ports: ports:
- name: http - name: http
containerPort: 80 containerPort: 80
protocol: TCP protocol: TCP
- name: https
containerPort: 443
protocol: TCP
readinessProbe:
httpGet:
scheme: {{ .Values.config.DRONE_SERVER_PROTO | upper | default "HTTP" }}
path: /healthz
port: {{ .Values.config.DRONE_SERVER_PROTO | default "http" }}
resources: resources:
{{- toYaml .Values.resources | nindent 12 }} {{- toYaml .Values.resources | nindent 12 }}
{{- if .Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3" }} {{- if .Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3" }}
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: {{ default "/data/database.sqlite" .Values.config.DRONE_DATABASE_DATASOURCE | dir }} mountPath: {{ default "/data/database.sqlite" .Values.config.DRONE_DATABASE_DATASOURCE | dir }}
{{- with .Values.extraVolumeMounts }}
{{- toYaml . | nindent 10 }}
{{- end }}
{{- else }}
{{- with .Values.extraVolumeMounts }}
volumeMounts:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- end }} {{- end }}
{{- with .Values.affinity }} {{- with .Values.affinity }}
affinity: affinity:
@ -66,9 +87,20 @@ spec:
{{- with .Values.persistence.existingClaim }} {{- with .Values.persistence.existingClaim }}
claimName: {{ tpl . $ }} claimName: {{ tpl . $ }}
{{- end }} {{- end }}
{{- with .Values.extraVolumes }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{- else if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }} {{- else if and (.Values.config.DRONE_DATABASE_DRIVER | default "sqlite3" | eq "sqlite3") (not .Values.persistence.existingClaim) }}
volumes: volumes:
- name: data - name: data
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ include "drone.fullname" . }} claimName: {{ include "drone.fullname" . }}
{{- with .Values.extraVolumes }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{- else }}
{{- with .Values.extraVolumes }}
volumes:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }} {{- end }}

View File

@ -9,11 +9,28 @@ metadata:
{{- include "drone.labels" . | nindent 4 }} {{- include "drone.labels" . | nindent 4 }}
name: {{ include "drone.fullname" . }} name: {{ include "drone.fullname" . }}
spec: spec:
{{- with .Values.service.externalIPs }}
externalIPs:
{{- toYaml . | nindent 2 }}
{{- end }}
{{- if .Values.service.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
{{- end }}
{{- if and .Values.service.loadBalancerClass (eq .Values.service.type "LoadBalancer") }}
loadBalancerClass: {{ .Values.service.loadBalancerClass }}
{{- end }}
{{- if and .Values.service.loadBalancerIP (eq .Values.service.type "LoadBalancer") }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- with .Values.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{- toYaml . | nindent 2 }}
{{- end }}
type: {{ .Values.service.type }} type: {{ .Values.service.type }}
ports: ports:
- port: {{ .Values.service.port }} - port: {{ .Values.service.port }}
targetPort: http targetPort: {{ .Values.config.DRONE_SERVER_PROTO | default "http" }}
protocol: TCP protocol: TCP
name: http name: {{ .Values.config.DRONE_SERVER_PROTO | default "http" }}
selector: selector:
{{- include "drone.selectorLabels" . | nindent 4 }} {{- include "drone.selectorLabels" . | nindent 4 }}

View File

@ -527,6 +527,12 @@ serviceAccount:
service: service:
annotations: {} annotations: {}
# externalIPs: []
# externalTrafficPolicy: "Cluster"
# loadBalancerClass: ""
# loadBalancerIP: ""
# loadBalancerSourceRanges: []
# internalTrafficPolicy: "Cluster"
type: ClusterIP type: ClusterIP
port: 80 port: 80
@ -568,10 +574,42 @@ affinity: {}
# persistence is only required when config.DATABASE_DRIVER is sqlite3 or # persistence is only required when config.DATABASE_DRIVER is sqlite3 or
# undefined. # undefined.
persistence: persistence:
annotation: {}
# existingClaim: # existingClaim:
size: 5Gi size: 5Gi
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
labels: {} labels: {}
annotation: {}
# storageClass: # storageClass:
# extra volumes for the pod
extraVolumes: {}
# The following example mount the same secret, which contains tls certificates
# under different names. Each volume mount contains only selected items of the
# secret. This make it easier to place the items on different locations inside the
# container filesystem via extraVolumeMounts.
# - name: custom-ca-anchor
# secret:
# secretName: drone-custom-tls-certificates
# items:
# - key: ca.crt
# path: ca.crt
# mode: 0444
# - name: custom-tls-certificates
# secret:
# secretName: drone-custom-tls-certificates
# items:
# - key: tls.key
# path: tls.key
# mode: 0400
# - key: tls.crt
# path: tls.crt
# mode: 0444
extraVolumeMounts: {}
# The following example follows the example of extraVolumes and mounts the
# volumes to the corresponding paths in the container filesystem.
# - name: custom-ca-anchor
# mountPath: /usr/local/share/ca-certificates
# - name: custom-tls-certificates
# mountPath: /etc/drone/tls