{{- $host_dev := printf "%s-bu-teammaker.dev.%s" .Values.image.tag .Values.ingress.host -}} {{- $host_prod := printf "%s.%s" "bu-teammaker" .Values.ingress.host -}} {{- $host := regexMatch "^v[0-9]+\\.[0-9]+\\.[0-9]+$" .Values.image.tag | ternary $host_prod $host_dev -}} --- apiVersion: apps/v1 kind: Deployment metadata: name: "{{ .Chart.Name }}-{{- template "mychart.name" . -}}" labels: app: "{{ .Chart.Name }}-{{- template "mychart.name" . -}}" {{- include "mychart.labels" . | nindent 2 }} annotations: deployment.kubernetes.io/revision: "{{ .Release.Revision }}" deployment.git-branch: "{{ .Values.image.tag }}" rollme: {{ randAlphaNum 5 | quote }} spec: replicas: 1 selector: matchLabels: app: "{{ .Chart.Name }}-{{- template "mychart.name" . -}}" template: metadata: labels: app: "{{ .Chart.Name }}-{{- template "mychart.name" . -}}" annotations: rollme: {{ randAlphaNum 5 | quote }} spec: imagePullSecrets: - name: harbor-pull volumes: - name: "base-image" emptyDir: {} - name: "ssh-key" secret: secretName: "bot-discord-pull" initContainers: - name: "init" image: "alpine/git:latest" imagePullPolicy: Always command: ["ash", "-c", "mkdir /root/.ssh && cp /root/test/* /root/.ssh && chmod 600 /root/.ssh/base-image && cd /appdata && git clone https://git.weebo.fr/sandbox/base-image.git ."] env: - name: "GIT_SSH_COMMAND" value: "ssh -o StrictHostKeyChecking=no" volumeMounts: - name: "base-image" mountPath: "/appdata" - name: "ssh-key" mountPath: "/root/test" containers: - name: "{{ .Chart.Name }}-{{- template "mychart.name" . -}}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: Always ports: - containerPort: 5437 name: http env: {{- range $env := .Values.env }} - name: "{{ $env.name }}" value: "{{ $env.value }}" {{- end }} - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: PORT value: "5437" - name: IMAGE_PATH value: "/appdata/" - name: "DB_NAME" valueFrom: secretKeyRef: name: "bot-discord-db" key: "db_name" - name: "DB_PASSWORD" valueFrom: secretKeyRef: name: "bot-discord-db" key: "password" - name: "DB_USER" valueFrom: secretKeyRef: name: "bot-discord-db" key: "username" - name: "DB_NAMESPACE" valueFrom: secretKeyRef: name: "bot-discord-db" key: "db_namespace" - name: "BOT_TOKEN" valueFrom: secretKeyRef: name: "bot-discord-token" key: "token" - name: DB_URL value: "{{ .Chart.Name }}-{{- template "mychart.name" . -}}-surrealdb:8000" - name: RUST_ENV {{- if regexMatch "^[0-9]+\\.[0-9]+\\.[0-9]+$" .Values.image.tag }} value: "prod" {{- else }} value: "dev-{{ .Values.image.tag }}" {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} volumeMounts: - name: "base-image" mountPath: "/appdata" livenessProbe: httpGet: path: /api/docs/docs.json port: http initialDelaySeconds: 10 periodSeconds: 10 readinessProbe: httpGet: path: /api/docs/docs.json port: http initialDelaySeconds: 5 periodSeconds: 10