Skip to content

Feature/lab10#1398

Open
Dnau15 wants to merge 17 commits into
inno-devops-labs:mainfrom
Dnau15:feature/lab10
Open

Feature/lab10#1398
Dnau15 wants to merge 17 commits into
inno-devops-labs:mainfrom
Dnau15:feature/lab10

Conversation

@Dnau15

@Dnau15 Dnau15 commented Jul 7, 2026

Copy link
Copy Markdown

Goal

Ship QuickNotes to a real cloud: tag-triggered CI release to ghcr.io, deploy on Hugging Face Spaces, and compare against a Cloudflare Tunnel exposure with real latency measurements.

Changes

  • .github/workflows/release.yml — new release workflow: v* tag push → build app/ for linux/amd64 → push v0.1.0 + latest to ghcr.io/dnau15/devops-intro/quicknotes; permissions scoped to contents: read + packages: write, all actions pinned by 40-char SHA
  • cloud/Dockerfile + cloud/README.md — HF Space files (Docker SDK, app_port: 8080): single-line FROM of the CI-built ghcr image v0.1.0
  • cloud/teardown.md — teardown instructions for the Space, the ghcr package, the quick tunnel, and the local container
  • submissions/lab10.md — full report: registry evidence, Space URL + curl -v, warm/cold latency, HF-vs-Tunnel comparison table, design questions a–i

Testing

  • Release run green on tag v0.1.0: https://github.com/Dnau15/DevOps-Intro/actions/runs/28896505596
  • Image publicly pullable without auth after visibility flip — anonymous docker pull succeeds; both tags resolve to digest sha256:7d3cbde2…
  • Space live at https://dnau15-quicknotes.hf.space/health returns 200 {"notes":4,"status":"ok"}, /notes returns seed data
  • Latency measured with hyperfine (50 runs each): HF Space warm p50=617 ms / p95=645 ms; tunnel p50=148 ms / p95=211 ms; 3 forced cold starts 6.1–11.5 s (methodology in the report — current HF free tier sleeps after 48 h, not ~30 min, so cold boots were forced via pause→restart API)
  • Tunnel reachability verified from a phone on cellular data

Checklist

  • Title is a clear sentence (≤ 70 chars)
  • Commits are signed (git log --show-signature)
  • submissions/labN.md updated

Dnau15 and others added 17 commits June 5, 2026 14:04
Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
…blickey-denied pitfalls

Signed-off-by: Dmitrii Creed <creeed22@gmail.com>
…n; set honest cache expectations

- 2.2: matrixed jobs report as 'test (1.23)' etc.; the old required
  'test'/'vet' contexts hang at 'Expected' and block every student PR.
  Document both fixes (rename required checks / require a single ci-ok
  aggregation job with if: always())
- 2.4: QuickNotes has zero deps, so cache on/off won't move wall-clock;
  ask students to explain why + compare per-step timings instead
- pitfalls for both

Signed-off-by: Dmitrii Creed <creeed22@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
…ook, Checkly

Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
Signed-off-by: Dmitrii <15dnau@gmail.com>
…rison

Signed-off-by: Dmitrii <15dnau@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants