[bitnami/owncloud] Chart standardized (#7626)

* [bitnami/owncloud] Chart standarized

* Bump MariaDB version, update README.md and minor changes

* Fix deployment issue

* Fix service issue

* Update bitnami/owncloud/values.yaml

* Update bitnami/owncloud/values.yaml

* [bitnami/owncloud] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
Miguel Ruiz
2022-01-05 15:48:53 +01:00
committed by GitHub
parent c34c392e1e
commit 05e27828d8
10 changed files with 309 additions and 139 deletions

View File

@@ -4,6 +4,6 @@ dependencies:
version: 1.10.3
- name: mariadb
repository: https://charts.bitnami.com/bitnami
version: 9.8.1
digest: sha256:6377262dfa7e033e2119c084768f2ce24a438a31b3c5102447784a4f22568d1b
generated: "2021-12-16T12:02:08.074736538Z"
version: 10.2.0
digest: sha256:6173fec217bd00934e576ffa91866afd28626122abc925fe9f387996d4853400
generated: "2022-01-04T17:00:29.674944+01:00"

View File

@@ -13,7 +13,7 @@ dependencies:
repository: https://charts.bitnami.com/bitnami
tags:
- owncloud-database
version: 9.x.x
version: 10.x.x
description: A file sharing server that puts the control and security of your own data back into your hands.
engine: gotpl
home: https://github.com/bitnami/charts/tree/master/bitnami/owncloud
@@ -31,4 +31,4 @@ name: owncloud
sources:
- https://github.com/bitnami/bitnami-docker-owncloud
- https://owncloud.org/
version: 10.3.3
version: 11.0.0

View File

@@ -69,83 +69,87 @@ The command removes all the Kubernetes components associated with the chart and
### ownCloud parameters
| Name | Description | Value |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ---------------------- |
| `image.registry` | ownCloud image registry | `docker.io` |
| `image.repository` | ownCloud image repository | `bitnami/owncloud` |
| `image.tag` | ownCloud Image tag (immutable tags are recommended) | `10.8.0-debian-10-r97` |
| `image.pullPolicy` | ownCloud image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `image.debug` | Specify if debug logs should be enabled | `false` |
| `hostAliases` | Deployment pod host aliases | `[]` |
| `replicaCount` | Number of replicas (requires ReadWriteMany PVC support) | `1` |
| `owncloudSkipInstall` | Skip ownCloud installation wizard. Useful for migrations and restoring from SQL dump | `false` |
| `owncloudHost` | ownCloud host to create application URLs (when ingress, it will be ignored) | `""` |
| `owncloudUsername` | User of the application | `user` |
| `owncloudPassword` | Application password | `""` |
| `owncloudEmail` | Admin email | `user@example.com` |
| `allowEmptyPassword` | Allow DB blank passwords | `false` |
| `command` | Override default container command (useful when using custom images) | `[]` |
| `args` | Override default container args (useful when using custom images) | `[]` |
| `commonAnnotations` | Common annotations to add to all ownCloud resources (sub-charts are not considered). Evaluated as a template | `{}` |
| `commonLabels` | Common labels to add to all ownCloud resources (sub-charts are not considered). Evaluated as a template | `{}` |
| `updateStrategy.type` | Update strategy - only really applicable for deployments with RWO PVs attached | `RollingUpdate` |
| `extraEnvVars` | An array to add extra env vars | `[]` |
| `extraEnvVarsCM` | ConfigMap with extra environment variables | `""` |
| `extraEnvVarsSecret` | Secret with extra environment variables | `""` |
| `extraVolumes` | Extra volumes to add to the deployment. Requires setting `extraVolumeMounts` | `[]` |
| `extraVolumeMounts` | Extra volume mounts to add to the container. Normally used with `extraVolumes` | `[]` |
| `initContainers` | Extra init containers to add to the deployment | `[]` |
| `sidecars` | Extra sidecar containers to add to the deployment | `[]` |
| `tolerations` | Tolerations for pod assignment | `[]` |
| `existingSecret` | Name of a secret with the application password | `""` |
| `smtpHost` | SMTP host | `""` |
| `smtpPort` | SMTP port | `""` |
| `smtpUser` | SMTP user | `""` |
| `smtpPassword` | SMTP password | `""` |
| `smtpProtocol` | SMTP Protocol (options: ssl,tls, nil) | `""` |
| `containerPorts.http` | Sets HTTP port inside NGINX container | `8080` |
| `containerPorts.https` | Sets HTTPS port inside NGINX container | `8443` |
| `sessionAffinity` | Control where client requests go, to the same pod or round-robin | `None` |
| `podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `nodeAffinityPreset.key` | Node label key to match Ignored if `affinity` is set. | `""` |
| `nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set. | `[]` |
| `affinity` | Affinity for pod assignment | `{}` |
| `nodeSelector` | Node labels for pod assignment. Evaluated as a template. | `{}` |
| `resources` | Metrics exporter resource requests and limits | `{}` |
| `podSecurityContext.enabled` | Enable ownCloud pods' Security Context | `true` |
| `podSecurityContext.fsGroup` | ownCloud pods' group ID | `1001` |
| `containerSecurityContext.enabled` | Enable ownCloud containers' Security Context | `true` |
| `containerSecurityContext.runAsUser` | ownCloud containers' Security Context | `1001` |
| `livenessProbe.enabled` | Enable livenessProbe | `true` |
| `livenessProbe.path` | Request path for livenessProbe | `/status.php` |
| `livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `120` |
| `livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
| `livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` |
| `livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `6` |
| `livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `readinessProbe.enabled` | Enable readinessProbe | `true` |
| `readinessProbe.path` | Request path for readinessProbe | `/status.php` |
| `readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `30` |
| `readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
| `readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `3` |
| `readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `6` |
| `readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
| `startupProbe.enabled` | Enable startupProbe | `false` |
| `startupProbe.path` | Request path for startupProbe | `/status.php` |
| `startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `0` |
| `startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
| `startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `3` |
| `startupProbe.failureThreshold` | Failure threshold for startupProbe | `60` |
| `startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
| `customLivenessProbe` | Override default liveness probe | `{}` |
| `customReadinessProbe` | Override default readiness probe | `{}` |
| `customStartupProbe` | Override default startup probe | `{}` |
| `lifecycleHooks` | LifecycleHook to set additional configuration before or after startup | `{}` |
| `podAnnotations` | Pod annotations | `{}` |
| `podLabels` | Pod extra labels | `{}` |
| Name | Description | Value |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------- |
| `image.registry` | ownCloud image registry | `docker.io` |
| `image.repository` | ownCloud image repository | `bitnami/owncloud` |
| `image.tag` | ownCloud Image tag (immutable tags are recommended) | `10.9.0-debian-10-r0` |
| `image.pullPolicy` | ownCloud image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `image.debug` | Specify if debug logs should be enabled | `false` |
| `hostAliases` | Deployment pod host aliases | `[]` |
| `replicaCount` | Number of replicas (requires ReadWriteMany PVC support) | `1` |
| `owncloudSkipInstall` | Skip ownCloud installation wizard. Useful for migrations and restoring from SQL dump | `false` |
| `owncloudHost` | ownCloud host to create application URLs (when ingress, it will be ignored) | `""` |
| `owncloudUsername` | User of the application | `user` |
| `owncloudPassword` | Application password | `""` |
| `owncloudEmail` | Admin email | `user@example.com` |
| `allowEmptyPassword` | Allow DB blank passwords | `false` |
| `command` | Override default container command (useful when using custom images) | `[]` |
| `args` | Override default container args (useful when using custom images) | `[]` |
| `commonAnnotations` | Common annotations to add to all ownCloud resources (sub-charts are not considered). Evaluated as a template | `{}` |
| `commonLabels` | Common labels to add to all ownCloud resources (sub-charts are not considered). Evaluated as a template | `{}` |
| `updateStrategy.type` | Update strategy - only really applicable for deployments with RWO PVs attached | `RollingUpdate` |
| `extraEnvVars` | An array to add extra env vars | `[]` |
| `extraEnvVarsCM` | ConfigMap with extra environment variables | `""` |
| `extraEnvVarsSecret` | Secret with extra environment variables | `""` |
| `extraVolumes` | Extra volumes to add to the deployment. Requires setting `extraVolumeMounts` | `[]` |
| `extraVolumeMounts` | Extra volume mounts to add to the container. Normally used with `extraVolumes` | `[]` |
| `initContainers` | Extra init containers to add to the deployment | `[]` |
| `sidecars` | Extra sidecar containers to add to the deployment | `[]` |
| `tolerations` | Tolerations for pod assignment | `[]` |
| `priorityClassName` | ownCloud pods' priorityClassName | `""` |
| `schedulerName` | Name of the k8s scheduler (other than default) | `""` |
| `topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` |
| `existingSecret` | Name of a secret with the application password | `""` |
| `smtpHost` | SMTP host | `""` |
| `smtpPort` | SMTP port | `""` |
| `smtpUser` | SMTP user | `""` |
| `smtpPassword` | SMTP password | `""` |
| `smtpProtocol` | SMTP Protocol (options: ssl,tls, nil) | `""` |
| `containerPorts.http` | Sets HTTP port inside NGINX container | `8080` |
| `containerPorts.https` | Sets HTTPS port inside NGINX container | `8443` |
| `sessionAffinity` | Control where client requests go, to the same pod or round-robin | `None` |
| `podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `nodeAffinityPreset.key` | Node label key to match Ignored if `affinity` is set. | `""` |
| `nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set. | `[]` |
| `affinity` | Affinity for pod assignment | `{}` |
| `nodeSelector` | Node labels for pod assignment. Evaluated as a template. | `{}` |
| `resources` | Metrics exporter resource requests and limits | `{}` |
| `podSecurityContext.enabled` | Enable ownCloud pods' Security Context | `true` |
| `podSecurityContext.fsGroup` | ownCloud pods' group ID | `1001` |
| `containerSecurityContext.enabled` | Enable ownCloud containers' Security Context | `true` |
| `containerSecurityContext.runAsUser` | ownCloud containers' Security Context runAsUser | `1001` |
| `containerSecurityContext.runAsNonRoot` | ownCloud containers' Security Context runAsNonRoot | `true` |
| `livenessProbe.enabled` | Enable livenessProbe | `true` |
| `livenessProbe.path` | Request path for livenessProbe | `/status.php` |
| `livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `120` |
| `livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` |
| `livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `5` |
| `livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `6` |
| `livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `readinessProbe.enabled` | Enable readinessProbe | `true` |
| `readinessProbe.path` | Request path for readinessProbe | `/status.php` |
| `readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `30` |
| `readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
| `readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `3` |
| `readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `6` |
| `readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
| `startupProbe.enabled` | Enable startupProbe | `false` |
| `startupProbe.path` | Request path for startupProbe | `/status.php` |
| `startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `0` |
| `startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
| `startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `3` |
| `startupProbe.failureThreshold` | Failure threshold for startupProbe | `60` |
| `startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
| `customLivenessProbe` | Override default liveness probe | `{}` |
| `customReadinessProbe` | Override default readiness probe | `{}` |
| `customStartupProbe` | Override default startup probe | `{}` |
| `lifecycleHooks` | LifecycleHook to set additional configuration before or after startup | `{}` |
| `podAnnotations` | Pod annotations | `{}` |
| `podLabels` | Pod extra labels | `{}` |
### Database parameters
@@ -169,18 +173,20 @@ The command removes all the Kubernetes components associated with the chart and
| `externalDatabase.user` | Existing username in the external db | `bn_owncloud` |
| `externalDatabase.password` | Password for the above username | `""` |
| `externalDatabase.database` | Name of the existing database | `bitnami_owncloud` |
| `externalDatabase.existingSecret` | Name of an existing secret resource containing the DB password | `""` |
### Persistence parameters
| Name | Description | Value |
| --------------------------- | -------------------------------------------------------------------------- | --------------- |
| `persistence.enabled` | Enable persistence using PVC | `true` |
| `persistence.storageClass` | PVC Storage Class for ownCloud volume | `""` |
| `persistence.accessMode` | PVC Access Mode for ownCloud volume | `ReadWriteOnce` |
| `persistence.size` | PVC Storage Request for ownCloud volume | `8Gi` |
| `persistence.existingClaim` | An Existing PVC name for ownCloud volume | `""` |
| `persistence.hostPath` | If defined, the owncloud-data volume will mount to the specified hostPath. | `""` |
| Name | Description | Value |
| --------------------------- | -------------------------------------------------------------------------- | ------------------- |
| `persistence.enabled` | Enable persistence using PVC | `true` |
| `persistence.storageClass` | PVC Storage Class for ownCloud volume | `""` |
| `persistence.accessModes` | PVC Access Mode for ownCloud volume | `["ReadWriteOnce"]` |
| `persistence.size` | PVC Storage Request for ownCloud volume | `8Gi` |
| `persistence.existingClaim` | An Existing PVC name for ownCloud volume | `""` |
| `persistence.hostPath` | If defined, the owncloud-data volume will mount to the specified hostPath. | `""` |
| `persistence.annotations` | Persistent Volume Claim annotations | `{}` |
### Volume Permissions parameters
@@ -190,7 +196,7 @@ The command removes all the Kubernetes components associated with the chart and
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the data directory (for cases where the default k8s `runAsUser` and `fsUser` values do not work) | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `10-debian-10-r253` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `10-debian-10-r286` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `volumePermissions.resources.limits` | The resources limits for the container | `{}` |
@@ -202,38 +208,52 @@ The command removes all the Kubernetes components associated with the chart and
| Name | Description | Value |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `service.type` | Kubernetes Service type | `LoadBalancer` |
| `service.port` | Service HTTP port | `8080` |
| `service.httpsPort` | Service HTTPS port | `8443` |
| `service.ports.http` | Service HTTP port | `8080` |
| `service.ports.https` | Service HTTPS port | `8443` |
| `service.clusterIP` | Service cluster IP | `""` |
| `service.loadBalancerSourceRanges` | Control hosts connecting to "LoadBalancer" only | `[]` |
| `service.loadBalancerIP` | Load balancer IP for the ownCloud Service (optional, cloud specific) | `""` |
| `service.nodePorts.http` | Kubernetes HTTP node port | `""` |
| `service.nodePorts.https` | Kubernetes HTTPS node port | `""` |
| `service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
| `service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
| `service.annotations` | Additional custom annotations for %%MAIN_CONTAINER_NAME%% service | `{}` |
| `service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `ingress.enabled` | Set to true to enable ingress record generation | `false` |
| `ingress.apiVersion` | Force Ingress API version (automatically detected if not set) | `""` |
| `ingress.hostname` | Default host for the ingress resource | `owncloud.local` |
| `ingress.path` | Default path for the ingress record | `/` |
| `ingress.pathType` | Ingress path type | `ImplementationSpecific` |
| `ingress.annotations` | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. | `{}` |
| `ingress.tls` | Enable TLS configuration for the hostname defined at ingress.hostname parameter | `false` |
| `ingress.extraHosts` | The list of additional hostnames to be covered with this ingress record. | `[]` |
| `ingress.extraPaths` | An array with additional arbitrary paths that may need to be added to the ingress under the main host | `[]` |
| `ingress.extraTls` | The tls configuration for additional hostnames to be covered with this ingress record. | `[]` |
| `ingress.secrets` | If you're providing your own certificates, please use this to add the certificates as secrets | `[]` |
| `ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) | `""` |
### Metrics parameters
| Name | Description | Value |
| ----------------------------- | ---------------------------------------------------------- | ------------------------- |
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image.registry` | Apache exporter image registry | `docker.io` |
| `metrics.image.repository` | Apache exporter image repository | `bitnami/apache-exporter` |
| `metrics.image.tag` | Apache exporter image tag (immutable tags are recommended) | `0.10.1-debian-10-r55` |
| `metrics.image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `metrics.resources` | Metrics exporter resource requests and limits | `{}` |
| `metrics.service.type` | | `ClusterIP` |
| `metrics.service.port` | Service Metrics port | `9117` |
| `metrics.service.annotations` | Annotations for the Prometheus exporter service | `{}` |
| Name | Description | Value |
| ------------------------------------------ | -------------------------------------------------------------------- | ------------------------- |
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image.registry` | Apache exporter image registry | `docker.io` |
| `metrics.image.repository` | Apache exporter image repository | `bitnami/apache-exporter` |
| `metrics.image.tag` | Apache exporter image tag (immutable tags are recommended) | `0.11.0-debian-10-r3` |
| `metrics.image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `metrics.resources` | Metrics exporter resource requests and limits | `{}` |
| `metrics.service.type` | | `ClusterIP` |
| `metrics.service.port` | Service Metrics port | `9117` |
| `metrics.service.annotations` | Annotations for the Prometheus exporter service | `{}` |
| `metrics.service.clusterIP` | Metrics service Cluster IP | `""` |
| `metrics.service.loadBalancerIP` | Metrics service Load Balancer IP | `""` |
| `metrics.service.loadBalancerSourceRanges` | Metrics service Load Balancer sources | `[]` |
| `metrics.service.externalTrafficPolicy` | Metrics service external traffic policy | `Cluster` |
| `metrics.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `metrics.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
### Certificate injection parameters
@@ -254,7 +274,7 @@ The command removes all the Kubernetes components associated with the chart and
| `certificates.extraEnvVarsSecret` | Secret with extra environment variables | `""` |
| `certificates.image.registry` | Container sidecar registry | `docker.io` |
| `certificates.image.repository` | Container sidecar image repository | `bitnami/bitnami-shell` |
| `certificates.image.tag` | Container sidecar image tag (immutable tags are recommended) | `10-debian-10-r253` |
| `certificates.image.tag` | Container sidecar image tag (immutable tags are recommended) | `10-debian-10-r286` |
| `certificates.image.pullPolicy` | Container sidecar image pull policy | `IfNotPresent` |
| `certificates.image.pullSecrets` | Container sidecar image pull secrets | `[]` |
@@ -406,6 +426,17 @@ Find more information about how to deal with common errors related to Bitnami
## Upgrading
### To 11.0.0
This major release renames several values in this chart and adds missing features, in order to be inline with the rest of assets in the Bitnami charts repository.
Affected values:
- `service.port` was deprecated. We recommend using `service.ports.http` instead.
- `service.httpsPort` was deprecated. We recommend using `service.ports.https` instead.
Additionally updates the MariaDB subchart to it newest major, 10.0.0, which contains similar changes. Check [MariaDB Upgrading Notes](https://github.com/bitnami/charts/tree/master/bitnami/mariadb#to-1000) for more information.
### To 10.0.0
In this major there were three main changes introduced:

View File

@@ -52,13 +52,13 @@ host. To configure ownCloud with the URL of your service:
{{- if eq .Values.service.type "ClusterIP" }}
echo "ownCloud URL: http://127.0.0.1:8080/"
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} 8080:{{ .Values.service.port }}
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} 8080:{{ coalesce .Values.service.ports.http .Values.service.port }}
{{- else }}
{{- $port:=.Values.service.port | toString }}
{{- $port:=(coalesce .Values.service.ports.http .Values.service.port) | toString }}
echo "ownCloud URL: http://{{ include "owncloud.host" . }}{{- if ne $port "80" }}:{{ .Values.service.port }}{{ end }}/"
echo "ownCloud URL: http://{{ include "owncloud.host" . }}{{- if ne $port "80" }}:{{ coalesce .Values.service.ports.http .Values.service.port }}{{ end }}/"
{{- end }}

