Covers two scenarios on a single Kind cluster:
- Single-repo: deploy create copies commands.py into hooks/, deployment
start runs it, mutating the stack-source working tree to v2 + deployment
restart re-copies and re-executes v2.
- Multi-repo: stack with two pod repos produces hooks/commands_0.py +
commands_1.py, deployment start invokes both pod start() hooks.
The test stages stack files into a temp git clone (bare + working) so
restart's git pull has a real upstream. busybox pods keep the harness
trivial. Phase 2 uses kubectl wait directly because deployment ps's
substring filter (deploy_k8s.py:1366) doesn't list multi-pod stacks.
Also tightens the _copy_hooks docstring to spell out that only
call_stack_deploy_start loads from the copied location.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Keep upstream's schedule/path triggers and install scripts, add
workflow_dispatch and workflow_call so publish.yml can gate on it.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update all self-references from `git.vdb.to/cerc-io/stack-orchestrator` to
`github.com/cerc-io/stack-orchestrator` (setup.py, pyproject.toml, README,
docs, install scripts, cloud-init scripts, stack READMEs)
- Fix release download URL pattern (`releases/download/latest` -> `releases/latest/download`)
- Port 5 Gitea-only CI workflows to GitHub Actions (k8s-deploy, k8s-deployment-control, container-registry, database, external-stack)
- Pin `shiv==1.0.8` in all workflows for reproducible builds
- Restrict smoke/deploy/webapp test push triggers to `main` only
- Remove `.gitea/` directory - Gitea repo to be archived
- test-k8s-deploy.yml: trigger on workflow_call and workflow_dispatch
only (not every push/PR)
- publish.yml: add needs: e2e job that calls test-k8s-deploy.yml —
release is blocked until the k8s e2e suite passes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- .github/workflows/test-k8s-deploy.yml: new workflow that installs
kind+kubectl and runs tests/k8s-deploy/run-deploy-test.sh on every
push and PR. Same script used locally and in release validation.
- .pre-commit-config.yaml: add local pre-push hook that runs the k8s
e2e test (~3 min) before pushing to remote.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>