This commit captures the infrastructure state immediately following the "Post-Tyranny Tech" workshop on January 23rd, 2026. Infrastructure Status: - 13 client servers deployed (white, valk, zwaan, specht, das, uil, vos, haas, wolf, ree, mees, mus, mol, kikker) - Services: Authentik SSO, Nextcloud, Collabora Office, Traefik - Private network architecture with edge NAT gateway - OIDC integration between Authentik and Nextcloud - Automated recovery flows and invitation system - Container update monitoring with Diun - Uptime monitoring with Uptime Kuma Changes include: - Multiple new client host configurations - Network architecture improvements (private IPs + NAT) - DNS management automation - Container update notifications - Email configuration via Mailgun - SSH key generation for all clients - Encrypted secrets for all deployments - Health check and diagnostic scripts Known Issues to Address: - Nextcloud version pinned to v30 (should use 'latest' or v32) - Zitadel references in templates (migrated to Authentik but templates not updated) - Traefik dynamic config has obsolete static routes 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
---
|
|
# Playbook to fix private network configuration on servers
|
|
# This fixes the netplan configuration to properly enable DHCP
|
|
# on the private network interface (enp7s0)
|
|
|
|
- name: Fix private network configuration
|
|
hosts: all
|
|
gather_facts: no
|
|
become: yes
|
|
|
|
tasks:
|
|
- name: Check if server is reachable
|
|
ansible.builtin.wait_for_connection:
|
|
timeout: 5
|
|
register: connection_test
|
|
ignore_errors: yes
|
|
|
|
- name: Create corrected netplan configuration for private network
|
|
ansible.builtin.copy:
|
|
dest: /etc/netplan/60-private-network.yaml
|
|
mode: '0600'
|
|
content: |
|
|
network:
|
|
version: 2
|
|
ethernets:
|
|
enp7s0:
|
|
dhcp4: true
|
|
dhcp4-overrides:
|
|
use-routes: false
|
|
routes:
|
|
- to: default
|
|
via: 10.0.0.1
|
|
when: connection_test is succeeded
|
|
|
|
- name: Apply netplan configuration
|
|
ansible.builtin.command: netplan apply
|
|
when: connection_test is succeeded
|
|
register: netplan_result
|
|
|
|
- name: Show netplan result
|
|
ansible.builtin.debug:
|
|
msg: "Netplan applied successfully on {{ inventory_hostname }}"
|
|
when: connection_test is succeeded and netplan_result is succeeded
|
|
|
|
- name: Wait for network to stabilize
|
|
ansible.builtin.wait_for_connection:
|
|
timeout: 10
|
|
when: connection_test is succeeded
|