View File

@@ -47,6 +47,13 @@ spec:
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAntiAffinityPreset "context" $) | nindent 10 }}
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.nodeAffinityPreset.type "key" .Values.nodeAffinityPreset.key "values" .Values.nodeAffinityPreset.values) | nindent 10 }}
{{- end }}
{{- if .Values.schedulerName }}
schedulerName: {{ .Values.schedulerName }}
{{- end }}
{{- if .Values.topologySpreadConstraints }}
topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.topologySpreadConstraints "context" .) | nindent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.nodeSelector }}
nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.nodeSelector "context" $) | nindent 8 }}
{{- end }}
@@ -119,7 +126,7 @@ spec:
key: mariadb-password
- name: OWNCLOUD_SKIP_BOOTSTRAP
value: {{ ternary "yes" "no" .Values.owncloudSkipInstall | quote }}
{{- $port:=.Values.service.port | toString }}
{{- $port:=(coalesce .Values.service.ports.http .Values.service.port) | toString }}
- name: OWNCLOUD_HOST
value: {{ include "owncloud.host" . }}
- name: OWNCLOUD_USERNAME

View File

@@ -21,6 +21,9 @@ metadata:
{{- end }}
{{- end }}
spec:
{{- if and .Values.ingress.ingressClassName (eq "true" (include "common.ingress.supportsIngressClassname" .)) }}
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
{{- end }}
rules:
{{- if .Values.ingress.hostname }}
- host: {{ .Values.ingress.hostname }}

