no SMB mount on copenhagen-a

This commit is contained in:
Rasmus Wejlgaard 2026-07-28 11:41:59 +01:00
parent f8577e2d92
commit b13fbbac48
5 changed files with 15 additions and 7 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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