diff --git a/pve/cron/root b/pve/cron/root new file mode 100644 index 0000000..64be10a --- /dev/null +++ b/pve/cron/root @@ -0,0 +1,6 @@ +0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/update-lxcs-cron.sh)" >>/var/log/update-lxcs-cron.log 2>/dev/null +0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/update-lxcs-cron.sh)" >>/var/log/update-lxcs-cron.log 2>/dev/null +* * * * * /usr/bin/python3 /usr/local/bin/jarvis-ping-probe.py >> /var/log/jarvis-ping-probe.log 2>&1 +*/3 * * * * /usr/local/bin/jarvis-netscan.sh >>/var/log/jarvis-netscan.log 2>&1 +* * * * * /usr/local/bin/jarvis-phone-probe.sh >/dev/null 2>&1 +0 3 * * 0 /usr/local/bin/proxmox-backup >> /var/log/proxmox-backup.log 2>&1 diff --git a/pve/network/hostname b/pve/network/hostname new file mode 100644 index 0000000..c9da5e2 --- /dev/null +++ b/pve/network/hostname @@ -0,0 +1 @@ +pve diff --git a/pve/network/hosts b/pve/network/hosts new file mode 100644 index 0000000..c39f5bf --- /dev/null +++ b/pve/network/hosts @@ -0,0 +1,11 @@ +127.0.0.1 localhost.localdomain localhost +10.48.200.90 pve.orbishsoting.com pve + +# The following lines are desirable for IPv6 capable hosts + +::1 ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +ff02::3 ip6-allhosts diff --git a/pve/network/interfaces b/pve/network/interfaces new file mode 100644 index 0000000..575655b --- /dev/null +++ b/pve/network/interfaces @@ -0,0 +1,33 @@ +# network interface settings; autogenerated +# Please do NOT modify this file directly, unless you know what +# you're doing. +# +# If you want to manage parts of the network configuration manually, +# please utilize the 'source' or 'source-directory' directives to do +# so. +# PVE will preserve these directives, but will NOT read its network +# configuration from sourced files, so do not attempt to move any of +# the PVE managed interfaces into external files! + +auto lo +iface lo inet loopback + +iface nic0 inet manual + +iface nic1 inet manual + +iface nic2 inet manual + +iface nic3 inet manual + +auto vmbr0 +iface vmbr0 inet static + address 10.48.200.90/24 + gateway 10.48.200.1 + bridge-ports nic0 + bridge-stp off + bridge-fd 0 + bridge-vlan-aware yes + bridge-vids 2-4094 + +source /etc/network/interfaces.d/* diff --git a/pve/network/interfaces.d/sdn b/pve/network/interfaces.d/sdn new file mode 100644 index 0000000..e69de29 diff --git a/pve/network/resolv.conf b/pve/network/resolv.conf new file mode 100644 index 0000000..63d1e17 --- /dev/null +++ b/pve/network/resolv.conf @@ -0,0 +1,7 @@ +# resolv.conf(5) file generated by tailscale +# For more info, see https://tailscale.com/s/resolvconf-overwrite +# DO NOT EDIT THIS FILE BY HAND -- CHANGES WILL BE OVERWRITTEN + +nameserver 100.100.100.100 +nameserver fd7a:115c:a1e0::53 +search tail7dfd0c.ts.net diff --git a/pve/scripts/jarvis-netscan.sh b/pve/scripts/jarvis-netscan.sh new file mode 100755 index 0000000..75b58d3 --- /dev/null +++ b/pve/scripts/jarvis-netscan.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# JARVIS Network Scanner — runs on PVE1, pushes nmap results to JARVIS +# Cron: */3 * * * * /usr/local/bin/jarvis-netscan.sh >/dev/null 2>&1 + +JARVIS_URL="https://165.22.1.228" +JARVIS_HOST="jarvis.orbishosting.com" +REG_KEY="f846a9aaf7ce9a61742c63c87c4186052a71d2a580c65518" +SUBNET="10.48.200.0/24" + +TMPFILE=$(mktemp) +nmap -sn --send-ip "$SUBNET" 2>/dev/null > "$TMPFILE" + +if [ ! -s "$TMPFILE" ]; then + echo "$(date): nmap produced no output" >&2 + rm -f "$TMPFILE" + exit 1 +fi + +JSON=$(python3 - "$TMPFILE" <<'PYEOF' +import sys, re, json + +with open(sys.argv[1]) as f: + data = f.read() + +devices = [] +cur = None + +for line in data.splitlines(): + line = line.strip() + m = re.match(r'Nmap scan report for (?:(\S+) \()?(\d+\.\d+\.\d+\.\d+)\)?', line) + if m: + if cur: + devices.append(cur) + hn = m.group(1) if m.group(1) and m.group(1) != m.group(2) else '' + cur = {'ip': m.group(2), 'hostname': hn, 'mac': '', 'vendor': ''} + elif cur: + m2 = re.match(r'MAC Address: ([0-9A-Fa-f:]{17}) \(([^)]+)\)', line) + if m2: + cur['mac'] = m2.group(1).lower() + cur['vendor'] = '' if m2.group(2) == 'Unknown' else m2.group(2) + +if cur: + devices.append(cur) + +print(json.dumps({'devices': devices})) +PYEOF +) + +rm -f "$TMPFILE" + +if [ -z "$JSON" ]; then + echo "$(date): JSON parse failed" >&2 + exit 1 +fi + +RESPONSE=$(curl -sk --max-time 15 \ + -X POST "$JARVIS_URL/api/netscan" \ + -H "Host: $JARVIS_HOST" \ + -H "Content-Type: application/json" \ + -H "X-Registration-Key: $REG_KEY" \ + -d "$JSON" 2>/dev/null) + +echo "$(date): $RESPONSE" diff --git a/pve/scripts/jarvis-phone-probe.sh b/pve/scripts/jarvis-phone-probe.sh new file mode 100755 index 0000000..cac47bf --- /dev/null +++ b/pve/scripts/jarvis-phone-probe.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# JARVIS VoIP Phone Probe — runs every minute on PVE1 +# Pings all Yealink phones + checks FusionPBX SIP registration (read-only) +# 200.3 is on an external FusionPBX — ping only, no SIP check + +JARVIS_URL="https://165.22.1.228" +JARVIS_HOST="jarvis.orbishosting.com" +REG_KEY="f846a9aaf7ce9a61742c63c87c4186052a71d2a580c65518" +FUSION_HOST="134.209.72.226" + +# IP|alias|extension(none=skip SIP check)|mac +PHONES=( + "10.48.200.2|Yealink — Myron Main (Ext 1000)|1000|80:5e:c0:35:04:77" + "10.48.200.3|Yealink — United Mirror & Glass (External SIP)|none|c4:fc:22:28:63:71" + "10.48.200.43|Yealink T48S — Tommy Main (Ext 1001)|1001|80:5e:0c:15:0c:4f" + "10.48.200.86|Yealink — Myron Vanguard WiFi (Offline During Work Hrs)|none|" + "10.48.200.65|Yealink — Myron Vanguard Work (Ext 1003)|1003|c4:fc:22:13:e1:89" +) + +# Get SIP registrations from FusionPBX (read-only) +REG_OUTPUT=$(ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 -o BatchMode=yes \ + root@$FUSION_HOST "fs_cli -x 'show registrations'" 2>/dev/null || echo "") + +DEVICES="[" +FIRST=1 +for PHONE in "${PHONES[@]}"; do + IFS='|' read -r IP ALIAS EXT MAC <<< "$PHONE" + + # Ping probe + if ping -c 1 -W 2 "$IP" > /dev/null 2>&1; then + STATUS="online" + else + STATUS="offline" + fi + + # SIP check — skip for external phones (ext=none) + if [ "$EXT" = "none" ]; then + SIP="external" + elif [ -n "$REG_OUTPUT" ] && echo "$REG_OUTPUT" | grep -q "^${EXT},"; then + SIP="registered" + else + SIP="unregistered" + fi + + [ $FIRST -eq 0 ] && DEVICES+="," + DEVICES+="{\"ip\":\"$IP\",\"alias\":\"$ALIAS\",\"mac\":\"$MAC\",\"vendor\":\"Yealink\",\"status\":\"$STATUS\",\"sip_status\":\"$SIP\",\"extension\":\"$EXT\"}" + FIRST=0 +done +DEVICES+="]" + +curl -sk --max-time 10 \ + -X POST "$JARVIS_URL/api/netscan" \ + -H "Host: $JARVIS_HOST" \ + -H "Content-Type: application/json" \ + -H "X-Registration-Key: $REG_KEY" \ + -d "{\"devices\":$DEVICES}" > /dev/null 2>&1 diff --git a/pve/scripts/jarvis-ping-probe.py b/pve/scripts/jarvis-ping-probe.py new file mode 100755 index 0000000..36375ae --- /dev/null +++ b/pve/scripts/jarvis-ping-probe.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 +""" +JARVIS Ping Probe — runs on PVE1 (10.48.200.90), which is on the LAN. +Pings devices that can't run the full agent, then calls JARVIS heartbeat +on their behalf so the dashboard shows live status. +""" + +import json +import subprocess +import urllib.request +import urllib.error +import ssl + +JARVIS_URL = "https://165.22.1.228" +HOST_HEADER = "jarvis.orbishosting.com" + +# Devices to probe: agent_id → api_key +DEVICES = { + "fortigate_gw": "00103aea6fcbf837bc55e11b445a3620", + "yealink_t48s": "2bf8bd7ca8dd31c28fd16aa956e15f88", + "homeassistant_ha": "6f8077dee7a7b4af202bc80886f1223d", +} + +# Map agent_id → IP (for ping) +IPS = { + "fortigate_gw": "10.48.200.1", + "yealink_t48s": "10.48.200.43", + "homeassistant_ha": "10.48.200.97", +} + +def ping(ip: str) -> bool: + result = subprocess.run( + ["ping", "-c", "1", "-W", "2", ip], + capture_output=True, timeout=5 + ) + return result.returncode == 0 + +def heartbeat(agent_id: str, api_key: str, alive: bool): + # If device is down we still send heartbeat so JARVIS updates last_seen + # and sets status based on the alive flag via the metric payload + ctx = ssl.create_default_context() + ctx.check_hostname = False + ctx.verify_mode = ssl.CERT_NONE + + payload = json.dumps({}).encode() + req = urllib.request.Request( + f"{JARVIS_URL}/api/agent/heartbeat", + data=payload, method="POST" + ) + req.add_header("Content-Type", "application/json") + req.add_header("X-Agent-Key", api_key) + req.add_header("Host", HOST_HEADER) + + try: + with urllib.request.urlopen(req, timeout=10, context=ctx): + pass + except Exception: + pass + +def update_status(agent_id: str, api_key: str, status: str): + """Push a minimal metric so JARVIS knows if device is up or down.""" + ctx = ssl.create_default_context() + ctx.check_hostname = False + ctx.verify_mode = ssl.CERT_NONE + + payload = json.dumps({ + "type": "system", + "data": { + "hostname": agent_id, + "cpu_percent": 0, + "ping_only": True, + "ping_status": status, + } + }).encode() + req = urllib.request.Request( + f"{JARVIS_URL}/api/agent/metrics", + data=payload, method="POST" + ) + req.add_header("Content-Type", "application/json") + req.add_header("X-Agent-Key", api_key) + req.add_header("Host", HOST_HEADER) + + try: + with urllib.request.urlopen(req, timeout=10, context=ctx): + pass + except Exception: + pass + +def main(): + for agent_id, api_key in DEVICES.items(): + ip = IPS.get(agent_id, "") + alive = ping(ip) if ip else False + status = "online" if alive else "offline" + print(f"{agent_id} ({ip}): {status}", flush=True) + heartbeat(agent_id, api_key, alive) + if alive: + update_status(agent_id, api_key, status) + +if __name__ == "__main__": + main() diff --git a/pve/scripts/pve-remove-nag.sh b/pve/scripts/pve-remove-nag.sh new file mode 100755 index 0000000..6ee22aa --- /dev/null +++ b/pve/scripts/pve-remove-nag.sh @@ -0,0 +1,45 @@ +#!/bin/sh +WEB_JS=/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js +if [ -s "$WEB_JS" ] && ! grep -q NoMoreNagging "$WEB_JS"; then + echo "Patching Web UI nag..." + sed -i -e "/data\.status/ s/!//" -e "/data\.status/ s/active/NoMoreNagging/" "$WEB_JS" +fi + +MOBILE_TPL=/usr/share/pve-yew-mobile-gui/index.html.tpl +MARKER="" +if [ -f "$MOBILE_TPL" ] && ! grep -q "$MARKER" "$MOBILE_TPL"; then + echo "Patching Mobile UI nag..." + printf "%s\n" \ + "$MARKER" \ + "" \ + "" >> "$MOBILE_TPL" +fi diff --git a/pve/ssh/authorized_keys b/pve/ssh/authorized_keys new file mode 100644 index 0000000..247042b --- /dev/null +++ b/pve/ssh/authorized_keys @@ -0,0 +1,4 @@ + +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDNYf4z78s4+K4HoiUiHoqPbCCEFngCAXKP7mGwhCAc86TTbAosTpAnG1HycPzb2s2B3K3geQPUzQzcLvWdBX8hJM8IamvAZ/WXPtOszWTuVnaYM6BQY7ldIdXi3a+xscWr+M8dM6OexXqdCAy66HXmgl98+Cg2uEbxCFelH81/5d3cuoCXllpvUawyYZe5UjFjPeBpPc/QyhDxG4ovYYpcCeHbzLXc9jIfawjwJTDcYfeXVHFisMdSUp0+eXndRM1TybeSOfT4oQbuijdsy4IQo0md5fRYgZuXxHMIgy7obNB3OPf9szgbWTEWK6jNFhkQHIZXPSRxSM9L1a0RkarQk+xqTf96wTJL/Uz6hSyImYjhtPvcOoBRejaQaK96HuWGe3At96+I6WjvJNEDM/jF9tosp2nbdhcGRitYmxREdv7M8AYM393MKT94BBrulr6tI504+0dDTH7IaojYc8SBAtu1TrUwinLA9zQ35Ney5Ry/Mr7tNOLU1Ni3lkqNRWysEjWxEizM/1sK7u2fbAzx3kE+TRpyzmFv6gSiGHqjs5j/tG6daK7Hv6OvbHSWwV/pW6CKslJWFAsa5tVv+Fw8cXdcMMyb6/CYTUtcFMgcF0hhtsd1g6YfnOWRGLcUxFe9odiayhMlstne/dqeyvQCjStrzOxUT5ta9L9JZifDkQ== root@pve +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbvKQjreU0F6AWjjcJ76l6mAUpea/VxVwMZ5Yu/0kd4rnAIU02vzoc0jGkNs3q8PiBqBfnrvPJH9TJIzqAiIE/CKxP4VVyVQj9pCIDurIVLW2tkt/GTurRMt6K2GO6HvssIOapw+j07Q/ERGg6frmctZ7VlV73YaOz285FC8J+A7CYSQxcssDkUWWMgVENv89/sqJh7xLUA71qhdr8Yg9rzjXTOn+QQRSBt+c3iSM8B0t7n3GsAQcHV6CisctL9pARG/2PtnShjPhZSqBIQuYqLl5iOnYIs6mh80DcXpfPcUzqk3FRV97CwtkkGPIxFUkQInW5bO/VhNHtfZJ0nPhsXQbVxUrIaSFHNjKZCfY1N0ngFrwTndlrrtMhDtebjxwNbjskICxT4qVYqYPasnl0VUaUrPzkx5qzr1Gg2EkweytlzzQDLO0wfGd+LoDzoW75sVoQz7VxbfIYgdm07H1dgp+EIyT2uOGJctew8KDpE7bQKdRXVmJ8QwslTu4RFZwryhwtRvYotgO+bA0j7cbNxprUWGkPP5FVmJhPlQMxHTEOuRurX9Z8Guz8w1XlpbV6jB+ZcZhN/SQ6Nr4qFY1SkxszkyiwcSVkxNns1EWnyjm6xfKCGp7nxfHjJ/HmXP/Jq7jcBwyRIE/dAP7Zx6AbbhembRyOc0JnNCzRZg/DWQ== root@pve2 +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC90VSAwyxC6dYkhfS4cZOFRB/OhCXU+06zHxB2NQNOOnozY9n3FvwgHgOUSO+4tEX6F5uGswzpNLuA/rDMdUfmWt6n/i/H98RlxeyNDd0a5fqApHVVKuZRyrSIDrWHfMRfOCv9PJw1ctZ77P46yOXn/2i39vJfqXOi0Tu60SkJGVKH2Hk7XT9qL1/8MSq/1qgNXQQAt+v0Lk2tTDMlAZhPvOnvwwrG9CwPKFlEKS6pS57nDSco1KHuqKhVTGbdrLrqEb9he4z/bYBMeiEh1odi2FOgeoM6pp2DawlST0jxcPQPOMcnC96atWQyqMspied2tHPtwA1aZwgJBqE6uUgA1JMCo8AIcVqLIBHDbco86L46fRDFOr5eoItN8Kxzn0HnZy3FPahgnUdMyZMmpgdaOrktcslsp2UVZY68jVpbo+OnSqmtqdRlMeox+rn3dYxc4QnV7NzmEC0m0joWzk3JPV21R5HSWcBXuuoIN03EELPK+HX4UYPdoo6RsUh6Q2d0a0uGPaRuQP9Er8einWuQAhGsNZQy2GLgDvJd0osW5saMYU4yzN78BDacix0xQc8U6TS8NIRwv2crbJryqq1IuWDaj02NEw47e90/Gp10ozZHyLQNIeGKrj435CDIAPu3C1/Dfonx6Y08iW/aWKvmIah5VzHERTJ1/p2OmrHYJw== root@pve2 diff --git a/pve/ssh/id_rsa.pub b/pve/ssh/id_rsa.pub new file mode 100644 index 0000000..22a1f83 --- /dev/null +++ b/pve/ssh/id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDNYf4z78s4+K4HoiUiHoqPbCCEFngCAXKP7mGwhCAc86TTbAosTpAnG1HycPzb2s2B3K3geQPUzQzcLvWdBX8hJM8IamvAZ/WXPtOszWTuVnaYM6BQY7ldIdXi3a+xscWr+M8dM6OexXqdCAy66HXmgl98+Cg2uEbxCFelH81/5d3cuoCXllpvUawyYZe5UjFjPeBpPc/QyhDxG4ovYYpcCeHbzLXc9jIfawjwJTDcYfeXVHFisMdSUp0+eXndRM1TybeSOfT4oQbuijdsy4IQo0md5fRYgZuXxHMIgy7obNB3OPf9szgbWTEWK6jNFhkQHIZXPSRxSM9L1a0RkarQk+xqTf96wTJL/Uz6hSyImYjhtPvcOoBRejaQaK96HuWGe3At96+I6WjvJNEDM/jF9tosp2nbdhcGRitYmxREdv7M8AYM393MKT94BBrulr6tI504+0dDTH7IaojYc8SBAtu1TrUwinLA9zQ35Ney5Ry/Mr7tNOLU1Ni3lkqNRWysEjWxEizM/1sK7u2fbAzx3kE+TRpyzmFv6gSiGHqjs5j/tG6daK7Hv6OvbHSWwV/pW6CKslJWFAsa5tVv+Fw8cXdcMMyb6/CYTUtcFMgcF0hhtsd1g6YfnOWRGLcUxFe9odiayhMlstne/dqeyvQCjStrzOxUT5ta9L9JZifDkQ== root@pve diff --git a/pve/systemd/filebrowser.service b/pve/systemd/filebrowser.service new file mode 100644 index 0000000..84de990 --- /dev/null +++ b/pve/systemd/filebrowser.service @@ -0,0 +1,12 @@ +[Unit] +Description=FileBrowser Quantum +After=network.target + +[Service] +User=root +WorkingDirectory=/usr/local/community-scripts +ExecStart=/usr/local/bin/filebrowser -c /usr/local/community-scripts/fq-config.yaml +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/pve/systemd/jarvis-agent.service b/pve/systemd/jarvis-agent.service new file mode 100644 index 0000000..296e678 --- /dev/null +++ b/pve/systemd/jarvis-agent.service @@ -0,0 +1,15 @@ +[Unit] +Description=JARVIS Monitoring Agent +After=network-online.target +Wants=network-online.target + +[Service] +Type=simple +ExecStart=/usr/bin/python3 /opt/jarvis-agent/jarvis-agent.py +Restart=always +RestartSec=10 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target diff --git a/pve/systemd/ollama.service b/pve/systemd/ollama.service new file mode 100644 index 0000000..ab84635 --- /dev/null +++ b/pve/systemd/ollama.service @@ -0,0 +1,14 @@ +[Unit] +Description=Ollama Service +After=network-online.target + +[Service] +ExecStart=/usr/local/bin/ollama serve +User=ollama +Group=ollama +Restart=always +RestartSec=3 +Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + +[Install] +WantedBy=default.target diff --git a/pve/vzdump.conf b/pve/vzdump.conf new file mode 100644 index 0000000..1835e20 --- /dev/null +++ b/pve/vzdump.conf @@ -0,0 +1,20 @@ +# vzdump default settings + +#tmpdir: DIR +#dumpdir: DIR +#storage: STORAGE_ID +#mode: snapshot|suspend|stop +#bwlimit: KBPS +#performance: [max-workers=N][,pbs-entries-max=N] +#ionice: PRI +#lockwait: MINUTES +#stopwait: MINUTES +#stdexcludes: BOOLEAN +#mailto: ADDRESSLIST +#prune-backups: keep-INTERVAL=N[,...] +#script: FILENAME +#exclude-path: PATHLIST +#pigz: N +#notes-template: {{guestname}} +#pbs-change-detection-mode: legacy|data|metadata +#fleecing: enabled=BOOLEAN,storage=STORAGE_ID diff --git a/shared/ceph.conf b/shared/ceph.conf new file mode 100644 index 0000000..a03ce43 --- /dev/null +++ b/shared/ceph.conf @@ -0,0 +1,23 @@ +[global] + auth_client_required = cephx + auth_cluster_required = cephx + auth_service_required = cephx + cluster_network = 192.168.1.35/24 + fsid = 65167724-a2f6-4757-ac34-e1ee1c555a38 + mon_allow_pool_delete = true + mon_host = 192.168.1.35 + ms_bind_ipv4 = true + ms_bind_ipv6 = false + osd_pool_default_min_size = 2 + osd_pool_default_size = 3 + public_network = 192.168.1.35/24 + +[client] + keyring = /etc/pve/priv/$cluster.$name.keyring + +[client.crash] + keyring = /etc/pve/ceph/$cluster.$name.keyring + +[mon.pve] + public_addr = 192.168.1.35 + diff --git a/shared/corosync.conf b/shared/corosync.conf new file mode 100644 index 0000000..f363c36 --- /dev/null +++ b/shared/corosync.conf @@ -0,0 +1,36 @@ +logging { + debug: off + to_syslog: yes +} + +nodelist { + node { + name: pve + nodeid: 1 + quorum_votes: 1 + ring0_addr: 10.48.200.90 + } + node { + name: pve2 + nodeid: 2 + quorum_votes: 1 + ring0_addr: 10.48.200.91 + } +} + +quorum { + provider: corosync_votequorum +} + +totem { + cluster_name: PVEOrbis + config_version: 5 + interface { + linknumber: 0 + } + ip_version: ipv4-6 + link_mode: passive + secauth: on + version: 2 +} + diff --git a/shared/datacenter.cfg b/shared/datacenter.cfg new file mode 100644 index 0000000..78956e4 --- /dev/null +++ b/shared/datacenter.cfg @@ -0,0 +1,3 @@ + +keyboard: en-us +max_workers: 8 diff --git a/shared/ha/crm_commands b/shared/ha/crm_commands new file mode 100644 index 0000000..e69de29 diff --git a/shared/ha/manager_status b/shared/ha/manager_status new file mode 100644 index 0000000..e3d0be2 --- /dev/null +++ b/shared/ha/manager_status @@ -0,0 +1 @@ +{"timestamp":1775165703,"master_node":"pve","service_status":{},"node_status":{"pve":"online"}} \ No newline at end of file diff --git a/shared/ha/rules.cfg b/shared/ha/rules.cfg new file mode 100644 index 0000000..e69de29 diff --git a/shared/jobs.cfg b/shared/jobs.cfg new file mode 100644 index 0000000..6907e38 --- /dev/null +++ b/shared/jobs.cfg @@ -0,0 +1,12 @@ +vzdump: backup-aa6b1890-23c0 + schedule 21:00 + all 1 + enabled 1 + exclude 103,106,302 + fleecing 0 + mode snapshot + notes-template {{guestname}} + notification-mode notification-system + repeat-missed 0 + storage ProxBackups + diff --git a/shared/nodes/pve/lxc/110.conf b/shared/nodes/pve/lxc/110.conf new file mode 100644 index 0000000..7b86a9b --- /dev/null +++ b/shared/nodes/pve/lxc/110.conf @@ -0,0 +1,48 @@ +#
+# +# Logo +# +# +#

