feat: add home-assistant-dashboard-conventions skill + update multiple skills

- New: smart-home/home-assistant-dashboard-conventions (Mushroom cards, view tabs, no Bubble Cards)
- Updated: rke2, ceph, galera, proxmox, brainstorming, compound-learning, 1password-cli, smart-home-automation skills
- New references: ceph-cluster-administration, docker-volume-forensics, ceph-crush-weight, ceph-ec-mixed-size
This commit is contained in:
Debian
2026-07-14 18:35:16 +00:00
parent e9cc106625
commit 01bd921ced
37 changed files with 6133 additions and 126 deletions
@@ -195,3 +195,69 @@ n5pro is NOT reachable by hostname from proxmox1 — use IP:
```bash
ssh -o StrictHostKeyChecking=no 10.0.20.91 'commands'
```
### `pvesm list` Fails During Ceph Backfillfull (2026-07-12)
When Ceph pool `hdd_disk` is in `backfillfull` state (osd.10 at 96.72%),
`pvesm list hdd_disk` returns empty with error:
```
rbd error: rbd: listing images failed: (2) No such file or directory
```
Similarly `pvesh get /nodes/{node}/storage/hdd_disk/content` fails.
**Fallback**: Use `rbd ls hdd_disk` directly (works even when PVE storage
layer cannot enumerate). Cross-reference with `pvesh get /cluster/resources
--type vm` for orphan detection.
### HA Rule Created: k8s-prefer-n5pro (2026-07-12)
Successfully created node-affinity rule for K8s VMs:
- Rule name: `k8s-prefer-n5pro`
- Type: `node-affinity`
- Resources: `vm:118,vm:128,vm:129,vm:130,vm:131,vm:132`
- Nodes: `n5pro,proxmox5,proxmox3,proxmox2` (ordered preference)
- All 6 VMs briefly went through "deleting" → "starting" → "started" transition
- Existing rules untouched (ct:104/ct:99999 → n5pro, vm:310/311 + vm:301/302 negative affinity)
See `references/ha-manager-and-custom-dashboards-2026-07.md` for full syntax.
## K8s VM Anti-Affinity Problem (2026-07-12)
### Current Distribution (BAD)
| Node | CP | Worker | Risk |
|------|----|--------|------|
| proxmox2 | cp-03 (129) | worker-02 (132) | 2 VMs lost on node failure |
| proxmox3 | cp-02 (130) | worker-03 (131) | 2 VMs lost on node failure |
| proxmox5 | cp-01 (118) | worker-01 (128) | 2 VMs lost on node failure |
Each of the 3 K8s nodes hosts BOTH a CP and a Worker. A single node
failure drops 1 CP + 1 Worker simultaneously. Quorum survives (2/3 CPs)
but workload capacity drops 33%.
### K8s VM Anti-Colocation: EXECUTED (2026-07-12) ✅
The proposed distribution was successfully implemented via live migration.
All 3 worker VMs migrated to separate nodes (no node hosts >1 K8s VM):
| Node | CP | Worker |
|------|----|--------|
| proxmox1 | — | worker-02 (132) ← migrated FROM proxmox2 |
| proxmox2 | cp-03 (129) | — |
| proxmox3 | cp-02 (130) | — |
| proxmox4 | — | worker-03 (131) ← migrated FROM proxmox3 |
| proxmox5 | cp-01 (118) | — |
| n5pro | — | worker-01 (128) ← migrated FROM proxmox5 |
**Migration commands** (ran from source node, not coordinator):
```bash
ssh root@10.0.20.20 'qm migrate 132 proxmox1 --online' # proxmox2 → proxmox1
ssh root@10.0.20.30 'qm migrate 131 proxmox4 --online' # proxmox3 → proxmox4
ssh root@10.0.20.50 'qm migrate 128 n5pro --online' # proxmox5 → n5pro
```
HA rule `k8s-prefer-n5pro` was expanded to include ALL 8 nodes before
migration (was missing proxmox1, proxmox4 — caused migration failure).
See `references/ha-manager-and-custom-dashboards-2026-07.md` for details.
Result: Any single node failure now loses at most 1 K8s VM (was 2).
Quorum survives any single CP node failure (2/3 CPs remain).