Elsa hosting marketing website — Hugo source + Sveltia CMS
http://elsahome.be
- JavaScript 41.8%
- CSS 30.3%
- HTML 23.7%
- Dockerfile 4.2%
|
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 6s
|
||
|---|---|---|
| .forgejo/workflows | ||
| content | ||
| layouts | ||
| static | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| hugo.toml | ||
| README.md | ||
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)
- Checkout — clones the repo
- Install Docker CLI + DinD access —
node:22-bookwormjob container doesn't have Docker pre-installed; the Forgejo Runner runs alongside a DinD sidecar - Login to Forgejo registry — authenticates with
DEPLOY_TOKEN - Build and push Docker image — multi-stage build: Hugo → nginx-unprivileged, pushed to
git.elsahome.be/puter/elsahome-website:{sha} - Update talos repo manifest — clones
BlaDeKke/talos, updatesapps/client-elsahome/deployment.yamlwith 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
forgejonamespace 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/talosrepo, auto-syncs deployment changes