Skip to content

Commit 3df1903

Browse files
committed
docs(self-hosting): install from the published chart, not a checkout
The Terraform page still told readers the chart "is not published to a Helm repository or an OCI registry, so there is no repository to point at", and had them vendor the repo as a submodule or git clone. That is now false, and it is the same claim that makes a self-hoster conclude Sim is not packaged for them, so it is the most important line in the docs to correct. It now points repository at the OCI registry with a pinned version, notes the classic repository as the alternative for tooling that does not speak OCI, and replaces the "because the chart is local, version does nothing" paragraph -- pinning the chart version is now both possible and the thing that stops an unplanned apply pulling new migrations. Syntax checked against the provider docs; the page's existing set_sensitive list form is already v3. Also switches the two upgrade commands and the env render check off ./helm/sim, which no longer exists for anyone following the install path. Deliberately unchanged, because these are not install references: - The chart README links on the Kubernetes page. The README lives in the repo; charts.sim.ai serves index.yaml, not documentation. - The cosign --certificate-identity-regexp. That is a Sigstore OIDC identity that happens to look like a URL, and rewriting it would break verification. - The releases page and issue tracker links, which point where they should. - The git clone in the quick start, which is the Docker Compose path and genuinely does need the repo.
1 parent 52eaa9a commit 3df1903

3 files changed

Lines changed: 15 additions & 7 deletions

File tree

apps/docs/content/docs/platform/self-hosting/environment-variables.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ Setting the variable to an empty string does **not** remove it: the chart reads
311311
Null the variable in every layer that sets it. If it appears in both `app.env` and `app.envDefaults`, nulling only the `app.env` entry lets the `envDefaults` value apply again and the limit stays in force. With External Secrets, also drop the key from `externalSecrets.remoteRefs.app`, which keeps syncing it independently. Confirm what the pod will actually receive before rolling out:
312312

313313
```bash
314-
helm template sim ./helm/sim -f values.yaml | grep -A1 FREE_TABLE # expect no output
314+
helm template sim oci://ghcr.io/simstudioai/charts/sim --version 1.9.3 -f values.yaml | grep -A1 FREE_TABLE # expect no output
315315
```
316316

317317
`null` deletion has no effect under `helm upgrade --reuse-values` — pass your full values with `-f`, or use `--reset-then-reuse-values` (Helm 3.14+). If you deploy with Argo CD, put the `null` in `valueFiles` or the `values` string rather than `valuesObject`, which strips nulls. On Docker Compose, delete the line from your `.env` file.

apps/docs/content/docs/platform/self-hosting/reference-architectures.mdx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,23 @@ See [Security](/platform/self-hosting/security) for the full secret inventory, w
139139

140140
## Calling the chart from Terraform
141141

142-
If you already run Terraform, the chart is the resource to wrap — not something to reimplement. It is not published to a Helm repository or an OCI registry, so there is no `repository` to point at: vendor this repo as a submodule, a release tarball, or a `git clone` in your pipeline, and give `chart` the local path.
142+
If you already run Terraform, the chart is the resource to wrap — not something to reimplement. Point `repository` at the OCI registry and pin `version`; there is no need to vendor the repo.
143143

144144
```hcl
145145
resource "helm_release" "sim" {
146146
name = "sim"
147147
namespace = "sim"
148148
create_namespace = true
149149
150-
# Local path, not a repository. Pin the git ref you vendor from.
151-
chart = "${path.module}/sim/helm/sim"
150+
# Always pin `version`. Without it Terraform resolves the newest published
151+
# chart at apply time, which is how an unplanned apply moves Sim to a new
152+
# release with new migrations.
153+
repository = "oci://ghcr.io/simstudioai/charts"
154+
chart = "sim"
155+
version = "1.9.3"
156+
157+
# Or the classic repository, if your tooling does not speak OCI:
158+
# repository = "https://charts.sim.ai"
152159
153160
# Your own values file. The examples under helm/sim/examples/ carry
154161
# placeholder secrets and are starting points, not deployable as-is.
@@ -172,6 +179,6 @@ resource "helm_release" "sim" {
172179
The example values files ship literal placeholders such as `your-secure-production-auth-secret-here`. That includes `postgresql.auth.password`. The chart only rejects empty values and its own `CHANGE-ME` strings, so a deployment that inherits those placeholders installs cleanly with a publicly known session-signing secret and database password. Override every secret, or use External Secrets and set none of them inline.
173180
</Callout>
174181

175-
Because the chart is local, `version` does nothing — what pins it is the git ref you vendor from, and `helm/sim/Chart.yaml` tells you which chart release that ref carries. Pin that ref, and pin the image tags separately, or an unplanned `terraform apply` can move Sim to a new release with new migrations. See [Upgrades](/platform/self-hosting/upgrades).
182+
Pin `version` above, and pin the image tags separately — the chart version and the application version move independently, so pinning one does not pin the other. See [Upgrades](/platform/self-hosting/upgrades).
176183

177184
Once the infrastructure exists, follow [Kubernetes](/platform/self-hosting/kubernetes) for the install itself, then the [pre-launch checklist](/platform/self-hosting/security) and the [verification checklist](/platform/self-hosting/verify).

apps/docs/content/docs/platform/self-hosting/upgrades.mdx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,15 +156,16 @@ Migration surprises are usually data-shaped rather than schema-shaped, so a stag
156156
<Tab value="Kubernetes (Helm)">
157157

158158
```bash
159-
helm upgrade sim ./helm/sim \
159+
helm upgrade sim oci://ghcr.io/simstudioai/charts/sim \
160+
--version 1.9.3 \
160161
--namespace simstudio \
161162
--values my-values.yaml
162163
```
163164

164165
Preview first if the chart version changed:
165166

166167
```bash
167-
helm diff upgrade sim ./helm/sim -n simstudio --values my-values.yaml
168+
helm diff upgrade sim oci://ghcr.io/simstudioai/charts/sim --version 1.9.3 -n simstudio --values my-values.yaml
168169
```
169170

170171
Then watch the rollout:

0 commit comments

Comments
 (0)