View File

@@ -20,9 +20,24 @@ metadata:
{{- end }}
spec:
type: {{ .Values.metrics.service.type }}
{{ if and (eq .Values.metrics.service.type "LoadBalancer") .Values.metrics.service.loadBalancerIP }}
{{- if (and (eq .Values.metrics.service.type "LoadBalancer") (not (empty .Values.metrics.service.loadBalancerIP))) }}
loadBalancerIP: {{ .Values.metrics.service.loadBalancerIP }}
{{- end }}
{{- if and .Values.metrics.service.clusterIP (eq .Values.metrics.service.type "ClusterIP") }}
clusterIP: {{ .Values.metrics.service.clusterIP }}
{{- end }}
{{- if (or (eq .Values.metrics.service.type "LoadBalancer") (eq .Values.metrics.service.type "NodePort")) }}
externalTrafficPolicy: {{ .Values.metrics.service.externalTrafficPolicy | quote }}
{{- end }}
{{- if eq .Values.metrics.service.type "LoadBalancer" }}
loadBalancerSourceRanges: {{ .Values.metrics.service.loadBalancerSourceRanges }}
{{- end }}
{{- if .Values.metrics.service.sessionAffinity }}
sessionAffinity: {{ .Values.metrics.service.sessionAffinity }}
{{- end }}
{{- if .Values.metrics.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.metrics.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
ports:
- port: {{ .Values.metrics.service.port }}
targetPort: metrics

View File

@@ -8,15 +8,27 @@ metadata:
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- if or .Values.persistence.annotations .Values.commonAnnotations }}
annotations:
{{- if .Values.persistence.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.persistence.annotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
spec:
{{- if .Values.persistence.hostPath }}
storageClassName: ""
{{- end }}
accessModes:
{{- if not (empty .Values.persistence.accessModes) }}
{{- range .Values.persistence.accessModes }}
- {{ . | quote }}
{{- end }}
{{- else }}
- {{ .Values.persistence.accessMode | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}

View File

@@ -7,27 +7,36 @@ metadata:
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.service.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.service.annotations "context" $) | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.service.type }}
sessionAffinity: {{ default "None" .Values.service.sessionAffinity }}
{{- if (and .Values.service.clusterIP (eq .Values.service.type "ClusterIP")) }}
{{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }}
clusterIP: {{ .Values.service.clusterIP }}
{{- end }}
{{- if (and .Values.service.loadBalancerIP (eq .Values.service.type "LoadBalancer")) }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
{{- end }}
{{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges) }}
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges: {{- toYaml .Values.service.loadBalancerSourceRanges | nindent 4 }}
{{- end }}
{{- if (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
{{- if (and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerIP))) }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if .Values.service.sessionAffinity }}
sessionAffinity: {{ .Values.service.sessionAffinity }}
{{- end }}
{{- if .Values.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
ports:
- name: http
port: {{ .Values.service.port }}
port: {{ coalesce .Values.service.ports.http .Values.service.port }}
targetPort: http
{{- if (and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.http))) }}
nodePort: {{ .Values.service.nodePorts.http }}
@@ -35,12 +44,15 @@ spec:
nodePort: null
{{- end }}
- name: https
port: {{ .Values.service.httpsPort }}
port: {{ coalesce .Values.service.ports.https .Values.service.httpsPort }}
targetPort: https
{{- if (and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.https))) }}
nodePort: {{ .Values.service.nodePorts.https }}
{{- else if eq .Values.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- if .Values.service.extraPorts }}
{{- include "common.tplvalues.render" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }}
{{- end }}
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}
publishNotReadyAddresses: true

