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: DEVSH.md
+9-8Lines changed: 9 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,28 +20,29 @@ The `DevSH FOSS image` workflow builds a fully self-hosted FOSS Rocket.Chat imag
20
20
5. Build the Meteor production bundle.
21
21
6. Keep a DevSH FOSS compatibility license package for shared Community code paths that import `@rocket.chat/license`.
22
22
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`.
24
24
25
25
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.
26
26
27
27
## Image Tags
28
28
29
29
Pushes to `devsh` publish:
30
30
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.
33
33
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.
35
35
36
36
## TerraInfra Integration
37
37
38
-
TerraInfra watches the GHCR package with Flux image automation:
38
+
TerraInfra uses the standard DevSH image rollout model:
-`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
43
44
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.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
> [!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.
3
3
>
4
4
> Keep runtime infrastructure changes in TerraInfra. Keep this fork close to upstream Rocket.Chat and use `DEVSH.md` for the DevSH branch/build model.
0 commit comments