add: helm chart changes
This commit is contained in:
@@ -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"
|
|
||||||
@@ -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
|
|
||||||
|
|||||||
@@ -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 }}
|
||||||
|
|||||||
@@ -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 }}
|
||||||
@@ -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:
|
||||||
|
|||||||
+13
-21
@@ -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
|
||||||
@@ -73,4 +65,4 @@ ingress:
|
|||||||
tls: []
|
tls: []
|
||||||
# - secretName: oxicloud-tls
|
# - secretName: oxicloud-tls
|
||||||
# hosts:
|
# hosts:
|
||||||
# - cloud.example.com
|
# - cloud.example.com
|
||||||
|
|||||||
@@ -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 \
|
||||||
|
|||||||
Reference in New Issue
Block a user