# Wordpress    A Helm chart for Wordpress on Kubernetes ## TL;DR ```bash $ helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/ $ helm install my-release groundhog2k/wordpress ``` ## Introduction This chart uses the original [Wordpress from Docker](https://hub.docker.com/_/wordpress) to deploy Wordpress in Kubernetes. It fully supports deployment of the multi-architecture docker image. ## Prerequisites - Kubernetes 1.12+ - Helm 3.x - PV provisioner support in the underlying infrastructure ## Installing the Chart To install the chart with the release name `my-release`: ```bash $ helm install my-release groundhog2k/wordpress ``` ## Uninstalling the Chart To uninstall/delete the `my-release` deployment: ```bash $ helm uninstall my-release ``` ## Requirements | Repository | Name | Version | |------------|------|---------| | @groundhog2k | mariadb | 0.2.8 | ## Common parameters | Key | Type | Default | Description | |-----|------|---------|-------------| | fullnameOverride | string | `""` | Fully override the deployment name | | nameOverride | string | `""` | Partially override the deployment name | ## Deployment parameters | Key | Type | Default | Description | |-----|------|---------|-------------| | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | | image.repository | string | `"wordpress"` | Image name | | image.tag | string | `""` | Image tag | | imagePullSecrets | list | `[]` | Image pull secrets | | strategy | object | `{}` | Pod deployment strategy | | livenessProbe | object | `see values.yaml` | Liveness probe configuration | | readinessProbe | object | `see values.yaml` | Readiness probe configuration | | customLivenessProbe | object | `{}` | Custom liveness probe (overwrites default liveness probe configuration) | | customReadinessProbe | object | `{}` | Custom readiness probe (overwrites default readiness probe configuration) | | resources | object | `{}` | Resource limits and requests | | nodeSelector | object | `{}` | Deployment node selector | | podAnnotations | object | `{}` | Additional pod annotations | | podSecurityContext | object | `see values.yaml` | Pod security context | | securityContext | object | `see values.yaml` | Container security context | | env | list | `[]` | Additional container environmment variables | | args | list | `[]` | Arguments for the container entrypoint process | | serviceAccount.create | bool | `false` | Enable service account creation | | serviceAccount.name | string | `""` | Optional name of the service account | | serviceAccount.annotations | object | `{}` | Additional service account annotations | | affinity | object | `{}` | Affinity for pod assignment | | tolerations | list | `[]` | Tolerations for pod assignment | | containerPort | int | `8000` | Internal http container port | | replicaCount | int | `1` | Number of replicas | ## Service paramters | Key | Type | Default | Description | |-----|------|---------|-------------| | service.port | int | `80` | Wordpress HTTP service port | | service.type | string | `"ClusterIP"` | Service type | | service.nodePort | int | `nil` | The node port (only relevant for type LoadBalancer or NodePort) | | service.clusterIP | string | `nil` | The cluster ip address (only relevant for type LoadBalancer or NodePort) | | service.loadBalancerIP | string | `nil` | The load balancer ip address (only relevant for type LoadBalancer) | ## Ingress parameters | Key | Type | Default | Description | |-----|------|---------|-------------| | ingress.enabled | bool | `false` | Enable ingress for Wordpress service | | ingress.annotations | string | `nil` | Additional annotations for ingress | | ingress.hosts[0].host | string | `""` | Hostname for the ingress endpoint | | ingress.tls | list | `[]` | Ingress TLS parameters | | ingress.maxBodySize | string | `"64m"` | Maximum body size for post requests | ## Database settings | Key | Type | Default | Description | |-----|------|---------|-------------| | externalDatabase.host | string | `nil` | External database host | | externalDatabase.name | string | `"wordpress"` | External database name | | externalDatabase.user | string | `nil` | External database user name | | externalDatabase.password | string | `nil` | External database user password | | mariadb.enabled | bool | `false` | Enable MariaDB deployment (will disable external database settings) | | mariadb.settings.rootPassword | string | `nil` | MariaDB root user password | | mariadb.storage | string | `nil` | MariaDB storage settings | | mariadb.userDatabase.name | string | `nil` | MariaDB wordpress database name | | mariadb.userDatabase.password | string | `nil` | MariaDB wordpress database user | | mariadb.userDatabase.user | string | `nil` | MariaDB wordpress database user password | ## Wordpress parameters | Key | Type | Default | Description | |-----|------|---------|-------------| | apacheDefaultSiteConfig | string | `""` | Overwrite default apache 000-default.conf | | apachePortsConfig | string | `""` | Overwrite default apache ports.conf | | customPhpConfig | string | `""` | Additional PHP custom.ini | | settings.tablePrefix | string | `nil` | Database table name prefix | | settings.maxFileUploadSize | string | `64M` | Maximum file upload size | | settings.memoryLimit | string | `128M` | PHP memory limit | ## Storage parameters | Key | Type | Default | Description | |-----|------|---------|-------------| | storage.accessModes[0] | string | `"ReadWriteOnce"` | Storage access mode | | storage.persistentVolumeClaimName | string | `nil` | PVC name when existing storage volume should be used | | storage.requestedSize | string | `nil` | Size for new PVC, when no existing PVC is used | | storage.className | string | `nil` | Storage class name |