Alpine-Wireguard LXC

+# +#

+# +# Sponsoring and donations +# +#

+# +#

+# +# Open script page +# +#

+# +# +# +# GitHub +# +# +# +# Discussions +# +# +# +# Issues +# +#
+arch: amd64 +cores: 2 +features: nesting=1,keyctl=1 +hostname: WireGuard-19 +memory: 1024 +net0: name=eth0,bridge=vmbr0,hwaddr=BC:24:11:46:1E:70,ip=dhcp,ip6=auto,type=veth +onboot: 1 +ostype: alpine +protection: 1 +rootfs: local-lvm:vm-110-disk-0,size=50G +swap: 512 +tags: alpine;community-script;vpn +timezone: America/Chicago +unprivileged: 1 +lxc.cgroup2.devices.allow: c 10:200 rwm +lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file diff --git a/shared/nodes/pve/qemu-server/100.conf b/shared/nodes/pve/qemu-server/100.conf new file mode 100644 index 0000000..4df9443 --- /dev/null +++ b/shared/nodes/pve/qemu-server/100.conf @@ -0,0 +1,20 @@ +agent: 1,fstrim_cloned_disks=1 +audio0: device=AC97,driver=none +boot: order=ide0;ide2;net0 +cores: 2 +cpu: host +ide0: GoFlex:100/vm-100-disk-0.qcow2,cache=writeback,discard=on,size=100G +ide2: none,media=cdrom +machine: pc-q35-10.1 +memory: 8192 +meta: creation-qemu=10.1.2,ctime=1771397582 +name: SynchroNet-50 +net0: e1000=BC:24:11:78:E0:81,bridge=vmbr0,firewall=1 +numa: 0 +onboot: 1 +ostype: win8 +scsihw: virtio-scsi-single +smbios1: uuid=73dafc5b-d1a1-43f2-9340-b0463a3ccd02 +sockets: 2 +startup: up=10 +vmgenid: aabb9355-d50c-4f60-b694-7c5e7e94104d diff --git a/shared/nodes/pve/qemu-server/101.conf b/shared/nodes/pve/qemu-server/101.conf new file mode 100644 index 0000000..d4dfa06 --- /dev/null +++ b/shared/nodes/pve/qemu-server/101.conf @@ -0,0 +1,19 @@ +#Home Assistant
+#IP addr %3A40%3A +bios: ovmf +boot: order=sata0 +cores: 2 +cpu: host +machine: q35 +memory: 8192 +meta: creation-qemu=10.0.2,ctime=1764310943 +name: HomeAssistant-97 +net0: e1000=BC:24:11:A3:BD:26,bridge=vmbr0 +numa: 0 +onboot: 1 +ostype: l26 +protection: 1 +sata0: GoFlex:101/vm-101-disk-0.raw,cache=writeback,discard=on,size=150G +smbios1: uuid=c999275e-3a76-41dc-9d28-aae465e1bdc0 +sockets: 2 +vmgenid: c53dbd51-2caa-4f92-b27a-b2883aee1c11 diff --git a/shared/nodes/pve/qemu-server/102.conf b/shared/nodes/pve/qemu-server/102.conf new file mode 100644 index 0000000..4cca8f7 --- /dev/null +++ b/shared/nodes/pve/qemu-server/102.conf @@ -0,0 +1,49 @@ +#
+# +# Logo +# +# +#

