|
| 1 | +# Octa Helm Chart |
| 2 | + |
| 3 | +This document provides information about the Helm chart for deploying Octa, a WordPress theme based on Laravel, Bedrock, and Sage. |
| 4 | + |
| 5 | +## Installation |
| 6 | + |
| 7 | +```bash |
| 8 | +# Add the repository (if applicable) |
| 9 | +# helm repo add octa-repo <repository-url> |
| 10 | + |
| 11 | +# Install the chart |
| 12 | +helm install octa ./octa |
| 13 | +``` |
| 14 | + |
| 15 | +## Configuration |
| 16 | + |
| 17 | +The following table lists the configurable parameters of the Octa chart and their default values. |
| 18 | + |
| 19 | +### General Configuration |
| 20 | + |
| 21 | +| Parameter | Description | Default | |
| 22 | +|-----------|-------------|---------| |
| 23 | +| `replicaCount` | Number of replicas | `1` | |
| 24 | +| `image.repository` | Image repository | `nginx` | |
| 25 | +| `image.tag` | Image tag | `""` (defaults to chart appVersion) | |
| 26 | +| `image.pullPolicy` | Image pull policy | `Always` | |
| 27 | +| `app.environment` | Application environment | `production` | |
| 28 | + |
| 29 | +### Database Configuration |
| 30 | + |
| 31 | +| Parameter | Description | Default | |
| 32 | +|-----------|-------------|---------| |
| 33 | +| `mariadb.enabled` | Enable MariaDB | `true` | |
| 34 | +| `mariadb.url` | MariaDB URL | `""` | |
| 35 | +| `mariadb.auth.username` | MariaDB username | `octa` | |
| 36 | +| `mariadb.auth.password` | MariaDB password | `!ThisMustBeChanged!` | |
| 37 | +| `mariadb.auth.rootPassword` | MariaDB root password | `!ThisMustBeChanged!` | |
| 38 | +| `mariadb.auth.database` | MariaDB database name | `octa` | |
| 39 | + |
| 40 | +### Valkey Configuration (Redis-compatible) |
| 41 | + |
| 42 | +| Parameter | Description | Default | |
| 43 | +|-----------|-------------|---------| |
| 44 | +| `valkey.enabled` | Enable Valkey | `false` | |
| 45 | +| `valkey.token` | Valkey token | `""` | |
| 46 | +| `valkey.auth.enabled` | Enable Valkey authentication | `false` | |
| 47 | + |
| 48 | +### Uploads Volume Configuration |
| 49 | + |
| 50 | +The chart now supports configuring a volume for uploads. This allows you to persist uploads across pod restarts and share them between replicas. |
| 51 | + |
| 52 | +| Parameter | Description | Default | |
| 53 | +|-----------|-------------|---------| |
| 54 | +| `uploads.enabled` | Enable uploads volume | `true` | |
| 55 | +| `uploads.hostPath` | Host path for uploads | `/data/website` | |
| 56 | +| `uploads.containerPath` | Container path for uploads | `/var/www/html/public/content/uploads` | |
| 57 | + |
| 58 | +### Mail Configuration |
| 59 | + |
| 60 | +The chart supports conditional mail configuration with two modes: |
| 61 | + |
| 62 | +| Parameter | Description | Default | |
| 63 | +|-----------|-------------|---------| |
| 64 | +| `mail.mailer` | Mail driver (native or smtps) | `native` | |
| 65 | +| `mail.host` | SMTP host (only for smtps) | `""` | |
| 66 | +| `mail.port` | SMTP port (only for smtps) | `""` | |
| 67 | +| `mail.username` | SMTP username (only for smtps) | `""` | |
| 68 | +| `mail.password` | SMTP password (only for smtps) | `""` | |
| 69 | +| `mail.encryption` | SMTP encryption (only for smtps) | `""` | |
| 70 | +| `mail.fromAddress` | From email address (only for smtps) | `""` | |
| 71 | +| `mail.fromName` | From name (only for smtps) | `""` | |
| 72 | + |
| 73 | +## Usage Examples |
| 74 | + |
| 75 | +### Basic Installation |
| 76 | + |
| 77 | +```bash |
| 78 | +helm install octa ./octa |
| 79 | +``` |
| 80 | + |
| 81 | +### Custom Uploads Path |
| 82 | + |
| 83 | +To use a custom path for uploads on the host: |
| 84 | + |
| 85 | +```bash |
| 86 | +helm install octa ./octa --set uploads.hostPath=/custom/path/for/uploads |
| 87 | +``` |
| 88 | + |
| 89 | +### Disable Uploads Volume |
| 90 | + |
| 91 | +If you don't need the uploads volume: |
| 92 | + |
| 93 | +```bash |
| 94 | +helm install octa ./octa --set uploads.enabled=false |
| 95 | +``` |
| 96 | + |
| 97 | +### Mail Configuration Examples |
| 98 | + |
| 99 | +```bash |
| 100 | +# Default installation (native mail) |
| 101 | +helm install octa ./octa |
| 102 | + |
| 103 | +# SMTP configuration |
| 104 | +helm install octa ./octa \ |
| 105 | + --set mail.mailer=smtps \ |
| 106 | + --set mail.host=smtp.mailjet.com \ |
| 107 | + --set mail.port=587 \ |
| 108 | + --set mail.username=myusername \ |
| 109 | + --set mail.password=mypassword \ |
| 110 | + --set mail.encryption=tls \ |
| 111 | + --set mail.fromAddress=noreply@example.com \ |
| 112 | + --set mail.fromName="My App" |
| 113 | +``` |
| 114 | + |
| 115 | +### Complete Example with Custom Configuration |
| 116 | + |
| 117 | +```bash |
| 118 | +helm install octa ./octa \ |
| 119 | + --set app.environment=production \ |
| 120 | + --set mariadb.auth.password=mySecurePassword \ |
| 121 | + --set mariadb.auth.rootPassword=mySecureRootPassword \ |
| 122 | + --set uploads.hostPath=/mnt/nfs/website-uploads \ |
| 123 | + --set uploads.containerPath=/var/www/html/public/content/uploads \ |
| 124 | + --set mail.mailer=smtps \ |
| 125 | + --set mail.host=smtp.mailjet.com \ |
| 126 | + --set mail.port=587 |
| 127 | +``` |
| 128 | + |
| 129 | +## Additional Volumes |
| 130 | + |
| 131 | +If you need to mount additional volumes, you can use the `volumes` and `volumeMounts` parameters: |
| 132 | + |
| 133 | +```yaml |
| 134 | +volumes: |
| 135 | + - name: config-volume |
| 136 | + configMap: |
| 137 | + name: my-config |
| 138 | + |
| 139 | +volumeMounts: |
| 140 | + - name: config-volume |
| 141 | + mountPath: /etc/config |
| 142 | + readOnly: true |
| 143 | +``` |
| 144 | +
|
| 145 | +These can be set using `--set-file` or by providing a values file. |
0 commit comments