# Infrastructure Management Comprehensive infrastructure management for Sankofa Phoenix, including Proxmox VE, TP-Link Omada, network equipment, and other infrastructure components. ## Overview This directory contains all infrastructure management components for the Sankofa Phoenix platform, enabling unified management of: - **Proxmox VE**: Virtualization and compute infrastructure - **TP-Link Omada**: Network controller and access point management - **Network Infrastructure**: Switches, routers, VLANs, and network topology - **Monitoring**: Infrastructure monitoring, exporters, and dashboards - **Inventory**: Infrastructure discovery, tracking, and inventory management ## Architecture ``` infrastructure/ ├── proxmox/ # Proxmox VE management │ ├── api/ # Proxmox API clients and utilities │ ├── terraform/ # Terraform modules for Proxmox │ ├── ansible/ # Ansible roles and playbooks │ └── scripts/ # Proxmox management scripts ├── omada/ # TP-Link Omada management │ ├── api/ # Omada API client library │ ├── terraform/ # Terraform provider/modules │ ├── ansible/ # Ansible roles for Omada │ └── scripts/ # Omada management scripts ├── network/ # Network infrastructure │ ├── switches/ # Switch configuration management │ ├── routers/ # Router configuration management │ └── vlans/ # VLAN management and tracking ├── monitoring/ # Infrastructure monitoring │ ├── exporters/ # Custom Prometheus exporters │ └── dashboards/ # Grafana dashboards └── inventory/ # Infrastructure inventory ├── discovery/ # Auto-discovery scripts └── database/ # Inventory database schema ``` ## Components ### Proxmox VE Management The Proxmox management components integrate with the existing Crossplane provider (`crossplane-provider-proxmox/`) and provide additional tooling for: - Cluster management and monitoring - Storage pool management - Network bridge configuration - Backup and restore operations - Multi-site coordination **See**: [Proxmox Management](./proxmox/README.md) ### TP-Link Omada Management TP-Link Omada integration provides centralized management of: - Omada Controller configuration - Access point provisioning and management - Network policies and SSID management - Client device tracking - Network analytics and monitoring **See**: [Omada Management](./omada/README.md) ### Network Infrastructure Network management components handle: - Switch configuration (VLANs, ports, trunking) - Router configuration (routing tables, BGP, OSPF) - Network topology discovery - Network policy enforcement **See**: [Network Management](./network/README.md) ### Monitoring Infrastructure monitoring includes: - Custom Prometheus exporters for infrastructure components - Grafana dashboards for visualization - Alerting rules for infrastructure health - Performance metrics collection **See**: [Monitoring](./monitoring/README.md) ### Inventory Infrastructure inventory system provides: - Auto-discovery of infrastructure components - Centralized inventory database - Asset tracking and lifecycle management - Configuration drift detection **See**: [Inventory](./inventory/README.md) ## Integration with Sankofa Phoenix All infrastructure management components integrate with the Sankofa Phoenix control plane: - **Crossplane**: Infrastructure as Code via Crossplane providers - **ArgoCD**: GitOps deployment of infrastructure configurations - **Kubernetes**: Infrastructure management running on Kubernetes - **API Gateway**: Unified API for infrastructure operations - **Portal**: Web UI for infrastructure management ## Usage ### Quick Start ```bash # Setup Proxmox management cd infrastructure/proxmox ./scripts/setup-cluster.sh --site us-east-1 # Setup Omada management cd infrastructure/omada ./scripts/setup-controller.sh --controller omada.sankofa.nexus # Discover infrastructure cd infrastructure/inventory ./discovery/discover-all.sh ``` ### Ansible Deployment ```bash # Deploy infrastructure management to all sites cd infrastructure ansible-playbook -i inventory.yml deploy-infrastructure.yml ``` ### Terraform ```bash # Provision infrastructure via Terraform cd infrastructure/proxmox/terraform terraform init terraform plan terraform apply ``` ## Configuration Infrastructure management components use environment variables and configuration files: - **Environment Variables**: See `ENV_EXAMPLES.md` in project root - **Secrets**: Managed via Vault - **Site Configuration**: Per-site configuration in `gitops/infrastructure/` ## Security All infrastructure management follows security best practices: - API authentication via tokens and certificates - Secrets management via Vault - Network isolation via Cloudflare Tunnels - RBAC for all management operations - Audit logging for all changes ## Contributing When adding new infrastructure management components: 1. Follow the directory structure conventions 2. Include comprehensive README documentation 3. Provide Ansible roles and Terraform modules 4. Add monitoring exporters and dashboards 5. Update inventory discovery scripts ## Related Documentation - [System Architecture](../docs/system_architecture.md) - [Datacenter Architecture](../docs/datacenter_architecture.md) - [Deployment Plan](../docs/deployment_plan.md) - [Crossplane Provider](../crossplane-provider-proxmox/README.md)