updated memory calculation and logo
This commit is contained in:
+21
-5
@@ -7,7 +7,7 @@
|
||||
>
|
||||
> Ask Claude Code: "Please update CONTEXT.md with what we did today"
|
||||
|
||||
Last updated: 2026-02-14 (evening)
|
||||
Last updated: 2026-02-15
|
||||
|
||||
---
|
||||
|
||||
@@ -28,7 +28,20 @@ Last updated: 2026-02-14 (evening)
|
||||
- **Running on:** demo-felhom (N100 mini PC) at 192.168.0.162:8080
|
||||
- **All Phase 1 features working:** deploy, start/stop/restart/update, logs, health-aware states, auth
|
||||
|
||||
### What was just completed (2026-02-14)
|
||||
### What was just completed (2026-02-15)
|
||||
- **Memory validation during deployment**:
|
||||
- Pre-deploy memory check: compares `mem_request` sum against usable system RAM
|
||||
- Hard block if requests exceed usable memory (total - 384MB reserved)
|
||||
- Soft warning if `mem_limit` sum exceeds total RAM (overcommit OK for limits)
|
||||
- `ParseMemoryMB()` supports "500M", "1G", "1.5G", "1024" formats
|
||||
- `CommittedMemory()` sums requests/limits across all deployed stacks
|
||||
- Memory summary bar shown on deploy page before user clicks deploy
|
||||
- `system.reserved_memory_mb` configurable in controller.yaml (default: 384)
|
||||
- **Display: `~` prefix on mem_request** in UI badges (display-only, exact value stored)
|
||||
- **Felhom.eu logo** replaced text logos in sidebar and login page with actual SVG logo
|
||||
- Logo SVG embedded as Go string constant, served at `/static/felhom-logo.svg`
|
||||
|
||||
### Previously completed (2026-02-14)
|
||||
- **System info bar on Vezérlőpult dashboard**: RAM, SSD, and optional HDD usage
|
||||
- Progress bars with color coding (green < 70%, yellow 70-85%, red > 85%)
|
||||
- New `internal/system` package reads `/proc/meminfo` + `syscall.Statfs`
|
||||
@@ -56,9 +69,9 @@ Last updated: 2026-02-14 (evening)
|
||||
1. Deploy a second app (e.g., Immich, Jellyfin) to validate the template system
|
||||
2. Test on Raspberry Pi (pi-customer-1)
|
||||
3. Add `paths.hdd_path` to demo-felhom controller.yaml to enable HDD bar
|
||||
4. Phase 2 continued: CPU/temperature metrics, Healthchecks.io pings
|
||||
5. Phase 3: Backup system (DB dumps + restic)
|
||||
6. Add memory limits to other app catalog templates (Immich, Jellyfin, etc.)
|
||||
4. Add memory limits + `mem_request`/`mem_limit` to other app catalog templates (Immich, Jellyfin, etc.)
|
||||
5. Phase 2 continued: CPU/temperature metrics, Healthchecks.io pings
|
||||
6. Phase 3: Backup system (DB dumps + restic)
|
||||
|
||||
## Architecture decisions
|
||||
|
||||
@@ -74,6 +87,9 @@ Last updated: 2026-02-14 (evening)
|
||||
| Health-aware state from Docker Status field | Docker's State says "running" even for unhealthy containers |
|
||||
| Memory limits via deploy.resources.limits | Prevents runaway containers; ~50% headroom over expected usage |
|
||||
| System info from /proc/meminfo + statfs | No external dependencies, cheap to read on each page load |
|
||||
| mem_request vs mem_limit (K8s-inspired) | Requests = expected usage (hard block), limits = peak (overcommit OK) |
|
||||
| 384MB reserved for system | Prevents deploying apps that would starve the OS/controller |
|
||||
| Logo SVG embedded as Go constant | Same approach as CSS/HTML — zero external file deps |
|
||||
|
||||
## Key file locations on demo-felhom
|
||||
|
||||
|
||||
Reference in New Issue
Block a user