Elsa hosting marketing website — Hugo source + Sveltia CMS http://elsahome.be
  • JavaScript 41.8%
  • CSS 30.3%
  • HTML 23.7%
  • Dockerfile 4.2%
Find a file
elsahome-website 1519c4db77
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 6s
Update Files “home”
2026-07-13 19:58:04 +00:00
.forgejo/workflows fix(ci): export DOCKER_HOST in current step, not just GITHUB_ENV 2026-07-13 02:20:45 +02:00
content Update Files “home” 2026-07-13 19:58:04 +00:00
layouts feat: restructure homepage for full CMS editing 2026-07-09 10:01:43 +02:00
static feat: add custom Sveltia CMS preview templates 2026-07-13 02:47:37 +02:00
.dockerignore Add Dockerfile for CI/CD pipeline 2026-07-12 00:31:16 +02:00
.gitignore Initial Elsa website — Hugo source + Decap CMS config 2026-07-08 18:04:04 +02:00
Dockerfile fix: Dockerfile remove unnecessary rm -rf, update CI build step 2026-07-12 01:01:00 +02:00
hugo.toml Initial Elsa website — Hugo source + Decap CMS config 2026-07-08 18:04:04 +02:00
README.md docs: add CI/CD pipeline documentation 2026-07-12 01:05:00 +02:00

elsahome-website

Elsa hosting marketing website — Hugo source + Sveltia CMS.

CI/CD Pipeline

This repository uses Forgejo Actions for continuous integration and deployment.

Flow

Sveltia CMS → Push to main → Forgejo Actions
                                  ↓
                      Docker image (multi-stage: Hugo + nginx)
                                  ↓
                      Forgejo Container Registry
                                  ↓
                      Update k8s deployment manifest in talos repo
                                  ↓
                      ArgoCD syncs → New pod rolls with pre-built image

Pipeline Steps (.forgejo/workflows/deploy.yml)

  1. Checkout — clones the repo
  2. Install Docker CLI + DinD accessnode:22-bookworm job container doesn't have Docker pre-installed; the Forgejo Runner runs alongside a DinD sidecar
  3. Login to Forgejo registry — authenticates with DEPLOY_TOKEN
  4. Build and push Docker image — multi-stage build: Hugo → nginx-unprivileged, pushed to git.elsahome.be/puter/elsahome-website:{sha}
  5. Update talos repo manifest — clones BlaDeKke/talos, updates apps/client-elsahome/deployment.yaml with the new image tag, commits and pushes

Secrets

Secret Purpose
DEPLOY_TOKEN Admin-scoped Forgejo token for registry push + git push to talos repo

Architecture

  • Forgejo Runner: Deployed in forgejo namespace as a Deployment with DinD sidecar
  • Container Registry: Forgejo's built-in OCI registry at git.elsahome.be
  • Image Format: git.elsahome.be/puter/elsahome-website:{commit-sha} and :latest
  • ArgoCD: Watches BlaDeKke/talos repo, auto-syncs deployment changes