change to defaultSecrets
This commit is contained in:
@@ -40,7 +40,7 @@ defaultConfig:
|
|||||||
dbHostname: postgres.postgres.svc.cluster.local
|
dbHostname: postgres.postgres.svc.cluster.local
|
||||||
dbUsername: immich
|
dbUsername: immich
|
||||||
domain: immich.{{ .cloud.domain }}
|
domain: immich.{{ .cloud.domain }}
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.immich.dbPassword
|
- apps.immich.dbPassword
|
||||||
- apps.postgres.password
|
- apps.postgres.password
|
||||||
```
|
```
|
||||||
@@ -55,7 +55,7 @@ requiredSecrets:
|
|||||||
| `icon` | No | URL to app icon for UI display |
|
| `icon` | No | URL to app icon for UI display |
|
||||||
| `requires` | No | List of dependency apps (e.g., `postgres`, `redis`) |
|
| `requires` | No | List of dependency apps (e.g., `postgres`, `redis`) |
|
||||||
| `defaultConfig` | Yes | Default configuration values merged into operator's `config.yaml` |
|
| `defaultConfig` | Yes | Default configuration values merged into operator's `config.yaml` |
|
||||||
| `requiredSecrets` | No | List of secrets in dotted-path format (e.g., `apps.appname.dbPassword`) |
|
| `defaultSecrets` | No | List of secrets in dotted-path format (e.g., `apps.appname.dbPassword`) |
|
||||||
|
|
||||||
**Important:** All configuration keys referenced in templates (via `{{ .apps.appname.key }}`) must be defined in `defaultConfig` or be standard Wild Cloud variables.
|
**Important:** All configuration keys referenced in templates (via `{{ .apps.appname.key }}`) must be defined in `defaultConfig` or be standard Wild Cloud variables.
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@ When apps need database URLs with embedded credentials, **always use a dedicated
|
|||||||
key: apps.myapp.dbUrl
|
key: apps.myapp.dbUrl
|
||||||
```
|
```
|
||||||
|
|
||||||
Add `apps.myapp.dbUrl` to your manifest's `requiredSecrets`, and the system will generate the complete URL with embedded credentials automatically when the app is added.
|
Add `apps.myapp.dbUrl` to your manifest's `defaultSecrets`, and the system will generate the complete URL with embedded credentials automatically when the app is added.
|
||||||
|
|
||||||
## Security Requirements
|
## Security Requirements
|
||||||
|
|
||||||
@@ -215,7 +215,7 @@ Secrets use a **full dotted-path naming convention** to prevent naming conflicts
|
|||||||
|
|
||||||
**In manifest:**
|
**In manifest:**
|
||||||
```yaml
|
```yaml
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.myapp.dbPassword
|
- apps.myapp.dbPassword
|
||||||
- apps.postgres.password
|
- apps.postgres.password
|
||||||
```
|
```
|
||||||
@@ -231,7 +231,7 @@ env:
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Secret workflow:**
|
**Secret workflow:**
|
||||||
1. List secrets in manifest's `requiredSecrets`
|
1. List secrets in manifest's `defaultSecrets`
|
||||||
2. When adding an app, the system generates random values in the instance's `secrets.yaml`
|
2. When adding an app, the system generates random values in the instance's `secrets.yaml`
|
||||||
3. When deploying, the system creates a Kubernetes Secret named `<app-name>-secrets`
|
3. When deploying, the system creates a Kubernetes Secret named `<app-name>-secrets`
|
||||||
4. Resources reference secrets using full dotted paths
|
4. Resources reference secrets using full dotted paths
|
||||||
|
|||||||
@@ -26,11 +26,11 @@ defaultConfig:
|
|||||||
from: "{{ .cloud.smtp.from }}"
|
from: "{{ .cloud.smtp.from }}"
|
||||||
tls: {{ .cloud.smtp.tls }}
|
tls: {{ .cloud.smtp.tls }}
|
||||||
startTls: {{ .cloud.smtp.startTls }}
|
startTls: {{ .cloud.smtp.startTls }}
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.discourse.adminPassword
|
- - key: apps.discourse.adminPassword
|
||||||
- apps.discourse.dbPassword
|
- - key: apps.discourse.dbPassword
|
||||||
- apps.discourse.dbUrl
|
- - key: apps.discourse.dbUrl
|
||||||
- apps.redis.password
|
- - key: apps.redis.password
|
||||||
- apps.discourse.secretKeyBase
|
- - key: apps.discourse.secretKeyBase
|
||||||
- apps.discourse.smtpPassword
|
- - key: apps.discourse.smtpPassword
|
||||||
- apps.postgres.password
|
- - key: apps.postgres.password
|
||||||
@@ -24,7 +24,7 @@ defaultConfig:
|
|||||||
port: "{{ .cloud.smtp.port }}"
|
port: "{{ .cloud.smtp.port }}"
|
||||||
from: "{{ .cloud.smtp.from }}"
|
from: "{{ .cloud.smtp.from }}"
|
||||||
user: "{{ .cloud.smtp.user }}"
|
user: "{{ .cloud.smtp.user }}"
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.ghost.adminPassword
|
- key: apps.ghost.adminPassword
|
||||||
- apps.ghost.dbPassword
|
- key: apps.ghost.dbPassword
|
||||||
- apps.ghost.smtpPassword
|
- key: apps.ghost.smtpPassword
|
||||||
@@ -20,7 +20,7 @@ Sensitive configuration is stored in the `gitea-secrets` secret and managed by t
|
|||||||
- `dbPassword` - Database password
|
- `dbPassword` - Database password
|
||||||
- `smtpPassword` - SMTP authentication password
|
- `smtpPassword` - SMTP authentication password
|
||||||
|
|
||||||
Secrets are defined in `secrets.yaml` and listed in `manifest.yaml` under `requiredSecrets`. When deploying, the system automatically ensures all required secrets exist in the `gitea-secrets` secret before deployment.
|
Secrets are defined in `secrets.yaml` and listed in `manifest.yaml` under `defaultSecrets`. When deploying, the system automatically ensures all required secrets exist in the `gitea-secrets` secret before deployment.
|
||||||
|
|
||||||
### Persistent Configuration (app.ini)
|
### Persistent Configuration (app.ini)
|
||||||
Gitea manages its own `app.ini` file on persistent storage for:
|
Gitea manages its own `app.ini` file on persistent storage for:
|
||||||
@@ -46,7 +46,7 @@ Gitea manages its own `app.ini` file on persistent storage for:
|
|||||||
|
|
||||||
### Secret Settings
|
### Secret Settings
|
||||||
1. Edit `secrets.yaml` with your secret values
|
1. Edit `secrets.yaml` with your secret values
|
||||||
2. Ensure the secret key is listed in `manifest.yaml` under `requiredSecrets`
|
2. Ensure the secret key is listed in `manifest.yaml` under `defaultSecrets`
|
||||||
3. Deploy the app via the web app, CLI, or API - this will automatically update the `gitea-secrets` secret and restart the pod
|
3. Deploy the app via the web app, CLI, or API - this will automatically update the `gitea-secrets` secret and restart the pod
|
||||||
|
|
||||||
### Web UI Changes
|
### Web UI Changes
|
||||||
|
|||||||
@@ -21,13 +21,13 @@ defaultConfig:
|
|||||||
timezone: UTC
|
timezone: UTC
|
||||||
runMode: prod
|
runMode: prod
|
||||||
smtp:
|
smtp:
|
||||||
host: TBD
|
host: "{{ .cloud.smtp.host }}"
|
||||||
port: 465
|
port: "{{ .cloud.smtp.port }}"
|
||||||
from: no-reply@{{ .cloud.domain }}
|
user: "{{ .cloud.smtp.user }}"
|
||||||
user: TBD
|
from: "{{ .cloud.smtp.from }}"
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.gitea.adminPassword
|
- key: apps.gitea.adminPassword
|
||||||
- apps.gitea.dbPassword
|
- key: apps.gitea.dbPassword
|
||||||
- apps.gitea.secretKey
|
- key: apps.gitea.secretKey
|
||||||
- apps.gitea.jwtSecret
|
- key: apps.gitea.jwtSecret
|
||||||
- apps.gitea.smtpPassword
|
- key: apps.gitea.smtpPassword
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ defaultConfig:
|
|||||||
dbUsername: immich
|
dbUsername: immich
|
||||||
domain: immich.{{ .cloud.domain }}
|
domain: immich.{{ .cloud.domain }}
|
||||||
tlsSecretName: wildcard-wild-cloud-tls
|
tlsSecretName: wildcard-wild-cloud-tls
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.immich.dbPassword
|
- key: apps.immich.dbPassword
|
||||||
- apps.postgres.password
|
- key: apps.postgres.password
|
||||||
- apps.redis.password
|
- key: apps.redis.password
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ defaultConfig:
|
|||||||
user: "{{ .cloud.smtp.user }}"
|
user: "{{ .cloud.smtp.user }}"
|
||||||
tls: {{ .cloud.smtp.tls }}
|
tls: {{ .cloud.smtp.tls }}
|
||||||
startTls: {{ .cloud.smtp.startTls }}
|
startTls: {{ .cloud.smtp.startTls }}
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.keila.secretKeyBase
|
- key: apps.keila.secretKeyBase
|
||||||
- apps.keila.dbPassword
|
- key: apps.keila.dbPassword
|
||||||
- apps.keila.dbUrl
|
- key: apps.keila.dbUrl
|
||||||
- apps.keila.adminPassword
|
- key: apps.keila.adminPassword
|
||||||
- apps.keila.smtpPassword
|
- key: apps.keila.smtpPassword
|
||||||
- apps.postgres.password
|
- key: apps.postgres.password
|
||||||
@@ -14,7 +14,7 @@ defaultConfig:
|
|||||||
dbUser: listmonk
|
dbUser: listmonk
|
||||||
dbSSLMode: disable
|
dbSSLMode: disable
|
||||||
timezone: UTC
|
timezone: UTC
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.listmonk.dbPassword
|
- key: apps.listmonk.dbPassword
|
||||||
- apps.listmonk.dbUrl
|
- key: apps.listmonk.dbUrl
|
||||||
- apps.postgres.password
|
- key: apps.postgres.password
|
||||||
@@ -16,4 +16,4 @@ defaultConfig:
|
|||||||
limits:
|
limits:
|
||||||
memory: 128Mi
|
memory: 128Mi
|
||||||
cpu: 200m
|
cpu: 200m
|
||||||
requiredSecrets: []
|
defaultSecrets: []
|
||||||
@@ -12,6 +12,6 @@ defaultConfig:
|
|||||||
user: mysql
|
user: mysql
|
||||||
timezone: UTC
|
timezone: UTC
|
||||||
enableSSL: false
|
enableSSL: false
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.mysql.rootPassword
|
- key: apps.mysql.rootPassword
|
||||||
- apps.mysql.password
|
- key: apps.mysql.password
|
||||||
@@ -13,5 +13,5 @@ defaultConfig:
|
|||||||
# Authentication settings
|
# Authentication settings
|
||||||
enableAuth: true
|
enableAuth: true
|
||||||
enableSignup: false
|
enableSignup: false
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.openWebui.secretKey
|
- key: apps.openWebui.secretKey
|
||||||
@@ -27,7 +27,7 @@ defaultConfig:
|
|||||||
tlsSecretName: wildcard-wild-cloud-tls
|
tlsSecretName: wildcard-wild-cloud-tls
|
||||||
cacheStore: memcache
|
cacheStore: memcache
|
||||||
railsRelativeUrlRoot: ""
|
railsRelativeUrlRoot: ""
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.openproject.dbPassword
|
- key: apps.openproject.dbPassword
|
||||||
- apps.openproject.adminPassword
|
- key: apps.openproject.adminPassword
|
||||||
- apps.postgres.password
|
- key: apps.postgres.password
|
||||||
|
|||||||
@@ -18,4 +18,4 @@ defaultConfig:
|
|||||||
gpuCount: 1
|
gpuCount: 1
|
||||||
domain: vllm.{{ .cloud.domain }}
|
domain: vllm.{{ .cloud.domain }}
|
||||||
namespace: llm
|
namespace: llm
|
||||||
requiredSecrets: []
|
defaultSecrets: []
|
||||||
Reference in New Issue
Block a user