apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "badhouseplants-net.fullname" . }} labels: {{- include "badhouseplants-net.labels" . | nindent 4 }} {{- with .Values.deployAnnotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: {{- if not .Values.autoscaling.enabled }} replicas: {{ .Values.replicaCount }} {{- end }} selector: matchLabels: {{- include "badhouseplants-net.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} labels: {{- include "badhouseplants-net.selectorLabels" . | nindent 8 }} spec: initContainers: - name: {{ .Values.rclone.container.name }} image: "{{ .Values.rclone.image.repository}}:{{ .Values.rclone.image.tag}}" imagePullPolicy: {{ .Values.rclone.image.pullPolicy }} env: - name: RCLONE_CONFIG value: /tmp/rclone.conf command: - sh args: - "-c" - "rclone copy -P badhouseplants-public:/badhouseplants-static /static" volumeMounts: - name: rclone-config mountPath: "/tmp" readOnly: true - name: {{ .Values.volumes.rclone.name }} mountPath: /static readOnly: false resources: {{- toYaml .Values.rclone.container.resources | nindent 12 }} - name: {{ .Values.hugo.container.name }} args: - --baseURL - {{ .Values.hugo.baseURL }} {{- if .Values.hugo.buildDrafts }} - --buildDrafts {{- end }} volumeMounts: - name: {{ .Values.volumes.rclone.name }} mountPath: /src/static readOnly: true - name: {{ .Values.volumes.public.name }} mountPath: /src/public readOnly: false image: "{{ .Values.hugo.image.repository}}:{{ .Values.hugo.image.tag}}" imagePullPolicy: {{ .Values.hugo.image.pullPolicy }} resources: {{- toYaml .Values.hugo.container.resources | nindent 12 }} containers: - name: {{ .Values.nginx.container.name }} image: "{{ .Values.nginx.image.repository}}:{{ .Values.nginx.image.tag}}" imagePullPolicy: {{ .Values.nginx.image.pullPolicy }} ports: - name: http containerPort: {{ .Values.service.port }} protocol: TCP resources: {{- toYaml .Values.nginx.container.resources | nindent 12 }} volumeMounts: - name: {{ .Values.volumes.public.name }} mountPath: /var/www readOnly: true - name: nginx-config mountPath: /etc/nginx/conf.d readOnly: true volumes: - name: rclone-config secret: secretName: rclone-config - name: {{ .Values.volumes.rclone.name }} emptyDir: sizeLimit: {{ .Values.volumes.rclone.sizeLimit }} - name: {{ .Values.volumes.public.name }} emptyDir: sizeLimit: {{ .Values.volumes.public.sizeLimit }} - name: nginx-config configMap: name: nginx-config