Umbrel OS VM

+# +#

+# +# spend Coffee +# +#

+# +# +# +# GitHub +# +# +# +# Discussions +# +# +# +# Issues +# +#
+agent: enabled=1 +bios: ovmf +boot: order=scsi0 +cores: 4 +cpu: kvm64 +efidisk0: GoFlex:102/vm-102-disk-0.qcow2,efitype=4m,size=528K +localtime: 1 +machine: q35 +memory: 4096 +meta: creation-qemu=10.1.2,ctime=1775149453 +name: UmbrelOS +net0: virtio=02:17:AE:46:7B:CC,bridge=vmbr0 +numa: 0 +onboot: 1 +ostype: l26 +scsi0: GoFlex:102/vm-102-disk-1.qcow2,discard=on,size=500G,ssd=1 +scsihw: virtio-scsi-pci +serial0: socket +smbios1: uuid=ee28cdc6-6105-4f03-9770-848ceed06e5e +sockets: 1 +tablet: 0 +tags: community-script +vmgenid: 24e5d522-df1c-4fb2-83ac-345d5139103c diff --git a/shared/nodes/pve/qemu-server/103.conf b/shared/nodes/pve/qemu-server/103.conf new file mode 100644 index 0000000..8112847 --- /dev/null +++ b/shared/nodes/pve/qemu-server/103.conf @@ -0,0 +1,53 @@ +#
+# +# Logo +# +# +#

