add: helm chart changes

This commit is contained in:
bubu
2026-05-31 03:53:33 +02:00
parent f6817f83e6
commit d707200055
8 changed files with 36 additions and 57 deletions
-7
View File
@@ -1,7 +0,0 @@
---
dependencies:
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 18.5.6
digest: sha256:15eb9ab8fa1b8df15d424dc3ab70db86a95d4ab123109827f78cf60e3c59ad72
generated: "2026-03-12T10:03:03.681662+01:00"
+1 -7
View File
@@ -5,10 +5,4 @@ description: |
Ultra-fast, secure & lightweight self-hosted cloud storage — your files, photos, calendars & contacts, all in one place. Built in Rust. Ultra-fast, secure & lightweight self-hosted cloud storage — your files, photos, calendars & contacts, all in one place. Built in Rust.
type: application type: application
version: 0.1.0 version: 0.1.0
appVersion: "0.5.2" appVersion: "0.5.6"
dependencies:
- name: postgresql
version: 18.5.6
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
-2
View File
@@ -6,9 +6,7 @@ metadata:
data: data:
OXICLOUD_SERVER_PORT: {{ .Values.config.server.port | quote }} OXICLOUD_SERVER_PORT: {{ .Values.config.server.port | quote }}
OXICLOUD_SERVER_HOST: {{ .Values.config.server.host | quote }} OXICLOUD_SERVER_HOST: {{ .Values.config.server.host | quote }}
{{- if .Values.config.server.baseUrl }}
OXICLOUD_BASE_URL: {{ .Values.config.server.baseUrl | quote }} OXICLOUD_BASE_URL: {{ .Values.config.server.baseUrl | quote }}
{{- end }}
OXICLOUD_ENABLE_AUTH: {{ .Values.config.features.enableAuth | quote }} OXICLOUD_ENABLE_AUTH: {{ .Values.config.features.enableAuth | quote }}
OXICLOUD_ENABLE_FILE_SHARING: {{ .Values.config.features.enableSharing | quote }} OXICLOUD_ENABLE_FILE_SHARING: {{ .Values.config.features.enableSharing | quote }}
MIMALLOC_PURGE_DELAY: {{ .Values.config.mimalloc.purgeDelay | quote }} MIMALLOC_PURGE_DELAY: {{ .Values.config.mimalloc.purgeDelay | quote }}
+10 -5
View File
@@ -11,11 +11,16 @@ data:
{{- if .Values.secrets.jwtSecret }} {{- if .Values.secrets.jwtSecret }}
OXICLOUD_JWT_SECRET: {{ .Values.secrets.jwtSecret | b64enc | quote }} OXICLOUD_JWT_SECRET: {{ .Values.secrets.jwtSecret | b64enc | quote }}
{{- end }} {{- end }}
{{- if .Values.postgresql.enabled }}
DB_PASSWORD: {{ .Values.postgresql.auth.password | b64enc | quote }}
{{- end }}
{{- if .Values.wopi.enabled }} {{- if .Values.wopi.enabled }}
WOPI_ADMIN_USERNAME: {{ .Values.wopi.collabora.admin.username | b64enc | quote }} {{- /* Existing secret retrieval to keep same password during upgrade */-}}
WOPI_ADMIN_PASSWORD: {{ .Values.wopi.collabora.admin.password | b64enc | quote }} {{- $secretName := printf "%s-secret" (include "oxicloud.fullname" .) }}
{{- $existingSecret := lookup "v1" "Secret" .Release.Namespace $secretName }}
{{- $password := "" }}
{{- if and $existingSecret (hasKey $existingSecret.data "WOPI_ADMIN_PASSWORD") }}
{{- $password = index $existingSecret.data "WOPI_ADMIN_PASSWORD" }}
{{- else }}
{{- $password = .Values.wopi.collabora.admin.password | default (randAlphaNum 20) | b64enc }}
{{- end }}
WOPI_ADMIN_PASSWORD: {{ $password | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
+9 -11
View File
@@ -15,8 +15,12 @@ spec:
labels: labels:
{{- include "oxicloud.selectorLabels" . | nindent 8 }} {{- include "oxicloud.selectorLabels" . | nindent 8 }}
spec: spec:
{{- if and .Values.persistence.enabled .Values.persistence.fsGroup }}
securityContext:
fsGroup: {{ .Values.persistence.fsGroup }}
{{- end }}
containers: containers:
- name: oxicloud - name: oxicloud-app
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
ports: ports:
@@ -26,19 +30,13 @@ spec:
envFrom: envFrom:
- configMapRef: - configMapRef:
name: {{ include "oxicloud.fullname" . }}-config name: {{ include "oxicloud.fullname" . }}-config
- secretRef: {{- if .Values.envs }}
name: {{ if .Values.secrets.existingSecret }}{{ .Values.secrets.existingSecret }}{{ else }}{{ include "oxicloud.fullname" . }}-secret{{ end }}
env: env:
- name: DB_PASSWORD {{- toYaml .Values.envs | nindent 12 }}
valueFrom: {{- end }}
secretKeyRef:
name: {{ if .Values.secrets.existingSecret }}{{ .Values.secrets.existingSecret }}{{ else }}{{ include "oxicloud.fullname" . }}-secret{{ end }}
key: DB_PASSWORD
- name: OXICLOUD_DB_CONNECTION_STRING
value: "postgres://{{ .Values.postgresql.auth.username }}:$(DB_PASSWORD)@{{ .Release.Name }}-postgresql/{{ .Values.postgresql.auth.database }}"
volumeMounts: volumeMounts:
- name: storage-data - name: storage-data
mountPath: /app/storage mountPath: {{ .Values.persistence.mountPath | default "/app/storage" }}
{{- if not .Values.persistence.enabled }} {{- if not .Values.persistence.enabled }}
volumes: volumes:
- name: storage-data - name: storage-data
@@ -40,10 +40,7 @@ spec:
- name: extra_params - name: extra_params
value: {{ .Values.wopi.collabora.extraParams | quote }} value: {{ .Values.wopi.collabora.extraParams | quote }}
- name: username - name: username
valueFrom: value: admin
secretKeyRef:
name: {{ if .Values.secrets.existingSecret }}{{ .Values.secrets.existingSecret }}{{ else }}{{ include "oxicloud.fullname" . }}-secret{{ end }}
key: WOPI_ADMIN_USERNAME
- name: password - name: password
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
+12 -20
View File
@@ -2,20 +2,19 @@
replicaCount: 1 replicaCount: 1
image: image:
repository: oxicloud repository: diocrafts/oxicloud
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
tag: "latest" tag: "0.5.6"
# cf : https://github.com/AtalayaLabs/OxiCloud/blob/main/example.env
envs:
- name: OXICLOUD_DB_CONNECTION_STRING
value: "postgres://postgres:postgres@postgres/oxicloud"
- name: OXICLOUD_STORAGE_PATH
value: /app/storage
- name: OXICLOUD_STATIC_PATH
value: /app/static
postgresql:
enabled: true
auth:
username: postgres
password: "change_me_in_production"
database: oxicloud
primary:
persistence:
enabled: true
size: 8Gi
config: config:
server: server:
@@ -47,23 +46,16 @@ wopi:
port: 9980 port: 9980
admin: admin:
username: admin username: admin
password: "wopi_admin_password"
# In production behind an ingress, you'd likely enable SSL termination. # In production behind an ingress, you'd likely enable SSL termination.
extraParams: "--o:ssl.enable=false --o:ssl.termination=false --o:net.frame_ancestors=http://* https://*" extraParams: "--o:ssl.enable=false --o:ssl.termination=false --o:net.frame_ancestors=http://* https://*"
secrets:
# If existingSecret is set, the chart will NOT create a Secret and will use this one instead.
existingSecret: ""
jwtSecret: ""
oidcClientSecret: ""
service: service:
type: ClusterIP type: ClusterIP
port: 8086 port: 8086
ingress: ingress:
enabled: true enabled: true
className: "nginx" # Adjust to your ingress controller (e.g., traefik) className: "traefik" # Adjust to your ingress controller (e.g., traefik)
annotations: {} annotations: {}
hosts: hosts:
- host: cloud.example.com - host: cloud.example.com
+2
View File
@@ -70,6 +70,8 @@ cargo run --release
`OXICLOUD_DB_CONNECTION_STRING` is the runtime setting read by OxiCloud. `DATABASE_URL` is only needed for SQLx build-time checks. `OXICLOUD_DB_CONNECTION_STRING` is the runtime setting read by OxiCloud. `DATABASE_URL` is only needed for SQLx build-time checks.
## Kubernetes (Helm) ## Kubernetes (Helm)
* Please note the and external postgresql is required (for instance, create it with cncf postgreqsl operator), More information [HERE](https://cloudnative-pg.io/)
* Please pay attention to pvc name change if you are using this charte with an already existing installation, you'll have to migrate the data.
```bash ```bash
helm upgrade --install oxicloud charts/oxicloud \ helm upgrade --install oxicloud charts/oxicloud \