chore: scaffold phoenix application #1

Merged
ryan.mcgee merged 1 commit from chore/scaffold into main 2026-10-13 16:15:36 +00:00
Owner

Summary

  • Scaffold Traefik Control, a Phoenix control plane for managing many Traefik instances
  • Elixir 1.20.4 / OTP 29.1.1; every Hex dependency is at its latest release

Changes

  • Phoenix 1.8.15 + LiveView 1.2.12 application (Bandit)
  • SQLite or PostgreSQL selected at compile time with TRAEFIK_CONTROL_DB; each backend gets its own _build directory (Ecto adapters are compile-time, and sharing one build dir fails on a backend switch)
  • Containerfile.dev tooling image and compose.yaml (app, PostgreSQL, Traefik); third-party service images use latest
  • credo and dialyxir as dev/test dependencies
  • README: purpose, multi-node design (Traefik HTTP provider per node), and a feature roadmap

Verification

  • SQLite: mix format --check-formatted, mix compile --warnings-as-errors, mix credo --strict (no issues), mix test (5 passed), mix dialyzer (0 errors) all pass
  • PostgreSQL: mix test (5 passed) and mix dialyzer (0 errors) pass against the compose Postgres container
  • podman-compose up: app returns 200 on / against PostgreSQL; Traefik API returns 200 (v3.7.14)
## Summary - Scaffold Traefik Control, a Phoenix control plane for managing many Traefik instances - Elixir 1.20.4 / OTP 29.1.1; every Hex dependency is at its latest release ## Changes - Phoenix 1.8.15 + LiveView 1.2.12 application (Bandit) - SQLite or PostgreSQL selected at compile time with `TRAEFIK_CONTROL_DB`; each backend gets its own `_build` directory (Ecto adapters are compile-time, and sharing one build dir fails on a backend switch) - `Containerfile.dev` tooling image and `compose.yaml` (app, PostgreSQL, Traefik); third-party service images use `latest` - credo and dialyxir as dev/test dependencies - README: purpose, multi-node design (Traefik HTTP provider per node), and a feature roadmap ## Verification - SQLite: `mix format --check-formatted`, `mix compile --warnings-as-errors`, `mix credo --strict` (no issues), `mix test` (5 passed), `mix dialyzer` (0 errors) all pass - PostgreSQL: `mix test` (5 passed) and `mix dialyzer` (0 errors) pass against the compose Postgres container - `podman-compose up`: app returns 200 on `/` against PostgreSQL; Traefik API returns 200 (v3.7.14)
- add Phoenix 1.8 / LiveView 1.2 app on Elixir 1.20, OTP 29
- select SQLite or PostgreSQL at compile time via
  TRAEFIK_CONTROL_DB, with a separate build dir per backend
- add Containerfile.dev and a podman-compose dev stack (app,
  PostgreSQL, Traefik)
- add credo and dialyxir as dev/test deps
- document purpose, multi-node design and the Pangolin feature
  roadmap in the README
- reword README intro, roadmap, and a config comment so they
  stand alone
ryan.mcgee force-pushed chore/scaffold from dee8d192d7 to 679e7817bd 2026-10-13 16:12:13 +00:00 Compare
ryan.mcgee deleted branch chore/scaffold 2026-10-13 16:15:37 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
White_Ghost_Cyber_Systems/traefik-control!1
No description provided.