charts/gotosocial/templates/deployment.yaml

80 lines
3.0 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
labels:
gts: {{ .Release.Name }}
name: {{ .Release.Name }}
namespace: socaas
spec:
replicas: {{ .Values.replicas }}
selector:
matchLabels:
gts: {{ .Release.Name }}
template:
metadata:
annotations:
labels:
gts: {{ .Release.Name }}
spec:
initContainers:
- env:
- name: GTS_ACCOUNT_DOMAIN
value: {{ default (cat .Release.Name "." .Values.gtsBulkDomain | nospace) .Values.gtsAccountDomain }}
- name: GTS_HOST
value: {{ default (cat .Release.Name "." .Values.gtsBulkDomain | nospace) .Values.gtsHost }}
- name: GTS_APPLICATION_NAME
value: {{ .Release.Name }}-gts
- name: GTS_DB_ADDRESS
value: /gotosocial/storage/sqlite.db
- name: GTS_DB_TYPE
value: sqlite
envFrom:
- configMapRef:
name: {{ .Release.Name }}-config
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
name: init-{{ .Release.Name }}-gts
volumeMounts:
- mountPath: /gotosocial/storage
name: data
command:
- /bin/sh
- -c
- /gotosocial/gotosocial admin account create --username {{ .Values.gtsAdminAccountName }} --email {{ .Values.gtsAdminAccountMail }} --password '{{ .Values.gtsAdminAccountPass }}' || exit 0 && /gotosocial/gotosocial admin account confirm --username {{ .Values.gtsAdminAccountName }} && /gotosocial/gotosocial admin account promote --username {{ .Values.gtsAdminAccountName }}
containers:
- env:
- name: GTS_ACCOUNT_DOMAIN
value: {{ default (cat .Release.Name "." .Values.gtsBulkDomain | nospace) .Values.gtsAccountDomain }}
- name: GTS_APPLICATION_NAME
value: {{ .Release.Name }}-gts
- name: GTS_DB_ADDRESS
value: /gotosocial/storage/sqlite.db
- name: GTS_DB_TYPE
value: sqlite
- name: GTS_HOST
value: {{ default (cat .Release.Name "." .Values.gtsBulkDomain | nospace) .Values.gtsHost }}
- name: GTS_SMTP_FROM
value: noreply@{{ .Values.gtsBulkDomain }}
- name: GTS_SMTP_HOST
value: 172.27.137.7
- name: GTS_SMTP_PORT
value: "25"
- name: GTS_TRUSTED_PROXIES
value: 0.0.0.0/0
envFrom:
- configMapRef:
name: {{ .Release.Name }}-config
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
name: {{ .Release.Name }}-gts
volumeMounts:
- mountPath: /gotosocial/storage
name: data
resources:
{{- toYaml .Values.resources | nindent 12 }}
restartPolicy: Always
volumes:
- name: data
persistentVolumeClaim:
claimName: {{ .Release.Name }}-data