mirror of
https://github.com/bitnami/charts.git
synced 2026-03-16 14:57:08 +08:00
[bitnami/ghost] Major version. Adapt Chart to apiVersion: v2 and Update MariaDB Dependency (#4391)
* Drop Helm 2 support and update to new mariadb major * Add removal of Helm v2 support notice * Minor fixes * Format/Fix linter issues in yaml * [bitnami/ghost] Update components versions Signed-off-by: Bitnami Containers <containers@bitnami.com> Co-authored-by: fdepaz <fdepaz@bitnami.com> Co-authored-by: Carlos Rodriguez Hernandez <crhernandez@bitnami.com> Co-authored-by: Carlos Rodríguez Hernández <carlosrh@vmware.com> Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
committed by
GitHub
parent
b97a641798
commit
f4cd753033
9
bitnami/ghost/Chart.lock
Normal file
9
bitnami/ghost/Chart.lock
Normal file
@@ -0,0 +1,9 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 1.0.1
|
||||
- name: mariadb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 9.0.1
|
||||
digest: sha256:12d93fe483f15c929a60d50bf9be3b4f69c1507b48ffd7b2650e8cadf2a77c45
|
||||
generated: "2020-11-19T15:03:13.32839582Z"
|
||||
@@ -1,8 +1,23 @@
|
||||
apiVersion: v1
|
||||
name: ghost
|
||||
version: 10.2.3
|
||||
annotations:
|
||||
category: CMS
|
||||
apiVersion: v2
|
||||
appVersion: 3.38.1
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
tags:
|
||||
- bitnami-common
|
||||
version: 1.x.x
|
||||
- condition: mariadb.enabled
|
||||
name: mariadb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
tags:
|
||||
- ghost-database
|
||||
version: 9.x.x
|
||||
description: A simple, powerful publishing platform that allows you to share your stories with the world
|
||||
engine: gotpl
|
||||
home: https://github.com/bitnami/charts/tree/master/bitnami/ghost
|
||||
icon: https://bitnami.com/assets/stacks/ghost/img/ghost-stack-220x234.png
|
||||
keywords:
|
||||
- ghost
|
||||
- blog
|
||||
@@ -11,14 +26,11 @@ keywords:
|
||||
- application
|
||||
- nodejs
|
||||
- javascript
|
||||
home: https://github.com/bitnami/charts/tree/master/bitnami/ghost
|
||||
icon: https://bitnami.com/assets/stacks/ghost/img/ghost-stack-220x234.png
|
||||
maintainers:
|
||||
- email: containers@bitnami.com
|
||||
name: Bitnami
|
||||
name: ghost
|
||||
sources:
|
||||
- https://github.com/bitnami/bitnami-docker-ghost
|
||||
- http://www.ghost.org/
|
||||
maintainers:
|
||||
- name: Bitnami
|
||||
email: containers@bitnami.com
|
||||
engine: gotpl
|
||||
annotations:
|
||||
category: CMS
|
||||
version: 11.0.0
|
||||
|
||||
@@ -20,7 +20,7 @@ Bitnami charts can be used with [Kubeapps](https://kubeapps.com/) for deployment
|
||||
## Prerequisites
|
||||
|
||||
- Kubernetes 1.12+
|
||||
- Helm 2.12+ or Helm 3.0-beta3+
|
||||
- Helm 3.0-beta3+
|
||||
- PV provisioner support in the underlying infrastructure
|
||||
- ReadWriteMany volumes for deployment scaling
|
||||
|
||||
@@ -50,103 +50,161 @@ The command removes all the Kubernetes components associated with the chart and
|
||||
|
||||
The following table lists the configurable parameters of the Ghost chart and their default values.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|-----------------------------------------|----------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
|
||||
| `global.imageRegistry` | Global Docker image registry | `nil` |
|
||||
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `global.storageClass` | Global storage class for dynamic provisioning | `nil` |
|
||||
| `image.registry` | Ghost image registry | `docker.io` |
|
||||
| `image.repository` | Ghost Image name | `bitnami/ghost` |
|
||||
| `image.tag` | Ghost Image tag | `{TAG_NAME}` |
|
||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `nameOverride` | String to partially override ghost.fullname template with a string (will prepend the release name) | `nil` |
|
||||
| `fullnameOverride` | String to fully override ghost.fullname template with a string | `nil` |
|
||||
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
|
||||
| `volumePermissions.image.repository` | Init container volume-permissions image name | `bitnami/minideb` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `buster` |
|
||||
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `Always` |
|
||||
| `ghostHost` | Ghost host to create application URLs | `nil` |
|
||||
| `ghostPort` | Ghost port to use in application URLs (defaults to `service.port` if `nil`) | `nil` |
|
||||
| `ghostProtocol` | Protocol (http or https) to use in the application URLs | `http` |
|
||||
| `ghostPath` | Ghost path to create application URLs | `nil` |
|
||||
| `ghostUsername` | User of the application | `user@example.com` |
|
||||
| `ghostPassword` | Application password | Randomly generated |
|
||||
| `ghostEmail` | Admin email | `user@example.com` |
|
||||
| `ghostBlogTitle` | Ghost Blog name | `User's Blog` |
|
||||
| `smtpHost` | SMTP host | `nil` |
|
||||
| `smtpPort` | SMTP port | `nil` |
|
||||
| `smtpUser` | SMTP user | `nil` |
|
||||
| `smtpPassword` | SMTP password | `nil` |
|
||||
| `smtpFromAddress` | SMTP from address | `nil` |
|
||||
| `smtpService` | SMTP service | `nil` |
|
||||
| `allowEmptyPassword` | Allow DB blank passwords | `true` |
|
||||
| `existingSecret` | Allow to use an existing secret for passwords data | [ExistingSecret](https://github.com/bitnami/charts/tree/master/bitnami/common#existingsecret) |
|
||||
| `livenessProbe.enabled` | Would you like a livenessProbe to be enabled | `true` |
|
||||
| `livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | 120 |
|
||||
| `livenessProbe.periodSeconds` | How often to perform the probe | 3 |
|
||||
| `livenessProbe.timeoutSeconds` | When the probe times out | 5 |
|
||||
| `livenessProbe.failureThreshold` | Minimum consecutive failures to be considered failed | 6 |
|
||||
| `livenessProbe.successThreshold` | Minimum consecutive successes to be considered successful | 1 |
|
||||
| `readinessProbe.enabled` | Would you like a readinessProbe to be enabled | `true` |
|
||||
| `readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | 30 |
|
||||
| `readinessProbe.periodSeconds` | How often to perform the probe | 3 |
|
||||
| `readinessProbe.timeoutSeconds` | When the probe times out | 5 |
|
||||
| `readinessProbe.failureThreshold` | Minimum consecutive failures to be considered failed | 6 |
|
||||
| `readinessProbe.successThreshold` | Minimum consecutive successes to be considered successful | 1 |
|
||||
| `securityContext.enabled` | Enable security context | `true` |
|
||||
| `securityContext.fsGroup` | Group ID for the container | `1001` |
|
||||
| `securityContext.runAsUser` | User ID for the container | `1001` |
|
||||
| `service.type` | Kubernetes Service type | `LoadBalancer` |
|
||||
| `service.port` | Service HTTP port | `80` |
|
||||
| `service.nodePorts.http` | Kubernetes http node port | `""` |
|
||||
| `service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
|
||||
| `service.loadBalancerIP` | LoadBalancerIP for the Ghost service | `` |
|
||||
| `service.annotations` | Service annotations. Evaluated as a template | `{}` |
|
||||
| `service.extraPorts` | Service extra ports, normally used with the `sidecar` value. Evaluated as a template | `[]` |
|
||||
| `ingress.enabled` | Enable ingress controller resource | `false` |
|
||||
| `ingress.annotations` | Ingress annotations. Evaluated as a template | `{}` |
|
||||
| `ingress.certManager` | Add annotations for cert-manager | `false` |
|
||||
| `ingress.hosts[0].name` | Hostname to your Ghost installation | `ghost.local` |
|
||||
| `ingress.hosts[0].path` | Path within the url structure | `/` |
|
||||
| `ingress.hosts[0].tls` | Utilize TLS backend in ingress | `false` |
|
||||
| `ingress.hosts[0].tlsHosts` | Array of TLS hosts for ingress record (defaults to `ingress.hosts[0].name` if `nil`) | `nil` |
|
||||
| `ingress.hosts[0].tlsSecret` | TLS Secret (certificates) | `ghost.local-tls-secret` |
|
||||
| `ingress.secrets[0].name` | TLS Secret Name | `nil` |
|
||||
| `ingress.secrets[0].certificate` | TLS Secret Certificate | `nil` |
|
||||
| `ingress.secrets[0].key` | TLS Secret Key | `nil` |
|
||||
| `externalDatabase.host` | Host of the external database | `localhost` |
|
||||
| `externalDatabase.port` | Port of the external database | `3306` |
|
||||
| `externalDatabase.user` | Existing username in the external db | `bn_ghost` |
|
||||
| `externalDatabase.password` | Password for the above username | `""` |
|
||||
| `externalDatabase.database` | Name of the existing database | `bitnami_ghost` |
|
||||
| `mariadb.enabled` | Whether or not to install MariaDB (disable if using external) | `true` |
|
||||
| `mariadb.replication.enabled` | Whether or not to use MariaDB replication (disable if using external) | `false` |
|
||||
| `mariadb.rootUser.password` | MariaDB admin password | `nil` |
|
||||
| `mariadb.db.name` | MariaDB Database name to create | `bitnami_ghost` |
|
||||
| `mariadb.db.user` | MariaDB Database user to create | `bn_ghost` |
|
||||
| `mariadb.db.password` | MariaDB Password for user | _random 10 character long alphanumeric string_ |
|
||||
| `mariadb.master.persistence.enabled` | Whether or not to MariaDB persistence | `true` |
|
||||
| `mariadb.master.persistence.accessMode` | Persistent Volume Access Modes | `[ReadWriteOnce]` |
|
||||
| `mariadb.master.persistence.size` | Persistent Volume Size | `8Gi` |
|
||||
| `persistence.enabled` | Enable persistence using PVC | `true` |
|
||||
| `persistence.existingClaim` | Use an existing PVC | `""` |
|
||||
| `persistence.storageClass` | PVC Storage Class for Ghost volume | `nil` (uses alpha storage annotation) |
|
||||
| `persistence.accessMode` | PVC Access Mode for Ghost volume | `ReadWriteOnce` |
|
||||
| `persistence.size` | PVC Storage Request for Ghost volume | `8Gi` |
|
||||
| `persistence.path` | Path to mount the volume at, to use other images | `/bitnami` |
|
||||
| `resources` | CPU/Memory resource requests/limits | Memory: `512Mi`, CPU: `300m` |
|
||||
| `nodeSelector` | Node selector for pod assignment | `{}` |
|
||||
| `affinity` | Affinity for pod assignment (evaluated as a template) | `{}` |
|
||||
| `sidecars` | Attach additional containers to all pods (evaluated as a template) | `[]` |
|
||||
| `initContainers` | Attach additional init containers to all pods (evaluated as a template) | `[]` |
|
||||
| `extraVolumes` | Extra volumes for pods (evaluated as a template). Requires setting `extraVolumeMounts` | `[]` |
|
||||
| `extraVolumeMounts` | Extra volume mounts for pods (evaluated as a template). Normally used with `extraVolumes` | `[]` |
|
||||
| `extraEnvVars` | Array containing extra env vars to be added to all pods (evaluated as a template) | `[]` |
|
||||
| `extraEnvVarsConfigMap` | ConfigMap containing extra env vars to be added to all pods (evaluated as a template) | `nil` |
|
||||
| `extraEnvVarsSecret` | Secret containing extra env vars to be added to all pods (evaluated as a template) | `nil` |
|
||||
| `podAnnotations` | Additional pod annotations to be added to all pods (evaluated as a template) | `{}` |
|
||||
| `priorityClassName` | Define the priority class name to use for the ghost pods here. | `""` |
|
||||
### Global parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `global.imageRegistry` | Global Docker image registry | `nil` |
|
||||
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `global.storageClass` | Global storage class for dynamic provisioning | `nil` |
|
||||
|
||||
### Common parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `image.registry` | Ghost image registry | `docker.io` |
|
||||
| `image.repository` | Ghost Image name | `bitnami/ghost` |
|
||||
| `image.tag` | Ghost Image tag | `{TAG_NAME}` |
|
||||
| `image.pullPolicy` | Ghost image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `image.debug` | Specify if debug logs should be enabled | `false` |
|
||||
| `nameOverride` | String to partially override common.names.fullname template | `nil` |
|
||||
| `fullnameOverride` | String to fully override common.names.fullname template | `nil` |
|
||||
| `commonLabels` | Labels to add to all deployed objects | `nil` |
|
||||
| `commonAnnotations` | Annotations to add to all deployed objects | `[]` |
|
||||
| `extraDeploy` | Array of extra objects to deploy with the release (evaluated as a template). | `nil` |
|
||||
|
||||
### Ghost parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `affinity` | Map of node/pod affinities | `{}` |
|
||||
| `allowEmptyPassword` | Allow DB blank passwords | true |
|
||||
| `args` | Override default container args (useful when using custom images) | `nil` |
|
||||
| `command` | Override default container command (useful when using custom images) | `nil` |
|
||||
| `containerPorts.http` | Sets http port inside Ghost container | `8080` |
|
||||
| `containerPorts.https` | Sets https port inside Ghost container | `8443` |
|
||||
| `livenessProbe.enabled` | Would you like a livenessProbe to be enabled | `true` |
|
||||
| `livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | 120 |
|
||||
| `livenessProbe.periodSeconds` | How often to perform the probe | 3 |
|
||||
| `livenessProbe.timeoutSeconds` | When the probe times out | 5 |
|
||||
| `livenessProbe.failureThreshold` | Minimum consecutive failures to be considered failed | 6 |
|
||||
| `livenessProbe.successThreshold` | Minimum consecutive successes to be considered successful | 1 |
|
||||
| `readinessProbe.enabled` | Would you like a readinessProbe to be enabled | `true` |
|
||||
| `readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | 30 |
|
||||
| `readinessProbe.periodSeconds` | How often to perform the probe | 3 |
|
||||
| `readinessProbe.timeoutSeconds` | When the probe times out | 5 |
|
||||
| `readinessProbe.failureThreshold` | Minimum consecutive failures to be considered failed | 6 |
|
||||
| `readinessProbe.successThreshold` | Minimum consecutive successes to be considered successful | 1 |
|
||||
| `podSecurityContext.enabled` | Enable security context | `true` |
|
||||
| `podSecurityContext.fsGroup` | Group ID for the container | `1001` |
|
||||
| `podSecurityContext.runAsUser` | User ID for the container | `1001` |
|
||||
| `containerSecurityContext.enabled` | Enable Ghost containers' Security Context | `true` |
|
||||
| `containerSecurityContext.runAsUser` | Ghost containers' Security Context | `1001` |
|
||||
| `containerSecurityContext.runAsNonRoot` | Ghost containers' Security Context Non Root | `true` |
|
||||
| `customLivenessProbe` | Override default liveness probe | `nil` |
|
||||
| `customReadinessProbe` | Override default readiness probe | `nil` |
|
||||
| `existingSecret` | Name of a secret with the application password | `nil` |
|
||||
| `extraEnvVarsConfigMap` | ConfigMap containing extra env vars | `nil` |
|
||||
| `extraEnvVarsSecret` | Secret containing extra env vars (in case of sensitive data) | `nil` |
|
||||
| `extraEnvVars` | Extra environment variables | `nil` |
|
||||
| `extraVolumeMounts` | Array of extra volume mounts to be added to the container (evaluated as template). Normally used with `extraVolumes`. | `nil` |
|
||||
| `extraVolumes` | Array of extra volumes to be added to the deployment (evaluated as template). Requires setting `extraVolumeMounts` | `nil` |
|
||||
| `initContainers` | Add additional init containers to the pod (evaluated as a template) | `nil` |
|
||||
| `lifecycleHooks` | LifecycleHook to set additional configuration at startup Evaluated as a template | `` |
|
||||
| `ghostHost` | Ghost host to create application URLs | `nil` |
|
||||
| `ghostPort` | Ghost port to use in application URLs (defaults to `service.port` if `nil`) | `nil` |
|
||||
| `ghostProtocol` | Protocol (http or https) to use in the application URLs | `http` |
|
||||
| `ghostPath` | Ghost path to create application URLs | `nil` |
|
||||
| `ghostUsername` | User of the application | `user@example.com` |
|
||||
| `ghostPassword` | Application password | Randomly generated |
|
||||
| `ghostEmail` | Admin email | `user@example.com` |
|
||||
| `ghostBlogTitle` | Ghost Blog name | `User's Blog` |
|
||||
| `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. | `[]` |
|
||||
| `nodeSelector` | Node labels for pod assignment | `{}` (The value is evaluated as a template) |
|
||||
| `persistence.accessMode` | PVC Access Mode for Ghost volume | `ReadWriteOnce` |
|
||||
| `persistence.enabled` | Enable persistence using PVC | `true` |
|
||||
| `persistence.existingClaim` | An Existing PVC name | `nil` |
|
||||
| `persistence.path` | Host mount path for Ghost volume | `nil` (will not mount to a host path) |
|
||||
| `persistence.size` | PVC Storage Request for Ghost volume | `8Gi` |
|
||||
| `persistence.storageClass` | PVC Storage Class for Ghost volume | `nil` (uses alpha storage class annotation) |
|
||||
| `podAnnotations` | Pod annotations | `{}` |
|
||||
| `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` |
|
||||
| `podLabels` | Add additional labels to the pod (evaluated as a template) | `nil` |
|
||||
| `podSecurityContext.enabled` | Enable Ghost pods' Security Context | `true` |
|
||||
| `podSecurityContext.fsGroup` | Ghost pods' group ID | `1001` |
|
||||
| `priorityClassName` | Define the priority class name to use for the ghost pods here. | `""` |
|
||||
| `replicaCount` | Number of Ghost Pods to run | `1` |
|
||||
| `resources` | CPU/Memory resource requests/limits | Memory: `512Mi`, CPU: `300m` |
|
||||
| `sidecars` | Attach additional containers to the pod (evaluated as a template) | `nil` |
|
||||
| `smtpHost` | SMTP host | `nil` |
|
||||
| `smtpPort` | SMTP port | `nil` |
|
||||
| `smtpUser` | SMTP user | `nil` |
|
||||
| `smtpPassword` | SMTP password | `nil` |
|
||||
| `smtpFromAddress` | SMTP from address | `nil` |
|
||||
| `smtpService` | SMTP service | `nil` |
|
||||
| `tolerations` | Tolerations for pod assignment | `[]` (The value is evaluated as a template) |
|
||||
| `updateStrategy` | Deployment update strategy | `nil` |
|
||||
|
||||
### Traffic Exposure Parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `service.type` | Kubernetes Service type | `LoadBalancer` |
|
||||
| `service.port` | Service HTTP port | `80` |
|
||||
| `service.nodePorts.http` | Kubernetes http node port | `""` |
|
||||
| `service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
|
||||
| `service.loadBalancerIP` | LoadBalancerIP for the Ghost service | `` |
|
||||
| `service.annotations` | Service annotations. Evaluated as a template | `{}` |
|
||||
| `service.extraPorts` | Service extra ports, normally used with the `sidecar` value. Evaluated as a template | `[]` |
|
||||
| `ingress.enabled` | Enable ingress controller resource | `false` |
|
||||
| `ingress.annotations` | Ingress annotations. Evaluated as a template | `{}` |
|
||||
| `ingress.certManager` | Add annotations for cert-manager | `false` |
|
||||
| `ingress.hosts[0].name` | Hostname to your Ghost installation | `ghost.local` |
|
||||
| `ingress.hosts[0].path` | Path within the url structure | `/` |
|
||||
| `ingress.hosts[0].tls` | Utilize TLS backend in ingress | `false` |
|
||||
| `ingress.hosts[0].tlsHosts` | Array of TLS hosts for ingress record (defaults to `ingress.hosts[0].name` if `nil`) | `nil` |
|
||||
| `ingress.hosts[0].tlsSecret` | TLS Secret (certificates) | `ghost.local-tls-secret` |
|
||||
| `ingress.secrets[0].name` | TLS Secret Name | `nil` |
|
||||
| `ingress.secrets[0].certificate` | TLS Secret Certificate | `nil` |
|
||||
| `ingress.secrets[0].key` | TLS Secret Key | `nil` |
|
||||
|
||||
### Database parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `mariadb.enabled` | Whether to use the MariaDB chart | `true` |
|
||||
| `mariadb.architecture` | MariaDB architecture (`standalone` or `replication`) | `standalone` |
|
||||
| `mariadb.auth.rootPassword` | Password for the MariaDB `root` user | _random 10 character alphanumeric string_ |
|
||||
| `mariadb.auth.database` | Database name to create | `bitnami_ghost` |
|
||||
| `mariadb.auth.username` | Database user to create | `bn_ghost` |
|
||||
| `mariadb.auth.password` | Password for the database | _random 10 character long alphanumeric string_ |
|
||||
| `mariadb.primary.persistence.enabled` | Enable database persistence using PVC | `true` |
|
||||
| `mariadb.primary.persistence.existingClaim` | Name of an existing `PersistentVolumeClaim` for MariaDB primary replicas | `nil` |
|
||||
| `mariadb.primary.persistence.accessMode` | Database Persistent Volume Access Modes | `[ReadWriteOnce]` |
|
||||
| `mariadb.primary.persistence.size` | Database Persistent Volume Size | `8Gi` |
|
||||
| `mariadb.primary.persistence.storageClass` | MariaDB primary persistent volume storage Class | `nil` (uses alpha storage class annotation) |
|
||||
| `mariadb.primary.persistence.hostPath` | Host mount path for MariaDB volume | `nil` (will not mount to a host path) |
|
||||
| `externalDatabase.user` | Existing username in the external db | `bn_ghost` |
|
||||
| `externalDatabase.password` | Password for the above username | `nil` |
|
||||
| `externalDatabase.existingSecret` | Name of an existing secret resource containing the DB password in a 'mariadb-password' key | `nil` |
|
||||
| `externalDatabase.database` | Name of the existing database | `bitnami_ghost` |
|
||||
| `externalDatabase.host` | Host of the existing database | `nil` |
|
||||
| `externalDatabase.port` | Port of the existing database | `3306` |
|
||||
|
||||
### Volume Permissions parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|---------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
|
||||
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
|
||||
| `volumePermissions.image.repository` | Init container volume-permissions image name | `bitnami/minideb` |
|
||||
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `buster` |
|
||||
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `Always` |
|
||||
| `volumePermissions.resources` | Init container resource requests/limit | `nil` |
|
||||
|
||||
The above parameters map to the env variables defined in [bitnami/ghost](http://github.com/bitnami/bitnami-docker-ghost). For more information please refer to the [bitnami/ghost](http://github.com/bitnami/bitnami-docker-ghost) image documentation.
|
||||
|
||||
@@ -168,7 +226,7 @@ Specify each parameter using the `--set key=value[,key=value]` argument to `helm
|
||||
|
||||
```console
|
||||
$ helm install my-release \
|
||||
--set ghostUsername=admin,ghostPassword=password,mariadb.mariadbRootPassword=secretpassword \
|
||||
--set ghostUsername=admin,ghostPassword=password,mariadb.auth.rootPassword=secretpassword \
|
||||
bitnami/ghost
|
||||
```
|
||||
|
||||
@@ -215,6 +273,86 @@ Find more information about how to deal with common errors related to Bitnami’
|
||||
|
||||
## Upgrading
|
||||
|
||||
### To 11.0.0
|
||||
|
||||
In this major there were two main changes introduced:
|
||||
|
||||
1. Adaptation to Helm v2 EOL
|
||||
2. Updated MariaDB dependency version
|
||||
|
||||
Please read the update notes carefully.
|
||||
|
||||
**1. Adaptation to Helm v2 EOL**
|
||||
|
||||
[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL.
|
||||
|
||||
**What changes were introduced in this major version?**
|
||||
|
||||
- Previous versions of this Helm Chart use `apiVersion: v1` (installable by both Helm 2 and 3), this Helm Chart was updated to `apiVersion: v2` (installable by Helm 3 only). [Here](https://helm.sh/docs/topics/charts/#the-apiversion-field) you can find more information about the `apiVersion` field.
|
||||
- Move dependency information from the *requirements.yaml* to the *Chart.yaml*
|
||||
- After running `helm dependency update`, a *Chart.lock* file is generated containing the same structure used in the previous *requirements.lock*
|
||||
- The different fields present in the *Chart.yaml* file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts
|
||||
|
||||
**Considerations when upgrading to this version**
|
||||
|
||||
- If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues
|
||||
- If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore
|
||||
- If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the [official Helm documentation](https://helm.sh/docs/topics/v2_v3_migration/#migration-use-cases) about migrating from Helm v2 to v3
|
||||
|
||||
**Useful links**
|
||||
|
||||
- https://docs.bitnami.com/tutorials/resolve-helm2-helm3-post-migration-issues/
|
||||
- https://helm.sh/docs/topics/v2_v3_migration/
|
||||
- https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/
|
||||
|
||||
**2. Updated MariaDB dependency version**
|
||||
|
||||
In this major the MariaDB dependency version was also bumped to a new major version that introduces several incompatilibites. Therefore, backwards compatibility is not guaranteed unless an external database is used. Check [MariaDB Upgrading Notes](https://github.com/bitnami/charts/tree/master/bitnami/mariadb#to-800) for more information.
|
||||
|
||||
To upgrade to `11.0.0`, it should be done reusing the PVCs used to hold both the MariaDB and Ghost data on your previous release. To do so, follow the instructions below (the following example assumes that the release name is `ghost`):
|
||||
|
||||
> NOTE: Please, create a backup of your database before running any of those actions. The steps below would be only valid if your application (e.g. any plugins or custom code) is compatible with MariaDB 10.5.x
|
||||
|
||||
Obtain the credentials and the name of the PVC used to hold the MariaDB data on your current release:
|
||||
|
||||
```console
|
||||
$ export GHOST_HOST=$(kubectl get svc --namespace default ghost --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
|
||||
$ export GHOST_PASSWORD=$(kubectl get secret --namespace default ghost -o jsonpath="{.data.ghost-password}" | base64 --decode)
|
||||
$ export MARIADB_ROOT_PASSWORD=$(kubectl get secret --namespace default ghost-mariadb -o jsonpath="{.data.mariadb-root-password}" | base64 --decode)
|
||||
$ export MARIADB_PASSWORD=$(kubectl get secret --namespace default ghost-mariadb -o jsonpath="{.data.mariadb-password}" | base64 --decode)
|
||||
$ export MARIADB_PVC=$(kubectl get pvc -l app=mariadb,component=master,release=ghost -o jsonpath="{.items[0].metadata.name}")
|
||||
```
|
||||
|
||||
Delete the Ghost deployment and delete the MariaDB statefulset. Notice the option `--cascade=false` in the latter.
|
||||
|
||||
```console
|
||||
$ kubectl delete deployments.apps ghost
|
||||
|
||||
$ kubectl delete statefulsets.apps ghost-mariadb --cascade=false
|
||||
```
|
||||
|
||||
Upgrade you release to 11.0.0 reusing the existing PVC, and enabling back MariaDB:
|
||||
|
||||
```console
|
||||
$ helm upgrade ghost bitnami/ghost --set mariadb.primary.persistence.existingClaim=$MARIADB_PVC --set mariadb.auth.rootPassword=$MARIADB_ROOT_PASSWORD --set mariadb.auth.password=$MARIADB_PASSWORD --set ghostPassword=$GHOST_PASSWORD --set ghostHost=$GHOST_HOST
|
||||
```
|
||||
|
||||
You will need to kill the existing MariaDB pod now as the new statefulset is going to create a new one:
|
||||
|
||||
```console
|
||||
$ kubectl delete pod ghost-mariadb-0
|
||||
```
|
||||
|
||||
You should see the lines below in MariaDB container logs:
|
||||
|
||||
```console
|
||||
$ kubectl logs $(kubectl get pods -l app.kubernetes.io/instance=ghost,app.kubernetes.io/name=mariadb,app.kubernetes.io/component=primary -o jsonpath="{.items[0].metadata.name}")
|
||||
...
|
||||
mariadb 12:13:24.98 INFO ==> Using persisted data
|
||||
mariadb 12:13:25.01 INFO ==> Running mysql_upgrade
|
||||
...
|
||||
```
|
||||
|
||||
### To 10.0.0
|
||||
|
||||
This version introduces `bitnami/common`, a [library chart](https://helm.sh/docs/topics/library_charts/#helm) as a dependency. More documentation about this new utility could be found [here](https://github.com/bitnami/charts/tree/master/bitnami/common#bitnami-common-library-chart). Please, make sure that you have updated the chart dependencies before executing any upgrade.
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 0.7.1
|
||||
- name: mariadb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 7.10.4
|
||||
digest: sha256:39ee8523e8904f2bc181acb1aceab1ecb54859b04319e8bbe891e4274cb95830
|
||||
generated: "2020-10-05T17:42:05.435469884Z"
|
||||
@@ -1,12 +0,0 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
version: 0.7.x
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
tags:
|
||||
- bitnami-common
|
||||
- name: mariadb
|
||||
version: 7.x.x
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
condition: mariadb.enabled
|
||||
tags:
|
||||
- ghost-database
|
||||
@@ -1,6 +1,6 @@
|
||||
{{- $ghostPasswordKey := ( include "common.secrets.key" (dict "existingSecret" .Values.existingSecret "key" "ghost-password") ) -}}
|
||||
{{- $ghostSecretName := (include "ghost.fullname" .) -}}
|
||||
{{- $mariadbSecretName := (include "ghost.mariadb.fullname" .) -}}
|
||||
{{- $ghostSecretName := (include "common.names.fullname" .) -}}
|
||||
{{- $databaseSecretName := include "ghost.databaseSecretName" . -}}
|
||||
{{- if empty (include "ghost.host" .) -}}
|
||||
###############################################################################
|
||||
### ERROR: You did not provide an external host in your 'helm install' call ###
|
||||
@@ -18,22 +18,22 @@ host. To configure Ghost with the URL of your service:
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "ghost.fullname" . }}'
|
||||
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "common.names.fullname" . }}'
|
||||
|
||||
export APP_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "ghost.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
|
||||
export APP_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
|
||||
|
||||
{{- end }}
|
||||
|
||||
{{ include "common.utils.secret.getvalue" (dict "secret" $ghostSecretName "field" $ghostPasswordKey "context" $) }}
|
||||
{{- if .Values.mariadb.mariadbRootPassword }}
|
||||
{{ include "common.utils.secret.getvalue" (dict "secret" $mariadbSecretName "field" "mariadb-root-password" "context" $) }}
|
||||
{{- if .Values.mariadb.auth.rootPassword }}
|
||||
{{ include "common.utils.secret.getvalue" (dict "secret" $databaseSecretName "field" "mariadb-root-password" "context" $) }}
|
||||
{{- end }}
|
||||
{{ include "common.utils.secret.getvalue" (dict "secret" $mariadbSecretName "field" "mariadb-password" "context" $) }}
|
||||
{{ include "common.utils.secret.getvalue" (dict "secret" $databaseSecretName "field" "mariadb-password" "context" $) }}
|
||||
|
||||
2. Complete your Ghost deployment by running:
|
||||
|
||||
helm upgrade {{ .Release.Name }} bitnami/{{ .Chart.Name }} \
|
||||
--set service.type={{ .Values.service.type }},ghostHost=$APP_HOST,ghostPassword=$GHOST_PASSWORD,{{ if .Values.mariadb.mariadbRootPassword }},mariadb.mariadbRootPassword=$MARIADB_ROOT_PASSWORD{{ end }}mariadb.db.password=$MARIADB_PASSWORD{{- if .Values.global }}{{- if .Values.global.imagePullSecrets }},global.imagePullSecrets={{ .Values.global.imagePullSecrets }}{{- end }}{{- end }}
|
||||
--set service.type={{ .Values.service.type }},ghostHost=$APP_HOST,ghostPassword=$GHOST_PASSWORD{{ if .Values.mariadb.auth.rootPassword }},mariadb.auth.rootPassword=$MARIADB_ROOT_PASSWORD{{ end }},mariadb.auth.password=$MARIADB_PASSWORD{{- if .Values.global }}{{- if .Values.global.imagePullSecrets }},global.imagePullSecrets={{ .Values.global.imagePullSecrets }}{{- end }}{{- end }}
|
||||
{{- else -}}
|
||||
1. Get the Ghost URL by running:
|
||||
|
||||
@@ -41,11 +41,11 @@ host. To configure Ghost with the URL of your service:
|
||||
|
||||
echo Blog URL : http://127.0.0.1:{{ default "80" .Values.service.port }}{{ .Values.ghostPath }}
|
||||
echo Admin URL : http://127.0.0.1:{{ default "80" .Values.service.port }}{{ default "/" .Values.ghostPath }}ghost
|
||||
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "ghost.fullname" . }} {{ default "80" .Values.service.port }}:{{ default "80" .Values.service.port }}
|
||||
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "common.names.fullname" . }} {{ default "80" .Values.service.port }}:{{ default "80" .Values.service.port }}
|
||||
|
||||
{{- else if eq .Values.service.type "NodePort" }}
|
||||
export APP_HOST=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
export APP_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "ghost.fullname" . }})
|
||||
export APP_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "common.names.fullname" . }})
|
||||
|
||||
echo Blog URL : http://$APP_HOST:$APP_PORT{{ .Values.ghostPath }}
|
||||
echo Admin URL : http://$APP_HOST:$APP_PORT{{ default "/" .Values.ghostPath }}ghost
|
||||
@@ -59,26 +59,26 @@ host. To configure Ghost with the URL of your service:
|
||||
2. Get your Ghost login credentials by running:
|
||||
|
||||
echo Email: {{ .Values.ghostEmail }}
|
||||
echo Password: $(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "ghost.fullname" . }} -o jsonpath="{.data.{{- $ghostPasswordKey -}}}" | base64 --decode)
|
||||
echo Password: $(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} -o jsonpath="{.data.{{- $ghostPasswordKey -}}}" | base64 --decode)
|
||||
{{- end }}
|
||||
|
||||
{{ include "common.warnings.rollingTag" .Values.image }}
|
||||
|
||||
{{- $passwordErrors := list -}}
|
||||
{{- $passwordValidationErrors := list -}}
|
||||
{{- if not .Values.existingSecret -}}
|
||||
{{- $requiredGhostPassword := dict "valueKey" "ghostPassword" "secret" $ghostSecretName "field" "ghost-password" "context" $ -}}
|
||||
{{- $requiredGhostPasswordError := include "common.validations.values.single.empty" $requiredGhostPassword -}}
|
||||
{{- $passwordErrors = append $passwordErrors $requiredGhostPasswordError -}}
|
||||
{{- $passwordValidationErrors = append $passwordValidationErrors $requiredGhostPasswordError -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $passwordMysqlErrors := include "common.validations.values.mariadb.passwords" (dict "secretName" $mariadbSecretName "context" $) -}}
|
||||
{{- $passwordErrors = append $passwordErrors $passwordMysqlErrors -}}
|
||||
{{- if .Values.mariadb.enabled }}
|
||||
{{- $mariadbPasswordValidationErrors := include "common.validations.values.mariadb.passwords" (dict "secret" $databaseSecretName "subchart" true "context" $) -}}
|
||||
{{- $passwordValidationErrors = append $passwordValidationErrors $mariadbPasswordValidationErrors -}}
|
||||
{{- end }}
|
||||
{{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" $passwordValidationErrors "context" $) -}}
|
||||
|
||||
{{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" $passwordErrors "context" $) -}}
|
||||
|
||||
{{- if and (not .Values.mariadb.enabled) .Values.externalDatabase.host .Release.IsUpgrade -}}
|
||||
{{- $externaldbSecretName := include "ghost.externalDb.secret.name" . -}}
|
||||
{{- $requiredExternalPassword := dict "valueKey" "externalDatabase.password" "secret" $externaldbSecretName "field" "mariadb-password" -}}
|
||||
{{- if and (not .Values.mariadb.enabled) .Release.IsUpgrade .Values.externalDatabase.password -}}
|
||||
{{- $requiredExternalPassword := dict "valueKey" "externalDatabase.password" "secret" $databaseSecretName "field" "mariadb-password" -}}
|
||||
|
||||
WARNING: Review values for the following password in the command, if they are correct please ignore this notice.
|
||||
{{- include "common.validations.values.multiple.empty" (dict "required" (list $requiredExternalPassword) "context" $) -}}
|
||||
|
||||
@@ -1,19 +1,4 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "ghost.name" -}}
|
||||
{{- include "common.names.name" . -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "ghost.fullname" -}}
|
||||
{{- include "common.names.fullname" . -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
@@ -23,13 +8,6 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
|
||||
{{- printf "%s-%s" .Release.Name "mariadb" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "ghost.chart" -}}
|
||||
{{- include "common.names.chart" . -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the proper Ghost image name
|
||||
*/}}
|
||||
@@ -90,8 +68,62 @@ If not using ClusterIP, or if a host or LoadBalancerIP is not defined, the value
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Get external db secret name.
|
||||
Return the MariaDB Hostname
|
||||
*/}}
|
||||
{{- define "ghost.externalDb.secret.name" -}}
|
||||
{{ include "ghost.fullname" . }}-external-db
|
||||
{{- define "ghost.databaseHost" -}}
|
||||
{{- if .Values.mariadb.enabled }}
|
||||
{{- if eq .Values.mariadb.architecture "replication" }}
|
||||
{{- printf "%s-%s" (include "ghost.mariadb.fullname" .) "primary" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s" (include "ghost.mariadb.fullname" .) -}}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s" .Values.externalDatabase.host -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the MariaDB Port
|
||||
*/}}
|
||||
{{- define "ghost.databasePort" -}}
|
||||
{{- if .Values.mariadb.enabled }}
|
||||
{{- printf "3306" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%d" (.Values.externalDatabase.port | int ) -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the MariaDB Database Name
|
||||
*/}}
|
||||
{{- define "ghost.databaseName" -}}
|
||||
{{- if .Values.mariadb.enabled }}
|
||||
{{- printf "%s" .Values.mariadb.auth.database -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s" .Values.externalDatabase.database -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the MariaDB User
|
||||
*/}}
|
||||
{{- define "ghost.databaseUser" -}}
|
||||
{{- if .Values.mariadb.enabled }}
|
||||
{{- printf "%s" .Values.mariadb.auth.username -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s" .Values.externalDatabase.user -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the MariaDB Secret Name
|
||||
*/}}
|
||||
{{- define "ghost.databaseSecretName" -}}
|
||||
{{- if .Values.mariadb.enabled }}
|
||||
{{- printf "%s" (include "ghost.mariadb.fullname" .) -}}
|
||||
{{- else if .Values.externalDatabase.existingSecret -}}
|
||||
{{- printf "%s" .Values.externalDatabase.existingSecret -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" (include "common.names.fullname" .) "external-db" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -2,8 +2,15 @@
|
||||
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "ghost.fullname" . }}
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: ghost
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.annotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.service.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
|
||||
@@ -11,25 +18,44 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
labels: {{- include "common.labels.standard" . | nindent 8 }}
|
||||
app.kubernetes.io/component: ghost
|
||||
{{- if .Values.podLabels }}
|
||||
{{- include "common.tplvalues.render" (dict "value" .Values.podLabels "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.podAnnotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.podAnnotations "context" $ ) | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- include "ghost.imagePullSecrets" . | indent 6 }}
|
||||
{{- if .Values.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.affinity "context" $) | nindent 8 }}
|
||||
{{- else }}
|
||||
affinity:
|
||||
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAffinityPreset "context" $) | nindent 10 }}
|
||||
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.nodeSelector }}
|
||||
nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.nodeSelector "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.tolerations }}
|
||||
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.tolerations "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: {{ .Values.priorityClassName | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.securityContext.enabled }}
|
||||
securityContext:
|
||||
fsGroup: {{ .Values.securityContext.fsGroup }}
|
||||
runAsUser: {{ .Values.securityContext.runAsUser }}
|
||||
{{- if .Values.podSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.podSecurityContext "enabled" | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
initContainers:
|
||||
{{- if not .Values.securityContext.enabled }}
|
||||
{{- if not .Values.podSecurityContext.enabled }}
|
||||
- name: volume-permissions
|
||||
image: {{ include "ghost.volumePermissions.image" . }}
|
||||
imagePullPolicy: "{{ .Values.volumePermissions.image.pullPolicy }}"
|
||||
command: ['sh', '-c', 'chmod -R g+rwX {{ .Values.persistence.path }}']
|
||||
{{- if .Values.volumePermissions.resources }}
|
||||
resources: {{- toYaml .Values.volumePermissions.resources | nindent 12 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- mountPath: {{ .Values.persistence.path }}
|
||||
name: ghost-data
|
||||
@@ -38,35 +64,36 @@ spec:
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.initContainers "context" $ ) | indent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: ghost
|
||||
- name: {{ include "common.names.fullname" . }}
|
||||
image: {{ include "ghost.image" . }}
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
|
||||
{{- if .Values.lifecycleHooks }}
|
||||
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.lifecycleHooks "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.containerSecurityContext.enabled }}
|
||||
securityContext: {{- omit .Values.containerSecurityContext "enabled" | toYaml | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.command }}
|
||||
command: {{- include "common.tplvalues.render" (dict "value" .Values.command "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.args }}
|
||||
args: {{- include "common.tplvalues.render" (dict "value" .Values.args "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
env:
|
||||
- name: ALLOW_EMPTY_PASSWORD
|
||||
value: {{ ternary "yes" "no" .Values.allowEmptyPassword | quote }}
|
||||
{{- $host := .Values.externalDatabase.host -}}
|
||||
{{- $port := .Values.externalDatabase.port -}}
|
||||
{{- $database := .Values.externalDatabase.database -}}
|
||||
{{- $user := .Values.externalDatabase.user -}}
|
||||
|
||||
{{- if .Values.mariadb.enabled -}}
|
||||
{{- $host = (include "ghost.mariadb.fullname" .) -}}
|
||||
{{- $port = .Values.mariadb.service.port -}}
|
||||
{{- $database = .Values.mariadb.db.name -}}
|
||||
{{- $user = .Values.mariadb.db.user -}}
|
||||
{{- end }}
|
||||
- name: MARIADB_HOST
|
||||
value: {{ $host | quote }}
|
||||
value: {{ include "ghost.databaseHost" . | quote }}
|
||||
- name: MARIADB_PORT_NUMBER
|
||||
value: {{ $port | quote }}
|
||||
value: {{ include "ghost.databasePort" . | quote }}
|
||||
- name: GHOST_DATABASE_NAME
|
||||
value: {{ $database | quote }}
|
||||
value: {{ include "ghost.databaseName" . | quote }}
|
||||
- name: GHOST_DATABASE_USER
|
||||
value: {{ $user | quote }}
|
||||
value: {{ include "ghost.databaseUser" . | quote }}
|
||||
- name: GHOST_DATABASE_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ ternary ( include "ghost.mariadb.fullname" . ) (include "ghost.externalDb.secret.name" .) .Values.mariadb.enabled }}
|
||||
name: {{ include "ghost.databaseSecretName" . }}
|
||||
key: mariadb-password
|
||||
- name: GHOST_HOST
|
||||
value: {{ include "ghost.endpoint" . | quote }}
|
||||
@@ -146,6 +173,8 @@ spec:
|
||||
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.livenessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
||||
{{- else if .Values.customLivenessProbe }}
|
||||
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customLivenessProbe "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
@@ -164,6 +193,8 @@ spec:
|
||||
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
|
||||
successThreshold: {{ .Values.readinessProbe.successThreshold }}
|
||||
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
|
||||
{{- else if .Values.customReadinessProbe }}
|
||||
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customReadinessProbe "context" $) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.resources }}
|
||||
resources: {{- toYaml .Values.resources | nindent 12 }}
|
||||
@@ -181,17 +212,11 @@ spec:
|
||||
- name: ghost-data
|
||||
{{- if .Values.persistence.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ default (include "ghost.fullname" .) .Values.persistence.existingClaim }}
|
||||
claimName: {{ default (include "common.names.fullname" .) .Values.persistence.existingClaim }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
{{- if .Values.extraVolumes }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.extraVolumes "context" $ ) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.nodeSelector }}
|
||||
nodeSelector: {{- include "common.tplvalues.render" ( dict "value" .Values.nodeSelector "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.affinity }}
|
||||
affinity: {{- include "common.tplvalues.render" ( dict "value" .Values.affinity "context" $) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
4
bitnami/ghost/templates/extra-list.yaml
Normal file
4
bitnami/ghost/templates/extra-list.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
{{- range .Values.extraDeploy }}
|
||||
---
|
||||
{{ include "common.tplvalues.render" (dict "value" . "context" $) }}
|
||||
{{- end }}
|
||||
@@ -1,15 +1,22 @@
|
||||
{{- if .Values.ingress.enabled }}
|
||||
apiVersion: extensions/v1beta1
|
||||
apiVersion: {{ template "common.capabilities.ingress.apiVersion" . }}
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ include "ghost.fullname" . }}
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: ghost
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- if .Values.ingress.certManager }}
|
||||
kubernetes.io/tls-acme: "true"
|
||||
{{- end }}
|
||||
{{- if .Values.ingress.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.ingress.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.ingress.certManager }}
|
||||
kubernetes.io/tls-acme: "true"
|
||||
{{- if $.Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" $.Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
rules:
|
||||
@@ -19,7 +26,7 @@ spec:
|
||||
paths:
|
||||
- path: {{ default "/" .path }}
|
||||
backend:
|
||||
serviceName: {{ include "ghost.fullname" $ }}
|
||||
serviceName: "{{ include "common.names.fullname" $ }}"
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
tls:
|
||||
|
||||
@@ -2,8 +2,15 @@
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ include "ghost.fullname" . }}
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: ghost
|
||||
{{- 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 }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.accessMode | quote }}
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
{{- if not .Values.mariadb.enabled }}
|
||||
{{- if (not (or .Values.mariadb.enabled .Values.externalDatabase.existingSecret)) }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "ghost.externalDb.secret.name" . }}
|
||||
name: {{ printf "%s-%s" (include "common.names.fullname" .) "external-db" }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: ghost
|
||||
{{- 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 }}
|
||||
type: Opaque
|
||||
data:
|
||||
{{- if .Values.externalDatabase.password }}
|
||||
|
||||
@@ -2,12 +2,19 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ include "ghost.fullname" . }}
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
app.kubernetes.io/component: ghost
|
||||
{{- 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 }}
|
||||
type: Opaque
|
||||
data:
|
||||
{{- if .Values.ghostPassword }}
|
||||
ghost-password: {{ .Values.ghostPassword | b64enc | quote }}
|
||||
ghost-password: {{ default "" .Values.ghostPassword | b64enc | quote }}
|
||||
{{- else }}
|
||||
ghost-password: {{ randAlphaNum 10 | b64enc | quote }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "ghost.fullname" . }}
|
||||
name: {{ include "common.names.fullname" . }}
|
||||
labels: {{- include "common.labels.standard" . | nindent 4 }}
|
||||
{{- if .Values.service.annotations }}
|
||||
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.service.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/component: ghost
|
||||
{{- if .Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- if .Values.service.annotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.service.annotations "context" $) | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.commonAnnotations }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) }}
|
||||
|
||||
@@ -5,6 +5,7 @@ kind: Secret
|
||||
metadata:
|
||||
name: {{ .name }}
|
||||
labels: {{- include "common.labels.standard" $ | nindent 4 }}
|
||||
app.kubernetes.io/component: ghost
|
||||
{{- if $.Values.commonLabels }}
|
||||
{{- include "common.tplvalues.render" ( dict "value" $.Values.commonLabels "context" $ ) | nindent 4 }}
|
||||
{{- end }}
|
||||
@@ -15,5 +16,6 @@ type: kubernetes.io/tls
|
||||
data:
|
||||
tls.crt: {{ .certificate | b64enc }}
|
||||
tls.key: {{ .key | b64enc }}
|
||||
---
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
"form": true,
|
||||
"description": "Whether to deploy a mariadb server to satisfy the applications database requirements. To use an external database switch this off and configure the external database parameters"
|
||||
},
|
||||
"master": {
|
||||
"primary": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"persistence": {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/ghost
|
||||
tag: 3.38.1-debian-10-r0
|
||||
tag: 3.38.1-debian-10-r1
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
@@ -27,11 +27,16 @@ image:
|
||||
# pullSecrets:
|
||||
# - myRegistryKeySecretName
|
||||
|
||||
## String to partially override ghost.fullname template (will maintain the release name)
|
||||
## Command and args for running the Ghost container (set to default if not set). Use array form
|
||||
##
|
||||
command: []
|
||||
args: []
|
||||
|
||||
## String to partially override common.names.fullname template (will maintain the release name)
|
||||
##
|
||||
# nameOverride:
|
||||
|
||||
## String to fully override ghost.fullname template
|
||||
## String to fully override common.names.fullname template
|
||||
##
|
||||
# fullnameOverride:
|
||||
|
||||
@@ -50,6 +55,23 @@ volumePermissions:
|
||||
##
|
||||
# pullSecrets:
|
||||
# - myRegistryKeySecretName
|
||||
## Init containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
## We usually recommend not to specify default resources and to leave this as a conscious
|
||||
## choice for the user. This also increases chances charts run on environments with little
|
||||
## resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
##
|
||||
limits: {}
|
||||
## cpu: 100m
|
||||
## memory: 128Mi
|
||||
##
|
||||
requests: {}
|
||||
## cpu: 100m
|
||||
## memory: 128Mi
|
||||
##
|
||||
|
||||
## Ghost protocol, host, port and path to create application URLs
|
||||
## ref: https://github.com/bitnami/bitnami-docker-ghost#configuration
|
||||
@@ -81,11 +103,11 @@ ghostEmail: user@example.com
|
||||
ghostBlogTitle: User's Blog
|
||||
|
||||
## Set to `true` to allow the container to be started with blank passwords
|
||||
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||
## ref: https://github.com/bitnami/bitnami-docker-ghost#environment-variables
|
||||
allowEmptyPassword: true
|
||||
|
||||
## SMTP mail delivery configuration
|
||||
## ref: https://github.com/bitnami/bitnami-docker-redmine/#smtp-configuration
|
||||
## ref: https://github.com/bitnami/bitnami-docker-ghost/#smtp-configuration
|
||||
##
|
||||
# smtpHost:
|
||||
# smtpPort:
|
||||
@@ -128,12 +150,18 @@ readinessProbe:
|
||||
##
|
||||
## External database configuration
|
||||
##
|
||||
## All of these values are only used when mariadb.enabled is set to false
|
||||
##
|
||||
externalDatabase:
|
||||
## All of these values are only used when mariadb.enabled is set to false
|
||||
## Use existing secret (ignores previous password)
|
||||
## must contain key `mariadb-password`
|
||||
## NOTE: When it's set, the `externalDatabase.password` parameter is ignored
|
||||
# existingSecret:
|
||||
|
||||
## Database host
|
||||
host: localhost
|
||||
|
||||
## non-root Username for Wordpress Database
|
||||
## non-root Username for Ghost Database
|
||||
user: bn_ghost
|
||||
|
||||
## Database password
|
||||
@@ -152,31 +180,32 @@ externalDatabase:
|
||||
##
|
||||
mariadb:
|
||||
## Whether to deploy a mariadb server to satisfy the applications database requirements. To use an external database set this to false and configure the externalDatabase parameters
|
||||
##
|
||||
enabled: true
|
||||
## Disable MariaDB replication
|
||||
replication:
|
||||
enabled: false
|
||||
|
||||
## Create a database and a database user
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-user-on-first-run
|
||||
## MariaDB architecture. Allowed values: standalone or replication
|
||||
##
|
||||
db:
|
||||
name: bitnami_ghost
|
||||
user: bn_ghost
|
||||
## If the password is not specified, mariadb will generates a random password
|
||||
architecture: standalone
|
||||
|
||||
## MariaDB Authentication parameters
|
||||
##
|
||||
auth:
|
||||
## MariaDB root password
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb#setting-the-root-password-on-first-run
|
||||
##
|
||||
# password:
|
||||
rootPassword: ""
|
||||
## MariaDB custom user and database
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-on-first-run
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-user-on-first-run
|
||||
##
|
||||
database: bitnami_ghost
|
||||
username: bn_ghost
|
||||
password: ""
|
||||
|
||||
## MariaDB admin password
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run
|
||||
##
|
||||
# rootUser:
|
||||
# password:
|
||||
|
||||
## Enable persistence using Persistent Volume Claims
|
||||
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||
##
|
||||
master:
|
||||
primary:
|
||||
## Enable persistence using Persistent Volume Claims
|
||||
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||
##
|
||||
persistence:
|
||||
enabled: true
|
||||
## mariadb data Persistent Volume Storage Class
|
||||
@@ -187,8 +216,15 @@ mariadb:
|
||||
## GKE, AWS & OpenStack)
|
||||
##
|
||||
# storageClass: "-"
|
||||
accessMode: ReadWriteOnce
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
size: 8Gi
|
||||
## Set path in case you want to use local host path volumes (not recommended in production)
|
||||
##
|
||||
hostPath:
|
||||
## Use an existing PVC
|
||||
##
|
||||
existingClaim:
|
||||
|
||||
## Kubernetes configuration
|
||||
## For minikube, set this to NodePort, elsewhere use LoadBalancer
|
||||
@@ -223,14 +259,19 @@ service:
|
||||
##
|
||||
annotations: {}
|
||||
|
||||
## Pod Security Context
|
||||
## SecurityContext configuration
|
||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
##
|
||||
securityContext:
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
runAsUser: 1001
|
||||
|
||||
containerSecurityContext:
|
||||
enabled: false
|
||||
runAsUser: 1001
|
||||
runAsNonRoot: true
|
||||
|
||||
## Enable persistence using Persistent Volume Claims
|
||||
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||
##
|
||||
@@ -246,15 +287,34 @@ persistence:
|
||||
# storageClass: "-"
|
||||
accessMode: ReadWriteOnce
|
||||
size: 8Gi
|
||||
|
||||
## A manually managed Persistent Volume Claim
|
||||
## Requires persistence.enabled: true
|
||||
## If defined, PVC must be created manually before volume will be bound
|
||||
##
|
||||
# existingClaim:
|
||||
|
||||
## If defined, the moodle-data volume will mount to the specified path.
|
||||
## Requires persistence.enabled: true
|
||||
## Requires persistence.existingClaim: nil|false
|
||||
## Default: nil.
|
||||
##
|
||||
path: /bitnami
|
||||
|
||||
## Configure resource requests and limits
|
||||
## Ghost containers' resource requests and limits
|
||||
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||
##
|
||||
resources:
|
||||
requests:
|
||||
memory: 512Mi
|
||||
cpu: 300m
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
limits: {}
|
||||
# cpu: 2
|
||||
# memory: 1Gi
|
||||
requests: {}
|
||||
# cpu: 1
|
||||
# memory: 1Gi
|
||||
|
||||
## Configure the ingress resource that allows you to access the
|
||||
## Ghost installation. Set up the URL
|
||||
@@ -309,26 +369,85 @@ ingress:
|
||||
# key:
|
||||
# certificate:
|
||||
|
||||
## Node selector for pod assignment
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
|
||||
## Pod affinity preset
|
||||
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
||||
## Allowed values: soft, hard
|
||||
##
|
||||
nodeSelector: {}
|
||||
podAffinityPreset: ""
|
||||
|
||||
## Affinity for pod assignment (evaluated as a template)
|
||||
## Pod anti-affinity preset
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
|
||||
## Allowed values: soft, hard
|
||||
##
|
||||
podAntiAffinityPreset: soft
|
||||
|
||||
## Node affinity preset
|
||||
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
|
||||
## Allowed values: soft, hard
|
||||
##
|
||||
nodeAffinityPreset:
|
||||
## Node affinity type
|
||||
## Allowed values: soft, hard
|
||||
type: ""
|
||||
## Node label key to match
|
||||
## E.g.
|
||||
## key: "kubernetes.io/e2e-az-name"
|
||||
##
|
||||
key: ""
|
||||
## Node label values to match
|
||||
## E.g.
|
||||
## values:
|
||||
## - e2e-az1
|
||||
## - e2e-az2
|
||||
##
|
||||
values: []
|
||||
|
||||
## Affinity for pod assignment. Evaluated as a template.
|
||||
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Additional pod annotations
|
||||
## Node labels for pod assignment. Evaluated as a template.
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment. Evaluated as a template.
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Pod extra labels
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
##
|
||||
podLabels: {}
|
||||
|
||||
## Annotations for server pods.
|
||||
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
##
|
||||
podAnnotations: {}
|
||||
|
||||
## lifecycleHooks for the Ghost container to automate configuration before or after startup.
|
||||
##
|
||||
lifecycleHooks: {}
|
||||
|
||||
## Custom Liveness probes for Ghost
|
||||
##
|
||||
customLivenessProbe: {}
|
||||
|
||||
## Custom Rediness probes Ghost
|
||||
##
|
||||
customReadinessProbe: {}
|
||||
|
||||
## Priority Class Name
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
|
||||
##
|
||||
# priorityClassName: ""
|
||||
|
||||
## Extra objects to deploy (value evaluated as a template)
|
||||
##
|
||||
extraDeploy: []
|
||||
|
||||
## Add sidecars to the pod
|
||||
## For example:
|
||||
## sidecars:
|
||||
@@ -338,7 +457,7 @@ podAnnotations: {}
|
||||
## ports:
|
||||
## - name: portname
|
||||
## containerPort: 1234
|
||||
sidecars: []
|
||||
sidecars: {}
|
||||
|
||||
## Add init containers to the pod
|
||||
## For example:
|
||||
@@ -347,7 +466,7 @@ sidecars: []
|
||||
## image: your-image
|
||||
## imagePullPolicy: Always
|
||||
##
|
||||
initContainers: []
|
||||
initContainers: {}
|
||||
|
||||
## Array to add extra volumes
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user