devantler-tech / devantler-tech/ksail
test(system): smoke tests for Hetzner × K3s/Vanilla (blocked on #6361)
- Dominant language
- Go
- Stars
- 165
- Forks
- 12
- Avg merge
- 5h 41m
- Merged PRs (30d)
- 337
Description
> 🤖 Generated by the Daily AI Assistant
Child of #3983 (epic #4627). **Blocked** on the Hetzner system-test lane (#4972).
## Problem
The Hetzner × K3s / Vanilla paths need CI smoke coverage, but the Hetzner system-test lane currently fails on an invalid/absent `HCLOUD_TOKEN` (#4972), so these tests cannot go green until that is restored.
## Proposal
Add a smoke system test per new combo (K3s × Hetzner, Vanilla × Hetzner): create → assert reachable → delete, on the Hetzner system-test lane. Land once #4972 is resolved.
## Acceptance criteria
- [ ] A smoke system test for each implemented Hetzner combo.
- [ ] Tests green on the Hetzner lane (requires #4972 fixed first).
- [ ] Cleanup-on-failure so no leaked Hetzner servers.
---
## Blocker corrected 2026-08-22
`#4972` is **closed**, but it was closed by *pausing* the weekly schedule, not by rotating the
credential — so an actionability check that resolves the reference above finds a closed issue and
reads this as startable. It is not. The live blocker is the restoration issue:
**Unblocked 2026-09-13:** the maintainer rotated `HCLOUD_TOKEN` (now an org-wide secret for a Hetzner test project), and a green Hetzner system-test run is on record: https://github.com/devantler-tech/ksail/actions/runs/34774720413 (dispatched from the ksail#7018 fix branch, cleanup succeeded).
`System Test - Hetzner` had no successful run on record before that (six consecutive scheduled
failures 2026-05-31 → 2026-07-05), and its `schedule` trigger was removed on 2026-07-09.
Read every `#4972` reference above as `#6361`. That condition, a green Hetzner system-test run on record, was met on 2026-09-13.
Contributor guide
Research direction
Start by inspecting the Hetzner system-test lane and the existing K3s and Vanilla system-test combinations. Use the recorded green Hetzner run as evidence that the credential blocker is resolved. Done means each implemented Hetzner combo has create, reachability, delete, and cleanup-on-failure coverage, with the lane passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, kubernetes
- Domain
- ci-cd, cloud, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100