Refactor
This commit is contained in:
		
							parent
							
								
									0079a1dcb9
								
							
						
					
					
						commit
						fd14c6d228
					
				
					 19 changed files with 158 additions and 128 deletions
				
			
		| 
						 | 
				
			
			@ -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 -}}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 }}
 | 
			
		||||
| 
						 | 
				
			
			@ -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 }}
 | 
			
		||||
| 
						 | 
				
			
			@ -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 }}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 }}
 | 
			
		||||
| 
						 | 
				
			
			@ -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:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 }}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 }}
 | 
			
		||||
		Reference in a new issue