Skip to content

Commit 7bfe268

Browse files
committed
docs(multica): document 0.3.1 parity settings
1 parent 8c016bd commit 7bfe268

2 files changed

Lines changed: 69 additions & 2 deletions

File tree

charts/multica/README.md

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ frontend:
3030
- Kubernetes 1.24+
3131
- Helm 3.10+
3232
- For production: external PostgreSQL and a real `JWT_SECRET`
33-
- For email delivery: Resend API credentials
33+
- For email delivery: Resend API credentials or an SMTP relay
3434

3535
## Install
3636

@@ -79,6 +79,15 @@ backend:
7979
name: multica-email
8080
key: RESEND_API_KEY
8181
resendFromEmail: noreply@example.com
82+
smtp:
83+
host: smtp.example.com
84+
port: 587
85+
usernameRef:
86+
name: multica-smtp
87+
key: SMTP_USERNAME
88+
passwordRef:
89+
name: multica-smtp
90+
key: SMTP_PASSWORD
8291
8392
storage:
8493
local:
@@ -104,10 +113,27 @@ Leave `database.pool.maxConns` and `database.pool.minConns` empty unless you exp
104113

105114
Signup restrictions only apply to first-time signup. Existing users can always sign in again. To restrict first-time signup to explicit addresses or domains, keep `backend.config.allowSignup=true` and set `backend.config.allowedEmails` or `backend.config.allowedEmailDomains`. Setting `backend.config.allowSignup=false` blocks every new signup even when an email allowlist is present.
106115

116+
Email delivery can use Resend or an SMTP relay. SMTP is enabled when `backend.email.smtp.host` is set, and upstream Multica checks `SMTP_HOST` before Resend, so SMTP takes priority when both are configured. For production SMTP auth, prefer `backend.email.smtp.passwordRef` instead of inline `backend.email.smtp.password`.
117+
118+
GitHub App integration only needs the app slug and webhook secret for this chart scope. Store the webhook secret in an existing Kubernetes Secret:
119+
120+
```yaml
121+
backend:
122+
github:
123+
appSlug: multica-example
124+
webhookSecretRef:
125+
name: multica-github
126+
key: GITHUB_WEBHOOK_SECRET
127+
```
128+
129+
Usage rollup flags are read-path switches only. Set `backend.usageRollups.dailyEnabled` or `backend.usageRollups.dashboardEnabled` only after the external scheduler and historical backfill are in place. This chart doesn't create the scheduler, run backfill jobs, or make rollup data complete by itself.
130+
107131
## Agent Execution Model
108132

109133
This chart deploys the Multica server layer only: backend, frontend, database wiring, and upload storage. Agent execution still happens through Multica daemons running on separate machines where Codex, Claude Code, OpenCode, or another supported coding tool is installed.
110134

135+
Daemon-only environment variables don't belong in this server-layer chart. Keep values such as `MULTICA_CLAUDE_ARGS`, `MULTICA_CODEX_ARGS`, and `MULTICA_TASK_SLOT` on daemon hosts or daemon workloads, not in backend or frontend pod configuration.
136+
111137
## Configuration Reference
112138

