apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "pixelfed.fullname" . }} labels: {{- include "pixelfed.labels" . | nindent 4 }} spec: {{- if not .Values.autoscaling.enabled }} replicas: {{ .Values.replicaCount }} {{- end }} selector: matchLabels: {{- include "pixelfed.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.podAnnotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} labels: {{- include "pixelfed.labels" . | nindent 8 }} {{- with .Values.podLabels }} {{- toYaml . | nindent 8 }} {{- end }} spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "pixelfed.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} containers: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} ports: - name: http containerPort: {{ .Values.service.port }} protocol: TCP env: - name: APP_NAME value: {{ .Values.pixelfed.app.name }} - name: APP_ENV value: {{ .Values.pixelfed.app.env }} - name: APP_URL value: {{ .Values.pixelfed.app.url }} - name: APP_LOCALE value: {{ .Values.pixelfed.app.locale }} {{- with .Values.pixelfed.app.domain }} - name: APP_DOMAIN value: {{ . }} {{- end }} - name: OPEN_REGISTRATION value: {{ .Values.pixelfed.open_registration }} - name: ENFORCE_EMAIL_VERIFICATION value: {{ .Values.pixelfed.enforce_email_verification }} - name: IMAGE_QUALITY value: {{ .Values.pixelfed.image_quality }} - name: ACCOUNT_DELETION value: {{ .Values.pixelfed.account_deletion }} - name: OAUTH_ENABLED value: {{ .Values.pixelfed.oauth_enabled }} - name: MIN_PASSWORD_LENGTH value: {{ .Values.pixelfed.min_password_length }} - name: MAX_ACCOUNT_SIZE value: {{ .Values.pixelfed.max_account_size }} - name: MAX_PHOTO_SIZE value: {{ .Values.pixelfed.max_photo_size }} - name: MAX_AVATAR_SIZE value: {{ .Values.pixelfed.max_avatar_size }} - name: MAX_CAPTION_LENGTH value: {{ .Values.pixelfed.max_caption_length }} - name: MAX_BIO_LENGTH value: {{ .Values.pixelfed.max_bio_length }} - name: MAX_NAME_LENGTH value: {{ .Values.pixelfed.max_name_length }} - name: MAX_ALBUM_LENGTH value: {{ .Values.pixelfed.max_album_length }} - name: FORCE_HTTPS_URLS value: {{ .Values.pixelfed.force_https_urls }} - name: STORIES_ENABLED value: {{ .Values.pixelfed.stories_enabled }} - name: ENABLE_CONFIG_CACHE value: {{ .Values.pixelfed.enable_config_cache }} - name: INSTANCE_DESCRIPTION value: {{ .Values.pixelfed.instance.description }} - name: INSTANCE_CONTACT_FORM value: {{ .Values.pixelfed.instance.contact_form | quote }} - name: INSTANCE_DISCOVER_PUBLIC value: {{ .Values.pixelfed.instance.discover_public | quote }} - name: INSTANCE_PUBLIC_HASHTAGS value: {{ .Values.pixelfed.instance.public_hashtags | quote }} {{- with .Values.pixelfed.instance.contact_email }} - name: INSTANCE_CONTACT_EMAIL value: {{ .Values.pixelfed.instance.contact_email }} {{- end }} - name: INSTANCE_PROFILE_EMBEDS value: {{ .Values.pixelfed.instance.profile_embeds | quote }} - name: INSTANCE_POST_EMBEDS value: {{ .Values.pixelfed.instance.post_embeds | quote }} - name: INSTANCE_REPORTS_EMAIL_ENABLED value: {{ .Values.pixelfed.instance.reports.email_enabled | quote }} - name: INSTANCE_REPORTS_EMAIL_ADDRESSES value: {{ join "," .Values.pixelfed.instance.reports.email_addresses }} - name: INSTANCE_REPORTS_EMAIL_AUTOSPAM value: {{ .Values.pixelfed.instance.reports.email_autospam | quote }} - name: INSTANCE_LANDING_SHOW_DIRECTORY value: {{ .Values.pixelfed.instance.landing.show_directory | quote }} - name: INSTANCE_LANDING_SHOW_EXPLORE value: {{ .Values.pixelfed.instance.landing.show_explore | quote }} - name: INSTANCE_CUR_REG value: {{ .Values.pixelfed.instance.cur_reg | quote }} - name: INSTANCE_SHOW_PEERS value: {{ .Values.pixelfed.instance.show_peers | quote }} - name: PF_HIDE_NSFW_ON_PUBLIC_FEEDS value: {{ .Values.pixelfed.pf.hide_nsfw_on_public_feeds | quote }} - name: PF_LOCAL_AVATAR_TO_CLOUD value: {{ .Values.pixelfed.pf.local_avatar_to_cloud | quote }} - name: PF_ADMIN_INVITES_ENABLED value: {{ .Values.pixelfed.pf.admin_invites_enabled | quote }} - name: PF_MAX_USER_BLOCKS value: {{ .Values.pixelfed.pf.max_user_blocks | quote }} - name: PF_MAX_USER_MUTES value: {{ .Values.pixelfed.pf.max_user_mutes | quote }} - name: PF_MAX_DOMAIN_BLOCKS value: {{ .Values.pixelfed.pf.max_domain_blocks | quote }} - name: PF_ENABLE_CLOUD value: {{ .Values.pixelfed.pf.enable_cloud | quote }} - name: PF_MAX_USERS value: {{ .Values.pixelfed.pf.max_users | quote }} - name: PF_ENFORCE_MAX_USERS value: {{ .Values.pixelfed.pf.enforce_max_users | quote }} - name: PF_OPTIMIZE_IMAGES value: {{ .Values.pixelfed.pf.optimize_images | quote }} - name: PF_OPTIMIZE_VIDEOS value: {{ .Values.pixelfed.pf.optimize_videos | quote }} - name: PF_MAX_COLLECTION_LENGTH value: {{ .Values.pixelfed.pf.max_collection_length | quote }} livenessProbe: {{- toYaml .Values.livenessProbe | nindent 12 }} readinessProbe: {{- toYaml .Values.readinessProbe | nindent 12 }} resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.volumeMounts }} volumeMounts: {{- toYaml . | nindent 12 }} {{- end }} {{- with .Values.volumes }} volumes: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }}