Skip to content

v1.8.0 — Offline-capable demo apps (bundled app-repos)

Choose a tag to compare

@bogdandragosvasile bogdandragosvasile released this 21 Apr 08:12
· 3 commits to main since this release

Highlights

Fresh clones on Linux, WSL2, macOS, and Windows now deploy Headscale and Industry 4.0 end-to-end — no manual Gitea repo creation, no one-off docker build steps. The Application manifests in gitops-repo/apps/ continue to point at platform/* Gitea repos, but the source for those repos now lives inside this repo under app-repos/ and gets mirrored into Gitea automatically on every bootstrap.

What's new

Added — app-repos/

Demo-app sources bundled in:

  • app-repos/headscale/ — manifests + helper scripts + README
  • app-repos/industry40/ — Dockerfile + index.html + manifests + build.sh + README

Added — bootstrap phase 07b

scripts/07b-mirror-app-repos.sh iterates every subdirectory of app-repos/, creates the matching Gitea repo under platform/ if missing, and force-pushes the local content. Idempotent.

Added — bootstrap phase 09c

scripts/09c-build-demo-images.sh runs app-repos/*/build.sh where present. Apps using public images (like Headscale) are silently skipped; industry40 builds + ctr imports its nginx image offline.

Changed — scripts/resume.sh

Per-node containerd health probe (docker exec <node> ctr version with timeout) recycles any k3d node whose containerd socket has gone unresponsive. Fixes the mysterious connection refused on /run/k3s/containerd/containerd.sock failures some nodes hit after a Docker-daemon reload — image builds and pulls that previously required a manual docker restart k3d-gitops-local-agent-X now self-heal on resume.

Adding your own demo app

Drop a directory under app-repos/:

app-repos/my-app/
├── manifests/            # k8s YAMLs — path: manifests in the Application
├── Dockerfile            # optional
├── build.sh              # optional — 09c runs it
└── README.md

Then add a matching Application in gitops-repo/apps/my-app.yaml pointing at http://gitea:3000/${GITEA_ORG}/my-app.git, a repo entry in gitops-repo/manifests/argocd/values.yaml, and bootstrap handles the rest.

Full changelog

See CHANGELOG.md.