Skip to content

Latest commit

 

History

History
49 lines (31 loc) · 2.23 KB

File metadata and controls

49 lines (31 loc) · 2.23 KB

DevSH Rocket.Chat Fork

This fork carries the DevSH operational branch for the self-hosted Rocket.Chat deployment.

Branch Model

  • devsh is the production build branch used by DevSH infrastructure.
  • devsh starts from an upstream Rocket.Chat release tag.
  • Upstream updates should be pulled into devsh intentionally, then validated through the image workflow before TerraInfra rolls forward.
  • Runtime production changes belong in TerraInfra. This fork should stay close to upstream Rocket.Chat source.

FOSS Image Build

The DevSH FOSS image workflow builds a fully self-hosted FOSS Rocket.Chat image:

  1. Check out the devsh branch.
  2. Install Node, Yarn, Deno, and Meteor.
  3. Build shared packages.
  4. Run yarn fossify, which removes Enterprise and commercial source directories.
  5. Build the Meteor production bundle.
  6. Keep a DevSH FOSS compatibility license package for shared Community code paths that import @rocket.chat/license.
  7. Build the Docker image.
  8. Publish immutable semver-compatible tags to ghcr.io/devsh-graphics-programming/rocketchat-foss.

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.

Image Tags

Pushes to devsh publish:

  • <rocket-version>-devsh.YYYYMMDDHHMMSS.<sha> as the immutable rollout tag.
  • devsh as a moving convenience tag.

Terraform/Flux uses only immutable semver-compatible DevSH tags for production rollouts because the upstream Helm chart runs semver checks against .Values.image.tag.

TerraInfra Integration

TerraInfra watches the GHCR package with Flux image automation:

  • ImageRepository: ghcr.io/devsh-graphics-programming/rocketchat-foss
  • ImagePolicy: newest immutable semver-compatible DevSH tag
  • ImageUpdateAutomation: commits the selected tag to env/prod

After Flux commits the tag update, the Rocket.Chat HelmRelease rolls the deployment on prod-rocket-01.

Operational Rule

Do not use Rocket.Chat official Enterprise-flavored container images for the isolated DevSH deployment. The DevSH production service uses this FOSS image route so the workspace stays self-hosted without a cloud/license dependency for basic chat functionality.