Loading...
Loading...
Architecture evaluation criteria and technology standards for the homelab. Preloaded into the designer agent to ground design decisions in established patterns and principles. Use when: (1) Evaluating a proposed technology addition, (2) Reviewing architecture decisions, (3) Assessing stack fit for a new component, (4) Comparing implementation approaches. Triggers: "architecture review", "evaluate technology", "stack fit", "should we use", "technology comparison", "design review", "architecture decision"
npx skill4agent add ionfury/homelab architecture-review| Layer | Technology | Purpose |
|---|---|---|
| OS | Talos Linux | Immutable, API-driven Kubernetes OS |
| GitOps | Flux + ResourceSets | Declarative cluster state reconciliation |
| CNI/Network | Cilium | eBPF networking, network policies, Hubble observability |
| Storage | Longhorn | Distributed block storage with S3 backup |
| Object Storage | Garage | S3-compatible distributed object storage |
| Database | CNPG (CloudNativePG) | PostgreSQL operator with HA and backups |
| Cache/KV | Dragonfly | Redis-compatible in-memory store |
| Monitoring | kube-prometheus-stack | Prometheus + Grafana + Alertmanager |
| Logging | Alloy → Loki | Log collection pipeline |
| Certificates | cert-manager | Automated TLS certificate management |
| Secrets | ESO + AWS SSM | External Secrets Operator with Parameter Store |
| Upgrades | Tuppr | Declarative Talos/Kubernetes/Cilium upgrades |
| Infrastructure | Terragrunt + OpenTofu | Infrastructure as Code for bare-metal provisioning |
| CI/CD | GitHub Actions + OCI | Artifact-based promotion pipeline |
infrastructure/modules/infrastructure/units/.tftest.hclversions.env| Anti-Pattern | Why It's Wrong | Correct Approach |
|---|---|---|
| "Just run a container" without monitoring | Invisible failures, no alerting | ServiceMonitor + PrometheusRule required |
| Adding a new tool when existing ones suffice | Stack bloat, maintenance burden | Evaluate existing stack first |
| Skipping observability "for now" | Technical debt that never gets paid | Monitoring is day-1, not day-2 |
| Manual operational steps | Drift, inconsistency, bus factor | Everything declarative via GitOps |
| Cloud-only services | Vendor lock-in, can't run on bare-metal | Self-hosted alternatives preferred |
| Single-instance without HA story | Single point of failure | At minimum, document recovery procedure |
| Storing state outside git | Shadow configuration, drift | Git is the source of truth |