Tuan-Dat Tran
e8df950e87
chore(k3s): update vault-encrypted cluster join token
2026-04-27 21:39:37 +02:00
Tuan-Dat Tran
5b44c46e10
docs(arr-cleanup): improve runbook and fix api key paths
...
Rewrites findings.md with how-to section, cleaner summary tables,
and more detailed per-pass results. Fixes relative path for
sonarr/radarr API key files after runbook moved deeper in repo.
2026-04-27 21:39:28 +02:00
Tuan-Dat Tran
95715c7748
feat(k3s_server): persist control-plane NoSchedule taint in k3s config
...
Adds node-taint to /etc/rancher/k3s/config.yaml so the taint
survives node reboots. Taint is already applied live via kubectl.
2026-04-27 21:35:24 +02:00
Tuan-Dat Tran
5bc3024eaf
feat(k3s): replace nginx loadbalancer with kube-vip for control-plane HA
...
Deploys kube-vip as a DaemonSet on all k3s server nodes, advertising a
VIP (192.168.20.2) via ARP. Eliminates the single-point-of-failure
k3s-loadbalancer VM.
- New kube_vip role: RBAC + DaemonSet templates, TLS SAN cert rotation
- playbooks/kube-vip.yaml: migration playbook (serial=1, idempotent)
- Updated k3s install tasks (server primary/secondary, agent) to use k3s_vip
instead of the loadbalancer VM IP
- Added k3s_vip: 192.168.20.2 to group_vars (below DHCP range .11-.250)
Migration steps in playbook header comment.
2026-04-26 12:08:42 +02:00
Tuan-Dat Tran
fce6f913ff
docs(plan): add docker version update plan for jellyfin and gitea
2026-04-23 08:06:35 +02:00
Tuan-Dat Tran
8239988a70
docs(runbook): add arr-stack downloads cleanup investigation and scripts
...
~16T freed on aya01 (92% → 57% mergerfs pool). Documents root cause
(no hardlinks across mergerfs due to cross-device mounts), cleanup
passes via Sonarr/Radarr API verification, and pending decisions
(Bleach remux, 111 skipped Sonarr entries).
2026-04-23 08:06:27 +02:00
Tuan-Dat Tran
e87dcd06f3
chore(k3s): rotate cluster token secret
2026-04-23 08:06:08 +02:00
Tuan-Dat Tran
543e9a2c97
fix(docker_host): remove /media/docker from NFS mount loop
...
/media/docker is no longer a valid NFS-backed path; was causing
mount failures on docker_host nodes.
2026-04-23 08:06:03 +02:00
Tuan-Dat Tran
afbc3e3c57
docs(runbook): add Longhorn orphan auto-deletion fix and etcd defrag procedure
2026-04-22 22:03:45 +02:00
Tuan-Dat Tran
b157dd0b89
feat(k3s_server): install etcd-client on control plane nodes
2026-04-22 19:40:24 +02:00
Tuan-Dat Tran
057cd7a7f0
docs(runbook): mark vaultwarden as resolved
2026-04-22 00:52:58 +02:00
Tuan-Dat Tran
db2d5dccd4
docs(runbook): mark Longhorn orphan/etcd defrag as resolved
...
138 orphans deleted, all 3 etcd members defragged from 634MB to ~57MB.
2026-04-22 00:40:23 +02:00
Tuan-Dat Tran
db7e130515
docs: mark server11 disk issue resolved in runbook
2026-04-21 23:41:13 +02:00
Tuan-Dat Tran
c16e7cf740
fix(k3s_server): use inventory_hostname for primary detection and delegate token fetch
...
Primary server detection previously used ansible_default_ipv4.address compared against
k3s_primary_server_ip, which breaks with --limit since facts are only gathered for the
targeted hosts, causing the variable to resolve to the wrong IP.
- Replace IP comparisons with `inventory_hostname == groups['k3s_server'] | first`
in main.yaml (primary install, secondary install, kubeconfig tasks)
- Delegate the node-token slurp to the primary server unconditionally so
pull_token.yaml works correctly when run against any single node with --limit
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:30:57 +02:00
Tuan-Dat Tran
c084572521
docs: add k3s-server11 reprovision implementation plan
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 21:58:13 +02:00
Tuan-Dat Tran
da7bd42f07
docs: add k3s-server11 reprovision spec and cluster outage runbook
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 21:55:18 +02:00
Tuan-Dat Tran
f0a45e3fda
fix: configure explicit NTP servers in timesyncd instead of relying on DHCP
...
Gateway at 192.168.20.1 was being provided via DHCP as the NTP server but
does not serve NTP, causing NodeClockNotSynchronising across all nodes.
2026-04-20 20:56:30 +02:00
Tuan-Dat Tran
b5f82e2978
fix: install kitty terminfo on all nodes via common role
2026-04-20 20:36:23 +02:00
Tuan-Dat Tran
29561c44c8
fix: enable and start systemd-timesyncd in common time role
...
systemd-timesyncd was installed via common_packages but never enabled or
started, causing NodeClockNotSynchronising alerts across all k3s nodes.
2026-04-20 20:18:19 +02:00
Tuan-Dat Tran
d33117a752
chore(docker): update jellyfin to 10.11.7 and gitea to 1.25.5-rootless
2026-04-01 21:20:02 +02:00
Tuan-Dat Tran
e9e4864456
docs: add design spec for docker service version updates (jellyfin 10.11.7, gitea 1.25.5)
2026-04-01 21:17:05 +02:00
Tuan-Dat Tran
043f97ebac
docs: add design spec and implementation plan for docker service redeployment
2026-04-01 21:00:51 +02:00
Tuan-Dat Tran
134eceee0f
Update Jellyfin and Gitea image versions
2026-04-01 20:55:20 +02:00
Tuan-Dat Tran
80f98a9c4b
docs: update Proxmox cluster debugging design with findings and fixes
2026-03-01 20:58:04 +01:00
Tuan-Dat Tran
d4ac3dae60
feat(k3s): Added 2 nodes
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2026-03-01 17:01:51 +01:00
Tuan-Dat Tran
5a8c7f0248
feat(proxmox): add hosts config
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2026-02-28 11:30:58 +01:00
Tuan-Dat Tran
bf7c7c9562
ci: add GitHub Actions workflow for linting
2026-02-25 06:00:20 +01:00
Tuan-Dat Tran
a9346881b0
refactor(edge_vps): reorganize certificate files
2026-02-25 00:26:08 +01:00
Tuan-Dat Tran
193da30e65
docs(edge_vps): update README with role documentation
2026-02-25 00:12:50 +01:00
Tuan-Dat Tran
9a5cb376bd
feat(edge_vps): add inventory variables for VPS group
2026-02-25 00:10:27 +01:00
Tuan-Dat Tran
fc2eefdfb0
feat(edge_vps): add main task orchestrator
2026-02-25 00:03:17 +01:00
Tuan-Dat Tran
274b9c310e
feat(edge_vps): add Elastic Agent setup task and templates
2026-02-25 00:00:00 +01:00
Tuan-Dat Tran
6fdd021604
feat(edge_vps): add Pangolin setup task and templates
2026-02-24 23:56:00 +01:00
Tuan-Dat Tran
1b82acad1f
feat(edge_vps): add Traefik setup task and template
2026-02-24 23:53:00 +01:00
Tuan-Dat Tran
d8822ad904
feat(edge_vps): add WireGuard setup task and template
2026-02-24 23:50:08 +01:00
Tuan-Dat Tran
caecfc7c1d
feat(edge_vps): add directory setup task
2026-02-24 23:47:34 +01:00
Tuan-Dat Tran
4907761649
feat(edge_vps): add role structure and handlers
2026-02-24 23:45:14 +01:00
Tuan-Dat Tran
a3cb1928ae
docs(argocd): add missing Ingress task and note about missing template
2026-02-16 09:25:36 +01:00
Tuan-Dat Tran
99f6876ce9
docs: Add changelog and update role documentation
2026-02-16 09:21:08 +01:00
Tuan-Dat Tran
0a3171b9bc
feat(k3s): Added 2 nodes (2/2)
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2026-01-26 23:08:34 +01:00
Tuan-Dat Tran
3068a5a8fb
feat(k3s): Added 2 nodesg
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2026-01-26 22:42:19 +01:00
Tuan-Dat Tran
ef652fac20
refactor: yml -> yaml
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-11-07 20:44:14 +01:00
Tuan-Dat Tran
22c1b534ab
feat(k3s): Add new node and machine
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-10-26 10:41:11 +01:00
Tuan-Dat Tran
9cb90a8020
feat(caddy): netcup->cf
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-10-25 09:25:40 +02:00
Tuan-Dat Tran
d9181515bb
feat(k3s): Added (temporary) node
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-10-19 01:33:42 +02:00
Tuan-Dat Tran
c3905ed144
feat(git): Add .gitattributes for ansible-vault git diff
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-10-19 00:34:51 +02:00
Tuan-Dat Tran
5fb50ab4b2
feat(k3s): Add new node
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-10-07 23:46:40 +02:00
Tuan-Dat Tran
2909d6e16c
feat(nfs): Removed unused/removed nfs servers
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-09-15 23:29:03 +02:00
Tuan-Dat Tran
0aed818be5
feat(docker): Removed nodes docker-host10 and docker-host12
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-09-15 23:29:03 +02:00
Tuan-Dat Tran
fbdeec93ce
feat(docker): match services that moved to k3s
...
Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev >
2025-09-15 23:29:03 +02:00