Skip to content
Snippets Groups Projects
deployment-web.yaml 4.01 KiB
Newer Older
  • Learn to ignore specific revisions
  • Alex Dunn's avatar
    Alex Dunn committed
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: {{ include "mastodon.fullname" . }}-web
      labels:
        {{- include "mastodon.labels" . | nindent 4 }}
    spec:
    {{- if not .Values.autoscaling.enabled }}
      replicas: {{ .Values.replicaCount }}
    {{- end }}
      selector:
        matchLabels:
          {{- include "mastodon.selectorLabels" . | nindent 6 }}
    
          app.kubernetes.io/component: web
          app.kubernetes.io/part-of: rails
    
    Alex Dunn's avatar
    Alex Dunn committed
      template:
        metadata:
          annotations:
    
    Alex Dunn's avatar
    Alex Dunn committed
            {{- toYaml . | nindent 8 }}
    
            # roll the pods to pick up any db migrations or other changes
            {{- include "mastodon.rollingPodAnnotations" . | nindent 8 }}
    
    Alex Dunn's avatar
    Alex Dunn committed
          labels:
            {{- include "mastodon.selectorLabels" . | nindent 8 }}
    
            app.kubernetes.io/component: web
            app.kubernetes.io/part-of: rails
    
    Alex Dunn's avatar
    Alex Dunn committed
        spec:
          {{- with .Values.imagePullSecrets }}
          imagePullSecrets:
            {{- toYaml . | nindent 8 }}
          {{- end }}
          serviceAccountName: {{ include "mastodon.serviceAccountName" . }}
          securityContext:
            {{- toYaml .Values.podSecurityContext | nindent 8 }}
    
          {{- if (not .Values.mastodon.s3.enabled) }}
    
    Alex Dunn's avatar
    Alex Dunn committed
          volumes:
            - name: assets
              persistentVolumeClaim:
                claimName: {{ template "mastodon.fullname" . }}-assets
            - name: system
              persistentVolumeClaim:
                claimName: {{ template "mastodon.fullname" . }}-system
    
    Alex Dunn's avatar
    Alex Dunn committed
          containers:
            - name: {{ .Chart.Name }}
              securityContext:
                {{- toYaml .Values.securityContext | nindent 12 }}
              image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
              imagePullPolicy: {{ .Values.image.pullPolicy }}
              command:
                - bundle
                - exec
                - puma
                - -C
                - config/puma.rb
              envFrom:
                - configMapRef:
                    name: {{ include "mastodon.fullname" . }}-env
                - secretRef:
    
    Alex Dunn's avatar
    Alex Dunn committed
              env:
                - name: "DB_PASS"
                  valueFrom:
                    secretKeyRef:
    
                      name: {{ template "mastodon.postgresql.secretName" . }}
    
                      key: password
    
    Alex Dunn's avatar
    Alex Dunn committed
                - name: "REDIS_PASSWORD"
                  valueFrom:
                    secretKeyRef:
    
                      name: {{ template "mastodon.redis.secretName" . }}
    
    Alex Dunn's avatar
    Alex Dunn committed
                      key: redis-password
                - name: "PORT"
    
                  value: {{ .Values.mastodon.web.port | quote }}
    
                {{- if (and .Values.mastodon.s3.enabled .Values.mastodon.s3.existingSecret) }}
                - name: "AWS_SECRET_ACCESS_KEY"
                  valueFrom:
                    secretKeyRef:
                      name: {{ .Values.mastodon.s3.existingSecret }}
                      key: AWS_SECRET_ACCESS_KEY
                - name: "AWS_ACCESS_KEY_ID"
                  valueFrom:
                    secretKeyRef:
                      name: {{ .Values.mastodon.s3.existingSecret }}
                      key: AWS_ACCESS_KEY_ID
                {{- end -}}
    
              {{- if (not .Values.mastodon.s3.enabled) }}
    
    Alex Dunn's avatar
    Alex Dunn committed
              volumeMounts:
                - name: assets
                  mountPath: /opt/mastodon/public/assets
                - name: system
                  mountPath: /opt/mastodon/public/system
    
    Alex Dunn's avatar
    Alex Dunn committed
              ports:
                - name: http
    
                  containerPort: {{ .Values.mastodon.web.port }}
    
    Alex Dunn's avatar
    Alex Dunn committed
                  protocol: TCP
              livenessProbe:
                httpGet:
                  path: /health
                  port: http
              readinessProbe:
                httpGet:
                  path: /health
                  port: http
              resources:
                {{- toYaml .Values.resources | nindent 12 }}
          {{- with .Values.nodeSelector }}
          nodeSelector:
            {{- toYaml . | nindent 8 }}
          {{- end }}
          {{- with .Values.affinity }}
          affinity:
            {{- toYaml . | nindent 8 }}
          {{- end }}
          {{- with .Values.tolerations }}
          tolerations:
            {{- toYaml . | nindent 8 }}
          {{- end }}