View File

@@ -45,7 +45,7 @@ extraDeploy: []
image:
registry: docker.io
repository: bitnami/owncloud
tag: 10.9.0-debian-10-r0
tag: 10.9.0-debian-10-r15
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -146,6 +146,18 @@ sidecars: []
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param priorityClassName ownCloud pods' priorityClassName
##
priorityClassName: ""
## @param schedulerName Name of the k8s scheduler (other than default)
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
schedulerName: ""
## @param topologySpreadConstraints Topology Spread Constraints for pod assignment
## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
## The value is evaluated as a template
##
topologySpreadConstraints: []
## @param existingSecret Name of a secret with the application password
##
existingSecret: ""
@@ -229,11 +241,13 @@ podSecurityContext:
## Configure Container Security Context (only main container)
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
## @param containerSecurityContext.enabled Enable ownCloud containers' Security Context
## @param containerSecurityContext.runAsUser ownCloud containers' Security Context
## @param containerSecurityContext.runAsUser ownCloud containers' Security Context runAsUser
## @param containerSecurityContext.runAsNonRoot ownCloud containers' Security Context runAsNonRoot
##
containerSecurityContext:
enabled: true
runAsUser: 1001
runAsNonRoot: true
## Configure extra options for liveness probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param livenessProbe.enabled Enable livenessProbe
@@ -387,6 +401,10 @@ externalDatabase:
## @param externalDatabase.database Name of the existing database
##
database: bitnami_owncloud
## @param externalDatabase.existingSecret Name of an existing secret resource containing the DB password
##
existingSecret: ""
## @section Persistence parameters
@@ -405,9 +423,10 @@ persistence:
## GKE, AWS & OpenStack)
##
storageClass: ""
## @param persistence.accessMode PVC Access Mode for ownCloud volume
## @param persistence.accessModes PVC Access Mode for ownCloud volume
##
accessMode: ReadWriteOnce
accessModes:
- ReadWriteOnce
## @param persistence.size PVC Storage Request for ownCloud volume
##
size: 8Gi
@@ -422,6 +441,9 @@ persistence:
## Default: nil.
##
hostPath: ""
## @param persistence.annotations Persistent Volume Claim annotations
##
annotations: {}
## @section Volume Permissions parameters
@@ -441,7 +463,7 @@ volumePermissions:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 10-debian-10-r286
tag: 10-debian-10-r300
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
@@ -481,12 +503,12 @@ service:
## @param service.type Kubernetes Service type
##
type: LoadBalancer
## @param service.port Service HTTP port
## @param service.ports.http Service HTTP port
## @param service.ports.https Service HTTPS port
##
port: 8080
## @param service.httpsPort Service HTTPS port
##
httpsPort: 8443
ports:
http: 8080
https: 8443
## @param service.clusterIP Service cluster IP
##
clusterIP: ""
@@ -513,6 +535,24 @@ service:
## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
##
externalTrafficPolicy: Cluster
## @param service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
##
extraPorts: []
## @param service.annotations Additional custom annotations for %%MAIN_CONTAINER_NAME%% service
##
annotations: {}
## @param service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
## If "ClientIP", consecutive client requests will be directed to the same Pod
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
##
sessionAffinity: None
## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
##
sessionAffinityConfig: {}
## Configure the ingress resource that allows you to access the
## ownCloud installation. Set up the URL
## ref: https://kubernetes.io/docs/user-guide/ingress/
@@ -521,13 +561,19 @@ ingress:
## @param ingress.enabled Set to true to enable ingress record generation
##
enabled: false
## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
##
apiVersion: ""
## DEPRECATED: Use ingress.annotations instead of ingress.certManager
## certManager: false
##
## @param ingress.hostname Default host for the ingress resource
##
hostname: owncloud.local
## @param ingress.path Default path for the ingress record
## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
##
path: /
## @param ingress.pathType Ingress path type
##
pathType: ImplementationSpecific
@@ -557,6 +603,15 @@ ingress:
## path: /
##
extraHosts: []
## @param ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
## e.g:
## extraPaths:
## - path: /*
## backend:
## serviceName: ssl-redirect
## servicePort: use-annotation
##
extraPaths: []
## @param ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
## Example:
@@ -580,6 +635,11 @@ ingress:
## certificate:
##
secrets: []
## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
##
ingressClassName: ""
## @section Metrics parameters
@@ -598,7 +658,7 @@ metrics:
image:
registry: docker.io
repository: bitnami/apache-exporter
tag: 0.11.0-debian-10-r3
tag: 0.11.0-debian-10-r18
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -630,7 +690,37 @@ metrics:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "{{ .Values.metrics.service.port }}"
## @param metrics.service.clusterIP Metrics service Cluster IP
## e.g.:
## clusterIP: None
##
clusterIP: ""
## @param metrics.service.loadBalancerIP Metrics service Load Balancer IP
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
##
loadBalancerIP: ""
## @param metrics.service.loadBalancerSourceRanges Metrics service Load Balancer sources
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
## e.g:
## loadBalancerSourceRanges:
## - 10.10.10.0/24
##
loadBalancerSourceRanges: []
## @param metrics.service.externalTrafficPolicy Metrics service external traffic policy
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
##
externalTrafficPolicy: Cluster
## @param metrics.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
## If "ClientIP", consecutive client requests will be directed to the same Pod
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
##
sessionAffinity: None
## @param metrics.service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
##
sessionAffinityConfig: {}
## @section Certificate injection parameters
## Add custom certificates and certificate authorities to ownCloud container
@@ -681,7 +771,7 @@ certificates:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 10-debian-10-r286
tag: 10-debian-10-r300
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images