113139
## Values
@@ -147,8 +173,21 @@ This chart deploys the Multica server layer only: backend, frontend, database wi
147173
| backend.email.resendApiKeyRef.key | string | `""` | Secret key for RESEND_API_KEY. |
148174
| backend.email.resendApiKeyRef.name | string | `""` | Existing secret containing RESEND_API_KEY. |
149175
| backend.email.resendFromEmail | string | `"noreply@multica.ai"` | Sender address for verification emails. |
176+
| backend.email.smtp.host | string | `""` | SMTP relay host. When empty, Multica uses Resend or stdout fallback. |
177+
| backend.email.smtp.password | string | `""` | Optional SMTP auth password. |
178+
| backend.email.smtp.passwordRef.key | string | `""` | Secret key for SMTP_PASSWORD. |
179+
| backend.email.smtp.passwordRef.name | string | `""` | Existing secret containing SMTP_PASSWORD. |
180+
| backend.email.smtp.port | int | `25` | SMTP relay port. Multica uses plain SMTP with optional STARTTLS, so implicit TLS port 465 is not supported. |
181+
| backend.email.smtp.tlsInsecure | bool | `false` | Skip TLS certificate verification for SMTP STARTTLS. |
182+
| backend.email.smtp.username | string | `""` | Optional SMTP auth username. |
183+
| backend.email.smtp.usernameRef.key | string | `""` | Secret key for SMTP_USERNAME. |
184+
| backend.email.smtp.usernameRef.name | string | `""` | Existing secret containing SMTP_USERNAME. |
150185
| backend.envFrom | list | `[]` | Extra backend envFrom refs. |
151186
| backend.extraEnv | list | `[]` | Extra backend env vars. Managed env names are rejected to avoid silent overrides. |
187+
| backend.github.appSlug | string | `""` | GitHub App slug. |
188+
| backend.github.webhookSecret | string | `""` | GitHub App webhook secret. Prefer webhookSecretRef for production deployments. |
189+
| backend.github.webhookSecretRef.key | string | `""` | Secret key for GITHUB_WEBHOOK_SECRET. |
190+
| backend.github.webhookSecretRef.name | string | `""` | Existing secret containing GITHUB_WEBHOOK_SECRET. |
152191
| backend.google.clientId | string | `""` | Google OAuth client ID. |
153192
| backend.google.clientIdRef.key | string | `""` | Secret key for GOOGLE_CLIENT_ID. |
154193
| backend.google.clientIdRef.name | string | `""` | Existing secret containing GOOGLE_CLIENT_ID. |
@@ -172,6 +211,8 @@ This chart deploys the Multica server layer only: backend, frontend, database wi
172211
| backend.service.targetPort | int | `8080` | Backend container port. |
173212
| backend.service.type | string | `"ClusterIP"` | Backend Service type. |
174213
| backend.tolerations | list | `[]` | Backend tolerations. |
214+
| backend.usageRollups.dailyEnabled | bool | `false` | Enable runtime usage reads from the daily rollup table after external backfill/scheduler setup is complete. |
215+
| backend.usageRollups.dashboardEnabled | bool | `false` | Enable dashboard usage reads from the dashboard rollup table after external backfill/scheduler setup is complete. |
175216
| backend.volumeMounts | list | `[]` | Additional backend volume mounts. |
176217
| backend.volumes | list | `[]` | Additional backend volumes. |
177218
| database.external.enabled | bool | `false` | Enable external PostgreSQL mode. When enabled, set postgres.enabled=false. |

charts/multica/README.md.gotmpl

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ frontend:
3030
- Kubernetes 1.24+
3131
- Helm 3.10+
3232
- For production: external PostgreSQL and a real `JWT_SECRET`
33-
- For email delivery: Resend API credentials
33+
- For email delivery: Resend API credentials or an SMTP relay
3434

3535
## Install
3636

@@ -79,6 +79,15 @@ backend:
7979
name: multica-email
8080
key: RESEND_API_KEY
8181
resendFromEmail: noreply@example.com
82+
smtp:
83+
host: smtp.example.com
84+
port: 587
85+
usernameRef:
86+
name: multica-smtp
87+
key: SMTP_USERNAME
88+
passwordRef:
89+
name: multica-smtp
90+
key: SMTP_PASSWORD
8291
8392
storage:
8493
local:
@@ -104,10 +113,27 @@ Leave `database.pool.maxConns` and `database.pool.minConns` empty unless you exp
104113

105114
Signup restrictions only apply to first-time signup. Existing users can always sign in again. To restrict first-time signup to explicit addresses or domains, keep `backend.config.allowSignup=true` and set `backend.config.allowedEmails` or `backend.config.allowedEmailDomains`. Setting `backend.config.allowSignup=false` blocks every new signup even when an email allowlist is present.
106115

116+
Email delivery can use Resend or an SMTP relay. SMTP is enabled when `backend.email.smtp.host` is set, and upstream Multica checks `SMTP_HOST` before Resend, so SMTP takes priority when both are configured. For production SMTP auth, prefer `backend.email.smtp.passwordRef` instead of inline `backend.email.smtp.password`.
117+
118+
GitHub App integration only needs the app slug and webhook secret for this chart scope. Store the webhook secret in an existing Kubernetes Secret:
119+
120+
```yaml
121+
backend:
122+
github:
123+
appSlug: multica-example
124+
webhookSecretRef:
125+
name: multica-github
126+
key: GITHUB_WEBHOOK_SECRET
127+
```
128+
129+
Usage rollup flags are read-path switches only. Set `backend.usageRollups.dailyEnabled` or `backend.usageRollups.dashboardEnabled` only after the external scheduler and historical backfill are in place. This chart doesn't create the scheduler, run backfill jobs, or make rollup data complete by itself.
130+
107131
## Agent Execution Model
108132

109133
This chart deploys the Multica server layer only: backend, frontend, database wiring, and upload storage. Agent execution still happens through Multica daemons running on separate machines where Codex, Claude Code, OpenCode, or another supported coding tool is installed.
110134

135+
Daemon-only environment variables don't belong in this server-layer chart. Keep values such as `MULTICA_CLAUDE_ARGS`, `MULTICA_CODEX_ARGS`, and `MULTICA_TASK_SLOT` on daemon hosts or daemon workloads, not in backend or frontend pod configuration.
136+
111137
## Configuration Reference
112138

113139
{{ template "chart.valuesSection" . }}

0 commit comments

Comments
 (0)