mirror of
https://github.com/RWejlgaard/pez-infra.git
synced 2026-09-02 00:15:35 +00:00
Copenhagen b and c decomm (#145)
* decomm copenhagen-b and copenhagen-c * no SMB mount on copenhagen-a
This commit is contained in:
parent
4e2ea9e35b
commit
e30248fdca
5 changed files with 15 additions and 7 deletions
|
|
@ -42,7 +42,7 @@ The deploy playbook runs in stages, each independently taggable (see `deploy.yml
|
||||||
- `docker_hosts`: Docker Compose stacks from `services/`
|
- `docker_hosts`: Docker Compose stacks from `services/`
|
||||||
- `nuremberg-a`: poste.io mail (Docker)
|
- `nuremberg-a`: poste.io mail (Docker)
|
||||||
- `london-b`: `media_stack` + `backup` (rclone to B2)
|
- `london-b`: `media_stack` + `backup` (rclone to B2)
|
||||||
- `proxmox_hosts` (`london-a`, `copenhagen-a`): `proxmox_ve` (apt repo, nag patch, CIFS storage)
|
- `proxmox_hosts` (`london-a`, `copenhagen-a`): `proxmox_ve` (apt repo, nag patch, CIFS storage on london-a only)
|
||||||
- `zfs_hosts`: ZFS scrub scheduling
|
- `zfs_hosts`: ZFS scrub scheduling
|
||||||
|
|
||||||
Observability (node_exporter, systemd_exporter, Grafana Alloy) is part of the `common` baseline — every host gets it.
|
Observability (node_exporter, systemd_exporter, Grafana Alloy) is part of the `common` baseline — every host gets it.
|
||||||
|
|
@ -62,7 +62,7 @@ Run a single stage: `ansible-playbook deploy.yml --tags docker`
|
||||||
| `systemd_services` | Custom systemd units from `services/` |
|
| `systemd_services` | Custom systemd units from `services/` |
|
||||||
| `media_stack` | *Arr stack, Plex/Jellyfin, Samba, Syncthing on london-b |
|
| `media_stack` | *Arr stack, Plex/Jellyfin, Samba, Syncthing on london-b |
|
||||||
| `backup` | rclone-to-B2 cron job on london-b |
|
| `backup` | rclone-to-B2 cron job on london-b |
|
||||||
| `proxmox_ve` | PVE no-subscription repo, UI lockdown, CIFS storage |
|
| `proxmox_ve` | PVE no-subscription repo, UI lockdown, CIFS storage (opt-in via `proxmox_ve_mount_cifs_storage`) |
|
||||||
| `zfs` | Weekly scrub cron on ZFS hosts |
|
| `zfs` | Weekly scrub cron on ZFS hosts |
|
||||||
|
|
||||||
## Inventory
|
## Inventory
|
||||||
|
|
|
||||||
|
|
@ -3,3 +3,7 @@ host_role: proxmox-ve
|
||||||
host_description: "Proxmox VE hypervisor"
|
host_description: "Proxmox VE hypervisor"
|
||||||
host_location: "Copenhagen"
|
host_location: "Copenhagen"
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
|
|
||||||
|
# Don't mount london-b's CIFS share here — it's on the London LAN, not worth
|
||||||
|
# the WAN/Tailscale hop for VM storage from Copenhagen.
|
||||||
|
proxmox_ve_mount_cifs_storage: false
|
||||||
|
|
|
||||||
|
|
@ -46,12 +46,15 @@
|
||||||
notify: Reload ufw
|
notify: Reload ufw
|
||||||
|
|
||||||
# --- Storage ---
|
# --- Storage ---
|
||||||
|
# london-b's CIFS share is only mounted for hosts on the same LAN (london-a) —
|
||||||
|
# it's not worth mounting over the WAN/Tailscale for a Copenhagen host.
|
||||||
|
|
||||||
- name: Check if hdd CIFS storage is configured
|
- name: Check if hdd CIFS storage is configured
|
||||||
ansible.builtin.command: pvesh get /storage/hdd
|
ansible.builtin.command: pvesh get /storage/hdd
|
||||||
register: proxmox_ve_hdd_check
|
register: proxmox_ve_hdd_check
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
|
when: proxmox_ve_mount_cifs_storage | default(true)
|
||||||
|
|
||||||
- name: Add hdd CIFS storage (london-b /pve share)
|
- name: Add hdd CIFS storage (london-b /pve share)
|
||||||
ansible.builtin.command: >-
|
ansible.builtin.command: >-
|
||||||
|
|
@ -63,4 +66,6 @@
|
||||||
--content images,backup,import,snippets,vztmpl,rootdir,iso
|
--content images,backup,import,snippets,vztmpl,rootdir,iso
|
||||||
no_log: true
|
no_log: true
|
||||||
changed_when: true
|
changed_when: true
|
||||||
when: proxmox_ve_hdd_check.rc != 0
|
when:
|
||||||
|
- proxmox_ve_mount_cifs_storage | default(true)
|
||||||
|
- proxmox_ve_hdd_check.rc != 0
|
||||||
|
|
|
||||||
|
|
@ -32,12 +32,11 @@ Compact Lenovo desktop — powered by a standard ThinkPad charging brick. Small,
|
||||||
|
|
||||||
### Storage
|
### Storage
|
||||||
|
|
||||||
Proxmox is connected to the same CIFS share on **london-b** (`100.84.65.101 /pve`) used by london-a, for ISO/template/backup storage. The mount is configured by the `proxmox_ve` Ansible role.
|
Unlike london-a, this host does **not** mount london-b's CIFS share — it's not worth the WAN/Tailscale hop from Copenhagen for VM storage. Only local storage is configured (`proxmox_ve_mount_cifs_storage: false` in `host_vars/copenhagen-a.yml`).
|
||||||
|
|
||||||
| Storage ID | Type | Backing |
|
| Storage ID | Type | Backing |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `local-lvm` | LVM-Thin | Local boot disk |
|
| `local-lvm` | LVM-Thin | Local boot disk |
|
||||||
| `hdd` | CIFS | london-b `/pve` share |
|
|
||||||
|
|
||||||
### VMs
|
### VMs
|
||||||
|
|
||||||
|
|
@ -50,7 +49,7 @@ Part of the `proxmox_hosts` group alongside london-a, sharing the `proxmox_ve` r
|
||||||
- Swaps the enterprise apt repo for `pve-no-subscription` so updates work without a paid subscription
|
- Swaps the enterprise apt repo for `pve-no-subscription` so updates work without a paid subscription
|
||||||
- Patches `proxmoxlib.js` to suppress the subscription nag dialog
|
- Patches `proxmoxlib.js` to suppress the subscription nag dialog
|
||||||
- Restricts the web UI to the `tailscale0` interface via UFW
|
- Restricts the web UI to the `tailscale0` interface via UFW
|
||||||
- Mounts the london-b CIFS storage
|
- Skips the london-b CIFS mount (`proxmox_ve_mount_cifs_storage: false`) — local storage only
|
||||||
|
|
||||||
## Networking
|
## Networking
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ Repurposed gaming PC (previously ran Minecraft and a WoW/MaNGOS private server)
|
||||||
|---------|------|-----------|------|-----|
|
|---------|------|-----------|------|-----|
|
||||||
| Proxmox VE | 8006 | Native (Debian Bookworm-based PVE) | Proxmox login | copenhagen-a.pez.sh |
|
| Proxmox VE | 8006 | Native (Debian Bookworm-based PVE) | Proxmox login | copenhagen-a.pez.sh |
|
||||||
|
|
||||||
The web UI is exposed via Caddy at `copenhagen-a.pez.sh` but is also reachable directly over Tailscale. Proxmox storage is augmented with the same london-b CIFS share used by london-a (configured by the `proxmox_ve` Ansible role).
|
The web UI is exposed via Caddy at `copenhagen-a.pez.sh` but is also reachable directly over Tailscale. Unlike london-a, this host doesn't mount london-b's CIFS share — not worth the WAN/Tailscale hop for VM storage from Copenhagen — so it runs local storage only.
|
||||||
|
|
||||||
## Observability Agents
|
## Observability Agents
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue