v0.3.0: structural refactor — go:embed templates, server split, domain rename

- Migrate all 7 HTML templates + CSS from Go string constants to individual
  go:embed files in internal/web/templates/ (templates.go: 2150→35 lines)
- Split server.go into auth.go, handlers.go, funcmap.go (server.go: 540→120 lines)
- Rename controller subdomain from dashboard.* to felhom.* in Traefik labels
- Update documentation (CLAUDE.md, README.md, CONTEXT.md)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-15 10:38:06 +01:00
parent b30c01ac9e
commit 57cacd9233
19 changed files with 2650 additions and 2608 deletions
+11 -3
View File
@@ -24,7 +24,7 @@ controller generates secrets, saves app.yaml, runs `docker compose up -d`, and t
with Traefik routing and health checks. The dashboard correctly shows real-time container states
including health substatus (starting → healthy → running).
Current version: **v0.2.111**
Current version: **v0.3.0**
### What works
- Dashboard with live container state (green/orange/yellow/red)
@@ -106,8 +106,16 @@ controller/
│ │ ├── info_linux.go # Linux: /proc/meminfo + statfs
│ │ └── info_other.go # Non-Linux stub
│ └── web/
│ ├── server.go # HTTP server, auth, page handlers, asset serving
── templates.go # Embedded HTML templates + CSS (Hungarian UI)
│ ├── server.go # HTTP server, routing, static file serving
── auth.go # Session auth, login/logout handlers
│ ├── handlers.go # Page handlers (dashboard, stacks, deploy, etc.)
│ ├── funcmap.go # Template function map (state colors, formatting)
│ ├── embed.go # go:embed directive for templates
│ ├── templates.go # Felhom logo SVG constant
│ └── templates/ # go:embed HTML/CSS files (Hungarian UI)
│ ├── layout.html, dashboard.html, stacks.html, login.html
│ ├── logs.html, deploy.html, app_info.html
│ └── style.css
├── configs/
│ ├── controller.yaml.example # Full config reference (infrastructure only)
│ └── example-felhom-metadata.yml # .felhom.yml format reference