Add demo kit, web app and public start state #1

Open
karsten wants to merge 1 commit from demo/initial-kit into main
Owner

Demo kit and public start state for the talk "Hosting by workload, not by label: choosing cloud for education data and AI" (Giga Connectivity Forum 2026).

Content

  • demo/: CLAUDE.md (frame for the web app, colours, writing rules) and the two education cases. The agent works out every result live with the GIGA cloud skills.
  • scripts/: build-app.py (local or --public), reset.sh, serve.sh, rehearse.sh, show-tools.py. All paths are relative to the repository.
  • marketplace/: Claude Code marketplace entry for giga-cloud-skills, following giga/cloud-skills main.
  • deploy/: Kustomize manifests (nginx-unprivileged, read-only, 2 replicas), Certificate (main-production), Contour HTTPProxy for hosting-by-workload.vanillacore.net, plus argocd-application.yaml.
  • NOTICE.md and licenses/: OFL for Manrope and Open Sans, rights note for the Giga logo.

Public start state

Start page, use cases, and both result pages in their unfilled state. They do not reload automatically, and they link to this kit. No rehearsal results are published.

Checks

  • kubectl kustomize deploy renders, and a server-side dry run against the homelab cluster passes for all objects and the Argo CD Application.
  • A local nginx container with the same image digest and config returns HTTP 200 for all pages, assets, fonts and /healthz, with the CSP header set.
  • claude plugin validate marketplace passes (warning only: no marketplace description).
  • There are no LAN addresses, local machine paths or credentials in the tree.
Demo kit and public start state for the talk "Hosting by workload, not by label: choosing cloud for education data and AI" (Giga Connectivity Forum 2026). ## Content - `demo/`: `CLAUDE.md` (frame for the web app, colours, writing rules) and the two education cases. The agent works out every result live with the GIGA cloud skills. - `scripts/`: `build-app.py` (local or `--public`), `reset.sh`, `serve.sh`, `rehearse.sh`, `show-tools.py`. All paths are relative to the repository. - `marketplace/`: Claude Code marketplace entry for `giga-cloud-skills`, following `giga/cloud-skills` `main`. - `deploy/`: Kustomize manifests (nginx-unprivileged, read-only, 2 replicas), Certificate (`main-production`), Contour HTTPProxy for `hosting-by-workload.vanillacore.net`, plus `argocd-application.yaml`. - `NOTICE.md` and `licenses/`: OFL for Manrope and Open Sans, rights note for the Giga logo. ## Public start state Start page, use cases, and both result pages in their unfilled state. They do not reload automatically, and they link to this kit. No rehearsal results are published. ## Checks - `kubectl kustomize deploy` renders, and a server-side dry run against the homelab cluster passes for all objects and the Argo CD Application. - A local nginx container with the same image digest and config returns HTTP 200 for all pages, assets, fonts and `/healthz`, with the CSP header set. - `claude plugin validate marketplace` passes (warning only: no marketplace description). - There are no LAN addresses, local machine paths or credentials in the tree.
- demo/: frame and the two education cases the agent works on
- scripts/: build, reset, serve and rehearse the web app
- marketplace/: plugin entry for the GIGA cloud skills (main)
- deploy/: start state for hosting-by-workload.vanillacore.net
- NOTICE.md and licenses/ for fonts and logo
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin demo/initial-kit:demo/initial-kit
git switch demo/initial-kit
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
giga/hosting-by-workload-demo!1
No description provided.