Add homelab inventory
This commit is contained in:
parent
6ee2e2cb46
commit
d5ff049cae
|
|
@ -30,6 +30,13 @@ The lab is intentionally small but production-shaped:
|
|||
Tailscale, with nginx caching, gzip, HTTP/2, TLS session reuse, and upstream
|
||||
keepalive
|
||||
|
||||
## Inventory
|
||||
|
||||
The canonical non-secret inventory is [homelab.yml](homelab.yml). Keep LAN IPs,
|
||||
Tailscale IPs, public hostnames, ports, storage paths, and service ownership
|
||||
there before copying values into scripts, OpenTofu variables, runbooks, or
|
||||
service docs. Secrets and tokens do not belong in that file.
|
||||
|
||||
Run `./jeannie up` and `./jeannie nuke` only from the Debian homelab server. The
|
||||
script intentionally refuses to run from non-Debian machines so a laptop cannot
|
||||
accidentally modify the cluster.
|
||||
|
|
|
|||
|
|
@ -30,6 +30,13 @@ The lab is intentionally small but production-shaped:
|
|||
Tailscale, with nginx caching, gzip, HTTP/2, TLS session reuse, and upstream
|
||||
keepalive
|
||||
|
||||
## Inventory
|
||||
|
||||
The canonical non-secret inventory is [homelab.yml](homelab.yml). Keep LAN IPs,
|
||||
Tailscale IPs, public hostnames, ports, storage paths, and service ownership
|
||||
there before copying values into scripts, OpenTofu variables, runbooks, or
|
||||
service docs. Secrets and tokens do not belong in that file.
|
||||
|
||||
Run `./{{ main_script }} up` and `./{{ main_script }} nuke` only from the Debian homelab server. The
|
||||
script intentionally refuses to run from non-Debian machines so a laptop cannot
|
||||
accidentally modify the cluster.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,102 @@
|
|||
# Canonical non-secret homelab inventory.
|
||||
# Keep hostnames, IPs, ports, and public names here before copying them into
|
||||
# scripts, Terraform variables, runbooks, or service docs.
|
||||
metadata:
|
||||
main_script: jeannie
|
||||
owner_user: jv
|
||||
|
||||
domain:
|
||||
base: lab2025.duckdns.org
|
||||
public_url: https://lab2025.duckdns.org
|
||||
gitea_url: https://lab2025.duckdns.org/git/
|
||||
subdomains:
|
||||
- demos.lab2025.duckdns.org
|
||||
- heimdall.lab2025.duckdns.org
|
||||
- grafana.lab2025.duckdns.org
|
||||
- prometheus.lab2025.duckdns.org
|
||||
- alertmanager.lab2025.duckdns.org
|
||||
- argocd.lab2025.duckdns.org
|
||||
- n8n.lab2025.duckdns.org
|
||||
- prowlarr.lab2025.duckdns.org
|
||||
- sonarr.lab2025.duckdns.org
|
||||
- radarr.lab2025.duckdns.org
|
||||
- qbittorrent.lab2025.duckdns.org
|
||||
- kapowarr.lab2025.duckdns.org
|
||||
- suwayomi.lab2025.duckdns.org
|
||||
- maintainerr.lab2025.duckdns.org
|
||||
|
||||
network:
|
||||
lan_cidr: 192.168.100.0/24
|
||||
lan_ip_prefix: 192.168.100.
|
||||
metallb:
|
||||
traefik_ip: 192.168.100.240
|
||||
address_pool: 192.168.100.240-192.168.100.250
|
||||
tailscale_cgnat_cidr: 100.64.0.0/10
|
||||
|
||||
hosts:
|
||||
debian:
|
||||
role: control-plane
|
||||
user: jv
|
||||
lan_ip: 192.168.100.73
|
||||
tailscale_ip: 100.85.138.30
|
||||
docker_root: /data/docker
|
||||
data_root: /data
|
||||
kubeconfig: /home/jv/.kube/config
|
||||
rpi4:
|
||||
role: dns-edge-worker
|
||||
user: jv
|
||||
lan_ip: 192.168.100.89
|
||||
tailscale_ip: 100.77.80.72
|
||||
docker_nvme_root: /nvme-storage/docker
|
||||
docker_fallback_root: /var/lib/docker
|
||||
opi5_pimox:
|
||||
role: pimox
|
||||
user: jv
|
||||
lan_ip: 192.168.100.80
|
||||
bridge: vmbr0
|
||||
worker_storage: opi5_ssd
|
||||
template_storage: local
|
||||
oci_edge:
|
||||
role: public-edge
|
||||
user: ubuntu
|
||||
public_ip: 132.145.170.74
|
||||
install_dir: /opt/homelab-edge
|
||||
|
||||
services:
|
||||
gitea:
|
||||
host: debian
|
||||
install_dir: /data/homelab-gitea
|
||||
http_port: 3000
|
||||
ssh_port: 32222
|
||||
root_url: https://lab2025.duckdns.org/git/
|
||||
ssh_remote: ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git
|
||||
gitops_mirror:
|
||||
host: debian
|
||||
path: /home/jv/git-server/my-homelab-configs.git
|
||||
ssh_url: ssh://jv@192.168.100.73/home/jv/git-server/my-homelab-configs.git
|
||||
local_registry:
|
||||
host: debian
|
||||
endpoint: 192.168.100.73:30500
|
||||
provisioning:
|
||||
host: debian
|
||||
http_port: 8088
|
||||
preseed_url: http://192.168.100.73:8088/preseed/debian13-arm64-worker.cfg
|
||||
ollama:
|
||||
host: debian
|
||||
url: http://192.168.100.73:11434
|
||||
rpi_dns:
|
||||
host: rpi4
|
||||
pihole_dns_port: 53
|
||||
pihole_web_port: 8081
|
||||
uptime_kuma_port: 3001
|
||||
unbound_container_port: 53
|
||||
traefik:
|
||||
host: kubernetes
|
||||
load_balancer_ip: 192.168.100.240
|
||||
http_port: 80
|
||||
|
||||
pimox:
|
||||
template_vmid: 9000
|
||||
worker_base_vmid: 9010
|
||||
default_worker_count: 1
|
||||
worker_name_prefix: pimox-worker
|
||||
Loading…
Reference in New Issue