diff --git a/charts/donetick/templates/configmap.yaml b/charts/donetick/templates/configmap.yaml index c2ba05d..ca92424 100644 --- a/charts/donetick/templates/configmap.yaml +++ b/charts/donetick/templates/configmap.yaml @@ -1,7 +1,56 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "donetick.fullname" . }}-config + name: {{ include "donetick.fullname" . }}-configmap labels: {{- include "donetick.labels" . | nindent 4 }} -data: {} +data: + selfhosted.yaml: | + name: {{ .Values.config.name | quote }} + is_done_tick_dot_com: {{ .Values.config.is_done_tick_dot_com }} + is_user_creation_disabled: {{ .Values.config.is_user_creation_disabled }} + telegram: + token: {{ .Values.config.telegram.token | default "" | quote }} + pushover: + token: {{ .Values.config.pushover.token | default "" | quote }} + database: + type: {{ .Values.config.database.type | default "sqlite" | quote }} + migration: {{ .Values.config.database.migration }} + host: {{ .Values.config.database.host | default "secret" | quote }} + port: {{ .Values.config.database.port | default 5432 }} + user: {{ .Values.config.database.user | default "secret" | quote }} + password: {{ .Values.config.database.password | default "secret" | quote }} + name: {{ .Values.config.database.name | default "secret" | quote }} + jwt: + secret: {{ .Values.config.jwt.secret | quote }} + session_time: {{ .Values.config.jwt.session_time | default "168h" | quote }} + max_refresh: {{ .Values.config.jwt.max_refresh | default "168h" | quote }} + server: + port: {{ .Values.config.server.port | default 2021 }} + read_timeout: {{ .Values.config.server.read_timeout | default "10s" | quote }} + write_timeout: {{ .Values.config.server.write_timeout | default "10s" | quote }} + rate_period: {{ .Values.config.server.rate_period | default "60s" | quote }} + rate_limit: {{ .Values.config.server.rate_limit | default 300 }} + cors_allow_origins: + {{- range .Values.config.server.cors_allow_origins }} + - {{ . | quote }} + {{- end }} + serve_frontend: {{ .Values.config.server.serve_frontend | default true }} + scheduler_jobs: + due_job: {{ .Values.config.scheduler_jobs.due_job | default "30m" | quote }} + overdue_job: {{ .Values.config.scheduler_jobs.overdue_job | default "3h" | quote }} + pre_due_job: {{ .Values.config.scheduler_jobs.pre_due_job | default "3h" | quote }} + email: + host: {{ .Values.config.email.host | quote }} + port: {{ .Values.config.email.port | quote }} + key: {{ .Values.config.email.key | quote }} + email: {{ .Values.config.email.email | quote }} + appHost: {{ .Values.config.email.appHost | quote }} + oauth2: + client_id: {{ .Values.config.oauth2.client_id | quote }} + client_secret: {{ .Values.config.oauth2.client_secret | quote }} + auth_url: {{ .Values.config.oauth2.auth_url | quote }} + token_url: {{ .Values.config.oauth2.token_url | quote }} + user_info_url: {{ .Values.config.oauth2.user_info_url | quote }} + redirect_url: {{ .Values.config.oauth2.redirect_url | quote }} + name: {{ .Values.config.oauth2.name | quote }} \ No newline at end of file diff --git a/charts/donetick/templates/deployment.yaml b/charts/donetick/templates/deployment.yaml index 98ff472..2894b2b 100644 --- a/charts/donetick/templates/deployment.yaml +++ b/charts/donetick/templates/deployment.yaml @@ -18,25 +18,27 @@ spec: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} - command: ["/donetick-core"] + command: ["/donetick"] ports: - name: http - containerPort: 8000 + containerPort: 2021 protocol: TCP - envFrom: - - configMapRef: - name: {{ include "donetick.fullname" . }}-config env: {{- range .Values.env }} - name: {{ .name }} value: {{ .value | quote }} {{- end }} volumeMounts: + - name: config + mountPath: /config - name: data - mountPath: /usr/src/app/data + mountPath: /donetick-data resources: {{- toYaml .Values.resources | nindent 12 }} volumes: + - name: config + configMap: + name: {{ include "donetick.fullname" . }}-configmap - name: data persistentVolumeClaim: claimName: {{ include "donetick.fullname" . }}-data \ No newline at end of file diff --git a/charts/donetick/values.yaml b/charts/donetick/values.yaml index cbc4d04..8938f7a 100644 --- a/charts/donetick/values.yaml +++ b/charts/donetick/values.yaml @@ -10,7 +10,7 @@ replicaCount: 1 service: type: ClusterIP - port: 8000 + port: 2021 ingress: enabled: true @@ -34,7 +34,9 @@ persistence: env: - name: DT_ENV - value: prod + value: selfhosted + - name: DT_SQLITE_PATH + value: /donetick-data/donetick.db resources: limits: @@ -42,4 +44,57 @@ resources: memory: 512Mi requests: cpu: 100m - memory: 128Mi \ No newline at end of file + memory: 128Mi + +config: + name: "selfhosted" + is_done_tick_dot_com: false + is_user_creation_disabled: false + telegram: + token: "" + pushover: + token: "" + database: + type: "sqlite" + migration: true + # these are only required for postgres + host: "secret" + port: 5432 + user: "secret" + password: "secret" + name: "secret" + jwt: + secret: "secret" + session_time: 168h + max_refresh: 168h + server: + port: 2021 + read_timeout: 10s + write_timeout: 10s + rate_period: 60s + rate_limit: 300 + cors_allow_origins: + - "http://localhost:5173" + - "http://localhost:7926" + # the below are required for the android app to work + - "https://localhost" + - "capacitor://localhost" + serve_frontend: true + scheduler_jobs: + due_job: 30m + overdue_job: 3h + pre_due_job: 3h + email: + host: + port: + key: + email: + appHost: + oauth2: + client_id: + client_secret: + auth_url: + token_url: + user_info_url: + redirect_url: + name: \ No newline at end of file