TrueNAS Community Edition

+# +#

+# +# spend Coffee +# +#

+# +# +# +# GitHub +# +# +# +# Discussions +# +# +# +# Issues +# +#
+#
+#Login truenas_admin
+#Password Joker1974!!! +agent: enabled=1 +balloon: 0 +bios: ovmf +boot: order=sata0;ide2;net0 +cores: 2 +cpu: host +efidisk0: local-lvm:vm-103-disk-0,efitype=4m,pre-enrolled-keys=0,size=4M +ide2: none,media=cdrom +localtime: 1 +machine: q35 +memory: 8192 +meta: creation-qemu=11.0.0,ctime=1780632047 +name: TrueNAS-73 +net0: virtio=02:47:33:56:ED:6D,bridge=vmbr0 +onboot: 1 +ostype: l26 +sata0: local-lvm:vm-103-disk-1,size=30G,ssd=1 +sata1: local-lvm:vm-103-disk-2,size=500G +scsihw: virtio-scsi-single +smbios1: uuid=c48e8d16-9476-4b16-a041-9b3a49dc3725 +tablet: 0 +tags: community-script +vga: virtio +vmgenid: 37295570-e28b-47fc-a31f-8ed241206af4 diff --git a/shared/nodes/pve/qemu-server/104.conf b/shared/nodes/pve/qemu-server/104.conf new file mode 100644 index 0000000..ffdffc3 --- /dev/null +++ b/shared/nodes/pve/qemu-server/104.conf @@ -0,0 +1,19 @@ +agent: 1,fstrim_cloned_disks=1 +boot: order=ide0;ide2;net0 +cores: 1 +cpu: host +ide0: GoFlex:104/vm-104-disk-0.qcow2,size=100G +ide2: none,media=cdrom +machine: pc-q35-10.1 +memory: 4096 +meta: creation-qemu=10.1.2,ctime=1773009925 +name: Windows10-DHCP +net0: e1000=BC:24:11:20:24:F5,bridge=vmbr0,firewall=1 +numa: 0 +onboot: 1 +ostype: win8 +protection: 1 +scsihw: virtio-scsi-single +smbios1: uuid=cc1ce780-0a3c-4245-a9de-b10d1aca89f7 +sockets: 2 +vmgenid: 3d7758c7-f49e-4923-9ea0-c950fb1a489a diff --git a/shared/nodes/pve/qemu-server/105.conf b/shared/nodes/pve/qemu-server/105.conf new file mode 100644 index 0000000..0fd4896 --- /dev/null +++ b/shared/nodes/pve/qemu-server/105.conf @@ -0,0 +1,16 @@ +boot: order=scsi0;ide2;net0 +cores: 2 +cpu: host +ide2: local:iso/debian-13.4.0-amd64-netinst.iso,media=cdrom,size=754M +memory: 4096 +meta: creation-qemu=11.0.0,ctime=1780359381 +name: Frigate +net0: virtio=BC:24:11:92:6D:84,bridge=vmbr0,firewall=1 +numa: 0 +onboot: 1 +ostype: l26 +scsi0: local-lvm:vm-105-disk-0,iothread=1,size=200G +scsihw: virtio-scsi-single +smbios1: uuid=01172e82-2358-49af-8449-e781beff7daa +sockets: 2 +vmgenid: 0d4657ce-acd0-4c26-90ad-29da91108751 diff --git a/shared/nodes/pve/qemu-server/107.conf b/shared/nodes/pve/qemu-server/107.conf new file mode 100644 index 0000000..b79f165 --- /dev/null +++ b/shared/nodes/pve/qemu-server/107.conf @@ -0,0 +1,18 @@ +agent: 1,fstrim_cloned_disks=1 +boot: order=scsi0;ide2;net0 +cores: 2 +cpu: host +ide2: none,media=cdrom +machine: q35 +memory: 4096 +meta: creation-qemu=10.1.2,ctime=1775177879 +name: Claude-DHCP +net0: virtio=BC:24:11:2D:C6:85,bridge=vmbr0,firewall=1 +numa: 0 +onboot: 1 +ostype: l26 +scsi0: GoFlex:107/vm-107-disk-0.qcow2,iothread=1,size=150G +scsihw: virtio-scsi-single +smbios1: uuid=b0b1c8aa-c799-4e2a-b393-748ed55cf6c0 +sockets: 2 +vmgenid: b2c71a5a-2356-43b9-b815-5acba58ac22f diff --git a/shared/nodes/pve/qemu-server/112.conf b/shared/nodes/pve/qemu-server/112.conf new file mode 100644 index 0000000..10014f5 --- /dev/null +++ b/shared/nodes/pve/qemu-server/112.conf @@ -0,0 +1,18 @@ +agent: 1,fstrim_cloned_disks=1 +boot: order=scsi0;ide2;net0 +cores: 2 +cpu: host +ide2: local:iso/ubuntu-22.04.5-live-server-amd64.iso,media=cdrom,size=2086842K +machine: q35 +memory: 4096 +meta: creation-qemu=11.0.0,ctime=1778953692 +name: Jellyfin-33 +net0: virtio=BC:24:11:B9:CD:D9,bridge=vmbr0,firewall=1 +numa: 0 +onboot: 1 +ostype: l26 +scsi0: GoFlex:112/vm-112-disk-0.qcow2,iothread=1,size=50G +scsihw: virtio-scsi-single +smbios1: uuid=57c8f184-ac16-404d-bc80-7c340352dbf2 +sockets: 2 +vmgenid: db7dc6f3-ebc9-46c9-8970-d9788bee4801 diff --git a/shared/nodes/pve/qemu-server/113.conf b/shared/nodes/pve/qemu-server/113.conf new file mode 100644 index 0000000..8aee4bc --- /dev/null +++ b/shared/nodes/pve/qemu-server/113.conf @@ -0,0 +1,22 @@ +agent: enabled=1 +boot: order=scsi0 +cipassword: $5$tLqUKTpU$CYpX9cKbAdJ8JwaimzUUrcrPqwLvkm69PERl8AtvQg8 +ciuser: root +cores: 4 +ide2: local-lvm:vm-113-cloudinit,media=cdrom +ipconfig0: ip=10.48.200.35/24,gw=10.48.200.1 +machine: q35 +memory: 4096 +meta: creation-qemu=11.0.0,ctime=1780635620 +name: MediaStack-35 +nameserver: 10.48.200.90 +net0: virtio=BC:24:11:84:40:0E,bridge=vmbr0 +onboot: 1 +ostype: l26 +scsi0: local-lvm:vm-113-disk-0,discard=on,size=50G +scsihw: virtio-scsi-pci +serial0: socket +smbios1: uuid=48b8e543-f0bb-49a3-857f-90603379193a +sshkeys: ssh-rsa%20AAAAB3NzaC1yc2EAAAADAQABAAACAQDNYf4z78s4%2BK4HoiUiHoqPbCCEFngCAXKP7mGwhCAc86TTbAosTpAnG1HycPzb2s2B3K3geQPUzQzcLvWdBX8hJM8IamvAZ%2FWXPtOszWTuVnaYM6BQY7ldIdXi3a%2BxscWr%2BM8dM6OexXqdCAy66HXmgl98%2BCg2uEbxCFelH81%2F5d3cuoCXllpvUawyYZe5UjFjPeBpPc%2FQyhDxG4ovYYpcCeHbzLXc9jIfawjwJTDcYfeXVHFisMdSUp0%2BeXndRM1TybeSOfT4oQbuijdsy4IQo0md5fRYgZuXxHMIgy7obNB3OPf9szgbWTEWK6jNFhkQHIZXPSRxSM9L1a0RkarQk%2BxqTf96wTJL%2FUz6hSyImYjhtPvcOoBRejaQaK96HuWGe3At96%2BI6WjvJNEDM%2FjF9tosp2nbdhcGRitYmxREdv7M8AYM393MKT94BBrulr6tI504%2B0dDTH7IaojYc8SBAtu1TrUwinLA9zQ35Ney5Ry%2FMr7tNOLU1Ni3lkqNRWysEjWxEizM%2F1sK7u2fbAzx3kE%2BTRpyzmFv6gSiGHqjs5j%2FtG6daK7Hv6OvbHSWwV%2FpW6CKslJWFAsa5tVv%2BFw8cXdcMMyb6%2FCYTUtcFMgcF0hhtsd1g6YfnOWRGLcUxFe9odiayhMlstne%2FdqeyvQCjStrzOxUT5ta9L9JZifDkQ%3D%3D%20root%40pve%0A +vga: serial0 +vmgenid: a28f5f9b-cd6c-45f9-9f40-ddf0fda2b9ae diff --git a/shared/nodes/pve/qemu-server/118.conf b/shared/nodes/pve/qemu-server/118.conf new file mode 100644 index 0000000..4688cae --- /dev/null +++ b/shared/nodes/pve/qemu-server/118.conf @@ -0,0 +1,18 @@ +agent: 1,fstrim_cloned_disks=1 +boot: order=scsi0;ide2;net0 +cores: 1 +cpu: host +ide2: none,media=cdrom +machine: q35 +memory: 1024 +meta: creation-qemu=10.1.2,ctime=1770878630 +name: HomeBridge-26 +net0: virtio=BC:24:11:68:FA:DB,bridge=vmbr0,firewall=1 +numa: 0 +onboot: 1 +ostype: l26 +scsi0: local-lvm:vm-118-disk-0,cache=writeback,discard=on,iothread=1,size=100G +scsihw: virtio-scsi-single +smbios1: uuid=25a16f76-d9a2-41f5-9aaa-39380d78385c +sockets: 1 +vmgenid: c69e049d-ac29-441b-8165-1096f7126ac3 diff --git a/shared/nodes/pve/qemu-server/120.conf b/shared/nodes/pve/qemu-server/120.conf new file mode 100644 index 0000000..36dc857 --- /dev/null +++ b/shared/nodes/pve/qemu-server/120.conf @@ -0,0 +1,23 @@ +agent: enabled=1 +bios: ovmf +boot: order=scsi0 +cipassword: $5$PHfGFCU6$CXXrwjtXLw0wYmQVMhFnGIHOdS.t3x.dswMJJOWJ769 +ciuser: root +cores: 4 +cpu: host +efidisk0: local-lvm:vm-120-disk-0,size=4M +ide2: local-lvm:vm-120-cloudinit,media=cdrom +ipconfig0: ip=10.48.200.110/24,gw=10.48.200.1 +machine: q35 +memory: 4096 +meta: creation-qemu=11.0.0,ctime=1780805335 +name: HostPanel-110 +nameserver: 10.48.200.90 +net0: virtio=BC:24:11:CF:73:88,bridge=vmbr0 +ostype: l26 +scsi0: local-lvm:vm-120-disk-1,discard=on,size=50G +scsihw: virtio-scsi-pci +smbios1: uuid=4c86eac2-e95a-4092-b895-bff1ba6f7d62 +sockets: 1 +sshkeys: %0Assh-rsa%20AAAAB3NzaC1yc2EAAAADAQABAAACAQDNYf4z78s4%2BK4HoiUiHoqPbCCEFngCAXKP7mGwhCAc86TTbAosTpAnG1HycPzb2s2B3K3geQPUzQzcLvWdBX8hJM8IamvAZ%2FWXPtOszWTuVnaYM6BQY7ldIdXi3a%2BxscWr%2BM8dM6OexXqdCAy66HXmgl98%2BCg2uEbxCFelH81%2F5d3cuoCXllpvUawyYZe5UjFjPeBpPc%2FQyhDxG4ovYYpcCeHbzLXc9jIfawjwJTDcYfeXVHFisMdSUp0%2BeXndRM1TybeSOfT4oQbuijdsy4IQo0md5fRYgZuXxHMIgy7obNB3OPf9szgbWTEWK6jNFhkQHIZXPSRxSM9L1a0RkarQk%2BxqTf96wTJL%2FUz6hSyImYjhtPvcOoBRejaQaK96HuWGe3At96%2BI6WjvJNEDM%2FjF9tosp2nbdhcGRitYmxREdv7M8AYM393MKT94BBrulr6tI504%2B0dDTH7IaojYc8SBAtu1TrUwinLA9zQ35Ney5Ry%2FMr7tNOLU1Ni3lkqNRWysEjWxEizM%2F1sK7u2fbAzx3kE%2BTRpyzmFv6gSiGHqjs5j%2FtG6daK7Hv6OvbHSWwV%2FpW6CKslJWFAsa5tVv%2BFw8cXdcMMyb6%2FCYTUtcFMgcF0hhtsd1g6YfnOWRGLcUxFe9odiayhMlstne%2FdqeyvQCjStrzOxUT5ta9L9JZifDkQ%3D%3D%20root%40pve%0Assh-rsa%20AAAAB3NzaC1yc2EAAAADAQABAAACAQCbvKQjreU0F6AWjjcJ76l6mAUpea%2FVxVwMZ5Yu%2F0kd4rnAIU02vzoc0jGkNs3q8PiBqBfnrvPJH9TJIzqAiIE%2FCKxP4VVyVQj9pCIDurIVLW2tkt%2FGTurRMt6K2GO6HvssIOapw%2Bj07Q%2FERGg6frmctZ7VlV73YaOz285FC8J%2BA7CYSQxcssDkUWWMgVENv89%2FsqJh7xLUA71qhdr8Yg9rzjXTOn%2BQQRSBt%2Bc3iSM8B0t7n3GsAQcHV6CisctL9pARG%2F2PtnShjPhZSqBIQuYqLl5iOnYIs6mh80DcXpfPcUzqk3FRV97CwtkkGPIxFUkQInW5bO%2FVhNHtfZJ0nPhsXQbVxUrIaSFHNjKZCfY1N0ngFrwTndlrrtMhDtebjxwNbjskICxT4qVYqYPasnl0VUaUrPzkx5qzr1Gg2EkweytlzzQDLO0wfGd%2BLoDzoW75sVoQz7VxbfIYgdm07H1dgp%2BEIyT2uOGJctew8KDpE7bQKdRXVmJ8QwslTu4RFZwryhwtRvYotgO%2BbA0j7cbNxprUWGkPP5FVmJhPlQMxHTEOuRurX9Z8Guz8w1XlpbV6jB%2BZcZhN%2FSQ6Nr4qFY1SkxszkyiwcSVkxNns1EWnyjm6xfKCGp7nxfHjJ%2FHmXP%2FJq7jcBwyRIE%2FdAP7Zx6AbbhembRyOc0JnNCzRZg%2FDWQ%3D%3D%20root%40pve2%0Assh-rsa%20AAAAB3NzaC1yc2EAAAADAQABAAACAQC90VSAwyxC6dYkhfS4cZOFRB%2FOhCXU%2B06zHxB2NQNOOnozY9n3FvwgHgOUSO%2B4tEX6F5uGswzpNLuA%2FrDMdUfmWt6n%2Fi%2FH98RlxeyNDd0a5fqApHVVKuZRyrSIDrWHfMRfOCv9PJw1ctZ77P46yOXn%2F2i39vJfqXOi0Tu60SkJGVKH2Hk7XT9qL1%2F8MSq%2F1qgNXQQAt%2Bv0Lk2tTDMlAZhPvOnvwwrG9CwPKFlEKS6pS57nDSco1KHuqKhVTGbdrLrqEb9he4z%2FbYBMeiEh1odi2FOgeoM6pp2DawlST0jxcPQPOMcnC96atWQyqMspied2tHPtwA1aZwgJBqE6uUgA1JMCo8AIcVqLIBHDbco86L46fRDFOr5eoItN8Kxzn0HnZy3FPahgnUdMyZMmpgdaOrktcslsp2UVZY68jVpbo%2BOnSqmtqdRlMeox%2Brn3dYxc4QnV7NzmEC0m0joWzk3JPV21R5HSWcBXuuoIN03EELPK%2BHX4UYPdoo6RsUh6Q2d0a0uGPaRuQP9Er8einWuQAhGsNZQy2GLgDvJd0osW5saMYU4yzN78BDacix0xQc8U6TS8NIRwv2crbJryqq1IuWDaj02NEw47e90%2FGp10ozZHyLQNIeGKrj435CDIAPu3C1%2FDfonx6Y08iW%2FaWKvmIah5VzHERTJ1%2Fp2OmrHYJw%3D%3D%20root%40pve2%0A +vmgenid: 640d929c-9886-47a0-a1a2-8c1050a6e887 diff --git a/shared/nodes/pve2/qemu-server/106.conf b/shared/nodes/pve2/qemu-server/106.conf new file mode 100644 index 0000000..c56329a --- /dev/null +++ b/shared/nodes/pve2/qemu-server/106.conf @@ -0,0 +1,17 @@ +boot: order=scsi0;ide2;net0 +cores: 2 +cpu: host +ide2: none,media=cdrom +machine: q35 +memory: 2048 +meta: creation-qemu=11.0.0,ctime=1780661918 +name: ProxmoxBackups +net0: virtio=BC:24:11:A5:DC:27,bridge=vmbr0,firewall=1 +numa: 0 +onboot: 1 +ostype: l26 +scsi0: local:106/vm-106-disk-0.qcow2,iothread=1,size=500G +scsihw: virtio-scsi-single +smbios1: uuid=ddc2c08e-3a19-4fad-a9f8-79d48187806c +sockets: 1 +vmgenid: 9734353d-5156-4d9e-8c58-cceb8923f2f3 diff --git a/shared/nodes/pve2/qemu-server/302.conf b/shared/nodes/pve2/qemu-server/302.conf new file mode 100644 index 0000000..0cf59e2 --- /dev/null +++ b/shared/nodes/pve2/qemu-server/302.conf @@ -0,0 +1,19 @@ +#https%3A//www.msp360.com/ +agent: 1,fstrim_cloned_disks=1 +boot: order=scsi0;ide2;net0 +cores: 2 +cpu: host +ide2: local:iso/debian-12.0.0-amd64-netinst.iso,media=cdrom,size=738M +machine: q35 +memory: 2048 +meta: creation-qemu=10.1.2,ctime=1776724462 +name: NetworkBackup-99 +net0: e1000=BC:24:11:49:40:9D,bridge=vmbr0,firewall=1 +numa: 0 +onboot: 1 +ostype: l26 +scsi0: storage:302/vm-302-disk-1.qcow2,cache=writeback,discard=on,iothread=1,size=3900G +scsihw: virtio-scsi-single +smbios1: uuid=e827d2f8-8aa5-4fd3-9860-1802849a6187 +sockets: 1 +vmgenid: 7f8db95e-581e-4ad1-9812-e770b2e48ad5 diff --git a/shared/pbs_fingerprint.txt b/shared/pbs_fingerprint.txt new file mode 100644 index 0000000..809b5a9 --- /dev/null +++ b/shared/pbs_fingerprint.txt @@ -0,0 +1,6 @@ +pbs: ProxBackups + datastore PBSBackup + server 10.48.200.85 + content backup + fingerprint 7d:35:4b:e2:16:90:00:02:4a:f5:80:3e:ec:4b:42:33:ac:15:3f:37:0b:95:22:c7:77:40:72:84:aa:c6:43:1b + prune-backups keep-all=1 diff --git a/shared/replication.cfg b/shared/replication.cfg new file mode 100644 index 0000000..e69de29 diff --git a/shared/storage.cfg b/shared/storage.cfg new file mode 100644 index 0000000..4a0b2f7 --- /dev/null +++ b/shared/storage.cfg @@ -0,0 +1,26 @@ +dir: local + path /var/lib/vz + content snippets,vztmpl,images,iso,backup,rootdir + shared 0 + +lvmthin: local-lvm + thinpool data + vgname pve + content images,rootdir + +dir: GoFlex + path /mnt/goflex + content vztmpl,snippets,images,rootdir + nodes pve + prune-backups keep-all=1 + shared 1 + snapshot-as-volume-chain 1 + +pbs: ProxBackups + datastore PBSBackup + server 10.48.200.85 + content backup + fingerprint 7d:35:4b:e2:16:90:00:02:4a:f5:80:3e:ec:4b:42:33:ac:15:3f:37:0b:95:22:c7:77:40:72:84:aa:c6:43:1b + prune-backups keep-all=1 + username root@pam + diff --git a/shared/user.cfg b/shared/user.cfg new file mode 100644 index 0000000..88dc963 --- /dev/null +++ b/shared/user.cfg @@ -0,0 +1,10 @@ +user:pveb@pam:1:0:::::: +user:root@pam:1:0:::myronblair@outlook.com::: +token:root@pam!homeassistant:0:0:: +token:root@pam!jarvis:0:0:Jarvis Monitoring: +token:root@pam!pdm-admin-pdm:0:0:auto-generated by PDM host 'pdm' on Wed, 11 Feb 2026 07%3A18%3A36 -0600: +token:root@pam!pdm-admin-pve35:0:0:auto-generated by PDM host 'pdm' on Wed, 18 Mar 2026 09%3A22%3A08 -0500: + + + + diff --git a/shared/vzdump.cron b/shared/vzdump.cron new file mode 100644 index 0000000..bd6516d --- /dev/null +++ b/shared/vzdump.cron @@ -0,0 +1,5 @@ +# cluster wide vzdump cron schedule +# Automatically generated file - do not edit + +PATH="/usr/sbin:/usr/bin:/sbin:/bin" +