How dazzathewiz/infrastructure works
This repository is Ansible-based infrastructure-as-code for a homelab: an operator runs playbooks to configure hosts, provision virtual machines and cluster nodes, and manage Proxmox and service containers. Separate Ansible modules provide Proxmox resource management, while a TrueNAS script independently analyzes duplicate media and can delete selected files. The README documents the main operator workflows; some playbook-to-role wiring and unsampled subsystems are only identified by their paths, so those links are omitted rather than assumed.
Main entry points: pvesh.py pvesh Adapter · truenas_dedupe.py Media Deduplication · proxmox.yml Proxmox Management · dietpi-default.yml DietPi Setup
Components 27
Host Configuration
- Control Host Setup
setup-control-host.yml - Proxmox Management
proxmox.yml - DietPi Setup
dietpi-default.yml - Proxmox Host Role
roles/proxmox/tasks - DietPi Role
roles/dietpi/tasks - Common Host Role
roles/common/tasks - Container Services
roles/containers
Provisioning
- k3s Node Deployment
vm_deploy_kubernetes.yml - k3s Configuration
k3s.yml - VM Provisioning
roles/proxmox_provision/tasks - MaaS Provisioning
roles/maas/tasks
Proxmox Modules
- Storage Manager
library/proxmox_storage.py - Metrics Manager
library/proxmox_metrics.py - User Manager
library/proxmox_user.py - Group Manager
library/proxmox_group.py - Pool Manager
library/proxmox_pool.py - Role Manager
library/proxmox_role.py - ACL Manager
library/proxmox_acl.py - Proxmox Query
library/proxmox_query.py - pvesh Adapter
module_utils/pvesh.py - Ceph Volume Query
library/pve_ceph_volume.py - Kernel Inspector
library/collect_kernel_info.py
Storage Utilities
- Media Deduplication
scripts/truenas/truenas_dedupe.py
Other components
- Operator
- Proxmox CLI
- TrueNAS Files
- Unraid Manifest
Connections 23
- Operator → Control Host Setup: runs
readme.md - Operator → Proxmox Management: runs
readme.md - Operator → DietPi Setup: runs
readme.md - Operator → k3s Node Deployment: runs
readme.md - Operator → k3s Configuration: runs
readme.md - Operator → Media Deduplication: runs
- Proxmox Management → Proxmox Host Role: configures
- DietPi Setup → DietPi Role: configures
- DietPi Role → Common Host Role: uses
readme.md - k3s Node Deployment → VM Provisioning: provisions
- Operator → MaaS Provisioning: provisions
readme.md - Storage Manager → pvesh Adapter: calls
library/proxmox_storage.py - Metrics Manager → pvesh Adapter: calls
library/proxmox_metrics.py - User Manager → pvesh Adapter: calls
library/proxmox_user.py - Group Manager → pvesh Adapter: calls
library/proxmox_group.py - Pool Manager → pvesh Adapter: calls
library/proxmox_pool.py - Role Manager → pvesh Adapter: calls
library/proxmox_role.py - ACL Manager → pvesh Adapter: calls
library/proxmox_acl.py - Proxmox Query → pvesh Adapter: calls
library/proxmox_query.py - pvesh Adapter → Proxmox CLI: executes
module_utils/pvesh.py - Ceph Volume Query → Proxmox CLI: queries
- Media Deduplication → TrueNAS Files: scans and deletes
scripts/truenas/truenas_dedupe.py - Media Deduplication → Unraid Manifest: reads
scripts/truenas/truenas_dedupe.py