Repository navigation
fix: cluster tools - #414
Conversation
Both instances live in the cluster behind ~/.config/kube/sck-sit-dev, so the recipes take that file (override with HACKAGON_KUBECONFIG) instead of a context argument: `just cluster::reseed staging`.
reseed builds cmd/seed in a temporary worktree at origin/main for dev and the newest origin/release/* for staging, so staging can be reseeded from a main checkout whose recipes know about it, and no checkout state matters.
Dev (hackagon-dev) follows main, staging (hackagon-staging) runs the latest release; both share one cluster. Describe the three instances, how dev and staging get test data, and the new cluster:: arguments.
64d2425 to
7331141
Compare
marftn
left a comment
There was a problem hiding this comment.
Looks good! I only have a suggestion about the Deployment section. If you prefer to handle this in another PR, you can make a ticket and merge as is.
| @@ -64,7 +74,8 @@ A restart is not always something you chose: an eviction or a node drain | |||
| restarts the container too. To restart it on purpose: | |||
|
|
|||
| ```bash | |||
| kubectl rollout restart deploy/hackagon-frontend | |||
| kubectl --kubeconfig "$HACKAGON_KUBECONFIG" -n hackagon-dev \ | |||
| rollout restart deploy/hackagon-frontend | |||
| ``` | |||
|
|
|||
| To see which build it is serving, read the version at the bottom of the page. | |||
| @@ -84,6 +95,11 @@ overwritten; those never do, so a specific build can be pinned: | |||
|
|
|||
| `skopeo list-tags docker://<repository>` shows which tags exist. | |||
|
|
|||
| ### staging runs the latest release | |||
|
|
|||
| Staging runs the newest release, hotfixes included: it is there to test hotfixes | |||
| before they go to prod. | |||
|
|
|||
There was a problem hiding this comment.
As in #400, I'm wondering whether a deployment section really makes sense in this file. I find the mix of public-facing docs and internal details (cloud-infra) a bit strange. I think we should be careful to separate audiences in our docs. I suggest moving these sections to a docs/operations or docs/internal/operations folder in this repo.
If you prefer to make a ticket and do it in another PR it's fine for me. Or if you have other suggestions.
There was a problem hiding this comment.
@marftn As this repo is public. I think we should remove the internals overall and not just move them to another folder. But that would also mean to move the cluster reseeding there. I did minimal changes now and will make a ticket to revisit this topic and solve it in a better more consistent way.
Load test data into the new dev and staging instances
Hackagon now runs two test instances in one cluster: dev (hackagon-dev.sck-sit-dev.dscompute.ch) follows main, and staging (hackagon-staging.sck-sit-dev.dscompute.ch) runs the latest release. Whoever looks after them wants both filled with the standard test data, so they can try the app with realistic hackathons and users. They now run
just cluster::reseed devorjust cluster::reseed staging.Before this change, the cluster tooling knew only one dev instance, in a namespace and at a domain that no longer exist. The new dev URL was refused, and there was no way to aim at staging. Seeding staging properly would also have needed the release branch checked out. But the recipes come from the checkout, and the release branch's recipes predate staging.
What changed
Deliberately left out