You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: charts/multica/README.md
+42-1Lines changed: 42 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ frontend:
30
30
- Kubernetes 1.24+
31
31
- Helm 3.10+
32
32
- 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
34
34
35
35
## Install
36
36
@@ -79,6 +79,15 @@ backend:
79
79
name: multica-email
80
80
key: RESEND_API_KEY
81
81
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
82
91
83
92
storage:
84
93
local:
@@ -104,10 +113,27 @@ Leave `database.pool.maxConns` and `database.pool.minConns` empty unless you exp
104
113
105
114
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.
106
115
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
+
107
131
## Agent Execution Model
108
132
109
133
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.
110
134
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
+
111
137
## Configuration Reference
112
138
113
139
## Values
@@ -147,8 +173,21 @@ This chart deploys the Multica server layer only: backend, frontend, database wi
Copy file name to clipboardExpand all lines: charts/multica/README.md.gotmpl
+27-1Lines changed: 27 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ frontend:
30
30
- Kubernetes 1.24+
31
31
- Helm 3.10+
32
32
- For production: external PostgreSQL and a real `JWT_SECRET`
33
-
- For email delivery: Resend API credentials
33
+
- For email delivery: Resend API credentialsor an SMTP relay
34
34
35
35
## Install
36
36
@@ -79,6 +79,15 @@ backend:
79
79
name: multica-email
80
80
key: RESEND_API_KEY
81
81
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
82
91
83
92
storage:
84
93
local:
@@ -104,10 +113,27 @@ Leave `database.pool.maxConns` and `database.pool.minConns` empty unless you exp
104
113
105
114
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.
106
115
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
+
107
131
## Agent Execution Model
108
132
109
133
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.
110
134
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.
0 commit comments