This commit is contained in:
Yurii Vlasov 2023-02-21 15:44:51 +02:00
parent 496bf81f8e
commit cb5b1453df
8 changed files with 67 additions and 6 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
charts/*.tgz
*.tgz

View File

@ -21,3 +21,4 @@
.idea/
*.tmproj
.vscode/

View File

@ -10,8 +10,8 @@ description: |-
the high alpine areas of the Andes and a relative of the llama.
annotations:
category: TaskTracker
version: 0.1.1
appVersion: 0.20.1
version: 0.1.2
appVersion: unstable
kubeVersion: ">= 1.19"
dependencies:
- name: redis

View File

@ -8,6 +8,19 @@ Deployes both frontend and backend. Also, you can deploy bitnami's PostgreSQL an
Kubernetes >= 1.19
Helm >= 3
## Quickstart
Default settings should work for you and if you define ingress settings according to your controller (for both API and Frontend), you will be able to access the frontend. Anyway, it won't have any default credentials. In order to create a user, you **have to enable registration** and register a new user.
```yaml
api:
config:
service:
enableregistration: true
```
Once you have registered, you can disable registration back if you do not need it.
## Advanced features
### Raw resources

View File

@ -16,8 +16,9 @@ spec:
{{- include "vikunja.apiSelectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.api.podAnnotations }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
{{- with .Values.api.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
@ -90,7 +91,7 @@ spec:
{{- if eq .Values.api.config.database.type "sqlite" }}
- name: storage
subPath: sqlite
mountPath: {{ base .Values.api.config.database.path | quote }}
mountPath: {{ dir .Values.api.config.database.path | quote }}
{{- end }}
{{- end }}
{{- with .Values.api.extraVolumeMounts }}

18
templates/api/pdb.yaml Normal file
View File

@ -0,0 +1,18 @@
{{- if .Values.api.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "vikunja.apiFullname" . }}
labels:
{{- include "vikunja.labels" . | nindent 4 }}
spec:
{{- with .Values.api.pdb.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.api.pdb.minAvailable }}
minAvailable: {{ . }}
{{- end }}
selector:
matchLabels:
{{- include "vikunja.apiSelectorLabels" . | nindent 6 }}
{{- end }}

View File

@ -0,0 +1,18 @@
{{- if .Values.frontend.pdb.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "vikunja.frontendFullname" . }}
labels:
{{- include "vikunja.labels" . | nindent 4 }}
spec:
{{- with .Values.frontend.pdb.maxUnavailable }}
maxUnavailable: {{ . }}
{{- end }}
{{- with .Values.frontend.pdb.minAvailable }}
minAvailable: {{ . }}
{{- end }}
selector:
matchLabels:
{{- include "vikunja.frontendSelectorLabels" . | nindent 6 }}
{{- end }}

View File

@ -95,6 +95,11 @@ frontend:
# Useful if you want to set minReadySeconds, progressDeadlineSeconds, strategy
extraDeploymentSpec: {}
pdb:
enabled: false
# maxUnavailable: 50%
minAvailable: 50%
imagePullSecrets: []
podAnnotations: {}
@ -184,8 +189,7 @@ api:
securityContext:
capabilities:
drop:
- ALL
add: [CAP_CHOWN]
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
@ -239,6 +243,11 @@ api:
# Useful if you want to set minReadySeconds, progressDeadlineSeconds, strategy
extraDeploymentSpec: {}
pdb:
enabled: false
# maxUnavailable: 50%
minAvailable: 50%
imagePullSecrets: []
podAnnotations: {}