Skip to content

Commit 6277155

Browse files
committed
Document stable image channel rollout
1 parent 6761da8 commit 6277155

2 files changed

Lines changed: 10 additions & 9 deletions

File tree

DEVSH.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,29 @@ The `DevSH FOSS image` workflow builds a fully self-hosted FOSS Rocket.Chat imag
2020
5. Build the Meteor production bundle.
2121
6. Keep a DevSH FOSS compatibility license package for shared Community code paths that import `@rocket.chat/license`.
2222
7. Build the Docker image.
23-
8. Publish immutable semver-compatible tags to `ghcr.io/devsh-graphics-programming/rocketchat-foss`.
23+
8. Publish immutable semver-compatible tags and the stable `devsh` channel tag to `ghcr.io/devsh-graphics-programming/rocketchat-foss`.
2424

2525
Runtime validation happens after deployment through the TerraInfra Rocket.Chat E2E checks. The image workflow stays focused on producing and publishing the DevSH FOSS container.
2626

2727
## Image Tags
2828

2929
Pushes to `devsh` publish:
3030

31-
- `<rocket-version>-devsh.YYYYMMDDHHMMSS.<sha>` as the immutable rollout tag.
32-
- `devsh` as a moving convenience tag.
31+
- `<rocket-version>-devsh.YYYYMMDDHHMMSS.<sha>` as the immutable audit and rollback tag.
32+
- `devsh` as the stable production channel tag.
3333

34-
Terraform/Flux uses only immutable semver-compatible DevSH tags for production rollouts because the upstream Helm chart runs semver checks against `.Values.image.tag`.
34+
TerraInfra points the Rocket.Chat HelmRelease at the stable `devsh` tag with `imagePullPolicy=Always`. Immutable tags remain available for audit, debugging, and explicit rollback.
3535

3636
## TerraInfra Integration
3737

38-
TerraInfra watches the GHCR package with Flux image automation:
38+
TerraInfra uses the standard DevSH image rollout model:
3939

4040
- `ImageRepository`: `ghcr.io/devsh-graphics-programming/rocketchat-foss`
41-
- `ImagePolicy`: newest immutable semver-compatible DevSH tag
42-
- `ImageUpdateAutomation`: commits the selected tag to `env/prod`
41+
- GitHub package webhook to the Rocket cluster Flux Receiver
42+
- Digest rollout hook for immediate deployment restarts when the `devsh` digest changes
43+
- Digest rollout CronJob as fallback
4344

44-
After Flux commits the tag update, the Rocket.Chat HelmRelease rolls the deployment on `prod-rocket-01`.
45+
Do not add TerraInfra tag bump workflows to this fork. Publishing a new `devsh` package is enough; the cluster observes the digest change and rolls itself forward.
4546

4647
## Operational Rule
4748

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
> [!IMPORTANT]
2-
> This is the DevSH operational fork of Rocket.Chat. The `devsh` branch is used to build a FOSS-only image for the isolated DevSH production workspace. The image workflow runs `yarn fossify`, publishes immutable semver-compatible `<rocket-version>-devsh.YYYYMMDDHHMMSS.<sha>` tags to `ghcr.io/devsh-graphics-programming/rocketchat-foss`, and TerraInfra/Flux consumes those tags for production rollout on `prod-rocket-01`.
2+
> This is the DevSH operational fork of Rocket.Chat. The `devsh` branch is used to build a FOSS-only image for the isolated DevSH production workspace. The image workflow runs `yarn fossify`, publishes immutable semver-compatible `<rocket-version>-devsh.YYYYMMDDHHMMSS.<sha>` tags plus the stable `devsh` channel tag to `ghcr.io/devsh-graphics-programming/rocketchat-foss`, and TerraInfra rolls `prod-rocket-01` from the stable channel digest.
33
>
44
> Keep runtime infrastructure changes in TerraInfra. Keep this fork close to upstream Rocket.Chat and use `DEVSH.md` for the DevSH branch/build model.
55

0 commit comments

Comments
 (0)