Skip to content

demo-app becomes a small demonstration application (demo.hoortrend.com)

Ilyes LITIM requested to merge feat/demo-app into main

Why

inside.hoortrend.com now has its own repository (hoortrend/inside, private), which keeps this history. demo-app becomes what its name says: a small application showing that a deployed app works and answers, on https://demo.hoortrend.com.

What

  • The application: app/server.py, Python's standard library only.
    • Routes: / (French or English), /api/info and /healthz.
    • Each page shows the pod and node that served it, the commit, the uptime and the requests served by that pod.
    • Strict CSP and security headers.
  • Tests: 9 unittest cases over real HTTP.
  • Image: python:3.12-alpine, non-root, the commit as APP_VERSION.
  • Kubernetes:
    • namespace with Pod Security restricted;
    • NetworkPolicy: only its port in, nothing out;
    • 2 replicas with probes, limits, a read-only root filesystem and no API token;
    • Service, PodDisruptionBudget, and an Ingress for demo.hoortrend.com with Let's Encrypt and a rate limit.
  • Pipeline: the same chain as the other projects, plus a final check from the Internet that /api/info reports the pipeline's own commit.

Checked locally

  • Tests pass.
  • The image runs read-only, as a non-root user, with every capability dropped.
  • Trivy: 0 HIGH or CRITICAL.
  • The manifests are applied before the merge. The deploy job only changes the image.

🤖 Generated with Claude Code

Merge request reports

Loading