This commit is contained in:
David Burke 2021-05-28 21:33:04 +00:00
parent 0079a1dcb9
commit fd14c6d228
19 changed files with 158 additions and 128 deletions

View file

@ -78,19 +78,29 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
{{- end -}}
{{- end -}}
{{- end -}}
{{- define "django.redis.fullname" -}}
{{- if .Values.redis.fullnameOverride -}}
{{- .Values.redis.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.redis.nameOverride -}}
{{- $name := default .Chart.Name -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name "django-redis" | trunc 63 | trimSuffix "-" -}}
{{- printf "%s-%s" .Release.Name "redis-master" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Set postgresql url
*/}}
{{- define "django.postgresql.url" -}}
{{- if .Values.postgresql.enabled -}}
postgres://{{ .Values.postgresql.postgresqlUsername }}:{{ .Values.postgresql.postgresqlPassword }}@{{- template "django.postgresql.fullname" . -}}
{{- end -}}
{{- end -}}
{{/*
Set redis host
*/}}
@ -107,7 +117,7 @@ Set redis url
*/}}
{{- define "django.redis.url" -}}
{{- if .Values.redis.enabled -}}
redis://{{- template "django.redis.password" -}}{{- template "django.redis.fullname" . -}}-master
redis://:{{ .Values.redis.auth.password }}@{{- template "django.redis.fullname" . -}}:{{- template "django.redis.port" . -}}/0
{{- end -}}
{{- end -}}
@ -116,8 +126,8 @@ Set redis port
*/}}
{{- define "django.redis.port" -}}
{{- if .Values.redis.enabled -}}
"6379"
6379
{{- else -}}
{{- default "6379" .Values.redis.port | quote -}}
{{- default "6379" .Values.redis.port -}}
{{- end -}}
{{- end -}}

View file

@ -1,3 +1,4 @@
{{- if .Values.worker.enabled -}}
apiVersion: apps/v1
kind: Deployment
metadata:
@ -43,23 +44,9 @@ spec:
env:
- name: SERVER_ROLE
value: "beat"
{{- if .Values.redisURL }}
- name: REDIS_URL
value: {{ .Values.redisURL }}
{{- end }}
{{- if .Values.redis.enabled }}
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
key: redis-password
name: {{ include "django.fullname" . }}-redis
- name: REDIS_HOST
value: {{ template "django.redis.host" . }}
- name: REDIS_PORT
value: {{ template "django.redis.port" . }}
{{- end }}
envFrom:
- secretRef:
name: {{ include "django.fullname" . }}
- configMapRef:
name: {{ include "django.fullname" . }}
{{- end }}

View file

@ -7,6 +7,6 @@ metadata:
annotations:
"helm.sh/hook-weight": "-1"
data:
{{- range $k, $v := .Values.environmentVariables }}
{{- range $k, $v := .Values.env.normal }}
{{ $k }}: {{ $v | quote }}
{{- end }}
{{- end }}

View file

@ -15,6 +15,10 @@ spec:
activeDeadlineSeconds: 600
template:
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
restartPolicy: Never
containers:
- name: pre-install-job
@ -24,9 +28,12 @@ spec:
env:
- name: DEBUG
value: "False"
- name: STATIC_URL
value: /
{{- if .Values.env.secret.DATABASE_URL }}
- name: DATABASE_URL
value: {{ required "databaseURL is a required value." .Values.databaseURL }}
value: {{ .Values.env.secret.DATABASE_URL }}
{{- else if .Values.postgresql.enabled }}
- name: DATABASE_URL
value: {{ include "django.postgresql.url" . | b64enc | quote }}
{{- end }}
- name: SECRET_KEY
value: {{ required "secretKey is a required value." .Values.secretKey }}
value: {{ required "env.secret.SECRET_KEY is a required value." .Values.env.secret.SECRET_KEY }}

View file

@ -6,12 +6,12 @@ metadata:
{{- include "django.labels" . | nindent 4 }}
type: Opaque
data:
DATABASE_URL: {{ required "databaseURL is a required value." .Values.databaseURL | b64enc | quote }}
SECRET_KEY: {{ required "secretKey is a required value." .Values.secretKey | b64enc | quote }}
REDIS_URL: {{ printf "redis://:@glitchtip-staging-redis-master:6379/0" | b64enc | quote }}
{{- if .Values.stripeLiveSecretKey }}
STRIPE_LIVE_SECRET_KEY: {{ .Values.stripeLiveSecretKey | b64enc | quote }}
{{- range $k, $v := .Values.env.secret }}
{{ $k }}: {{ $v | b64enc | quote }}
{{- end }}
{{- if .Values.djstripeWebhookSecret }}
DJSTRIPE_WEBHOOK_SECRET: {{ .Values.djstripeWebhookSecret | b64enc | quote }}
{{- if .Values.redis.enabled }}
REDIS_URL: {{ include "django.redis.url" . | b64enc | quote }}
{{- end }}
{{- if .Values.postgresql.enabled }}
DATABASE_URL: {{ include "django.postgresql.url" . | b64enc | quote }}
{{- end }}

View file

@ -57,21 +57,6 @@ spec:
resources:
{{- toYaml .Values.web.resources | nindent 12 }}
env:
{{- if .Values.redisURL }}
- name: REDIS_URL
value: {{ .Values.redisURL }}
{{- end }}
{{- if .Values.redis.enabled }}
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
key: redis-password
name: {{ include "django.fullname" . }}-redis
- name: REDIS_HOST
value: {{ template "django.redis.host" . }}
- name: REDIS_PORT
value: {{ template "django.redis.port" . }}
{{- end }}
- name: POD_IP
valueFrom:
fieldRef:

View file

@ -1,7 +1,14 @@
{{- if .Values.web.ingress.enabled -}}
{{- $fullName := include "django.fullname" . -}}
{{- $svcPort := .Values.web.service.port -}}
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
{{- if and .Values.web.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.web.ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.web.ingress.annotations "kubernetes.io/ingress.class" .Values.web.ingress.className}}
{{- end }}
{{- end }}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
@ -16,6 +23,9 @@ metadata:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.web.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
ingressClassName: {{ .Values.web.ingress.className }}
{{- end }}
{{- if .Values.web.ingress.tls }}
tls:
{{- range .Values.web.ingress.tls }}
@ -33,9 +43,19 @@ spec:
paths:
{{- range .paths }}
- path: {{ .path }}
{{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
pathType: {{ .pathType }}
{{- end }}
backend:
serviceName: {{ $fullName }}-web
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- else }}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -1,3 +1,4 @@
{{- if .Values.worker.enabled -}}
apiVersion: apps/v1
kind: Deployment
metadata:
@ -38,21 +39,6 @@ spec:
env:
- name: SERVER_ROLE
value: "worker"
{{- if .Values.redisURL }}
- name: REDIS_URL
value: {{ .Values.redisURL }}
{{- end }}
{{- if .Values.redis.enabled }}
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
key: redis-password
name: {{ include "django.fullname" . }}-redis
- name: REDIS_HOST
value: {{ template "django.redis.host" . }}
- name: REDIS_PORT
value: {{ template "django.redis.port" . }}
{{- end }}
envFrom:
- secretRef:
name: {{ include "django.fullname" . }}
@ -70,3 +56,4 @@ spec:
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}