123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- {{- define "unifi.workload" -}}
- workload:
- unifi:
- enabled: true
- primary: true
- type: Deployment
- podSpec:
- hostNetwork: {{ .Values.unifiNetwork.hostNetwork }}
- containers:
- unifi:
- enabled: true
- primary: true
- imageSelector: image
- securityContext:
- runAsUser: 999
- runAsGroup: 999
- readOnlyRootFilesystem: false
- env:
- DB_MONGO_LOCAL: true
- RUN_CHOWN: false
- RUNAS_UID0: false
- UNIFI_HTTP_PORT: {{ .Values.unifiNetwork.webHttpPort }}
- UNIFI_HTTPS_PORT: {{ .Values.unifiNetwork.webHttpsPort }}
- PORTAL_HTTP_PORT: {{ .Values.unifiNetwork.portalHttpPort }}
- PORTAL_HTTPS_PORT: {{ .Values.unifiNetwork.portalHttpsPort }}
- {{ with .Values.unifiConfig.additionalEnvs }}
- envList:
- {{ range $env := . }}
- - name: {{ $env.name }}
- value: {{ $env.value }}
- {{ end }}
- {{ end }}
- probes:
- liveness:
- enabled: true
- type: exec
- command: /usr/local/bin/docker-healthcheck.sh
- readiness:
- enabled: true
- type: exec
- command: /usr/local/bin/docker-healthcheck.sh
- startup:
- enabled: true
- type: exec
- command: /usr/local/bin/docker-healthcheck.sh
- initContainers:
- {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
- "UID" 999
- "GID" 999
- "mode" "check"
- "type" "init") | nindent 8 }}
- {{- $migrate := false -}}
- {{- if (hasKey .Values.global "ixChartContext") -}}
- {{- if (hasKey .Values.global.ixChartContext "upgradeMetadata") -}}
- {{- with .Values.global.ixChartContext.upgradeMetadata -}}
- {{- $ver := semver (.oldChartVersion | default "0.0.0") -}}
- {{/* Enable migrate script if old version is below 1.2.x */}}
- {{- if and (eq $ver.Major 1) (lt $ver.Minor 2) -}}
- {{- $migrate = true -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
- {{- end }}
- 02-migrate:
- enabled: {{ $migrate }}
- type: init
- imageSelector: image
- securityContext:
- runAsUser: 999
- runAsGroup: 999
- readOnlyRootFilesystem: false
- command:
- - /bin/bash
- args:
- - -c
- - |
- newdatadir="/usr/lib/unifi/data"
- olddatadir="/usr/lib/unifi/data/data"
- # Check the dir exists
- [ ! -d "$newdatadir" ] && echo "$newdatadir missing" && exit 1
- # Check if there is a data/data dir to migrate
- [ ! -d "$olddatadir" ] && echo "No $olddatadir dir found. Migration skipped" && exit 0
- # Check if the new data dir is empty, ignoring the old data dir
- dirs=$(ls -A "$newdatadir" | grep -v "data")
- if [ -n "$dirs" ]; then
- echo "New data dir is empty. Migrating data one level up"
- mv $olddatadir/* $newdatadir || echo "Failed to move data" && exit 1
- # Remove the data/data dir
- rm -rf $olddatadir
- echo "Data migration complete"
- fi
- {{- end -}}
|