# Installation Scripts Automated installation scripts for deploying the hybrid cloud control plane. ## Structure ``` scripts/ ├── bootstrap-cluster.sh # Kubernetes cluster bootstrap ├── install-components.sh # Control plane components installation ├── setup-proxmox-agents.sh # Proxmox site agent setup ├── configure-cloudflare.sh # Cloudflare tunnel configuration ├── validate.sh # Post-install validation └── ansible/ # Ansible playbooks ├── site-playbook.yml # Multi-site deployment ├── inventory.example # Inventory template └── roles/ # Ansible roles ``` ## Usage ### Quick Start ```bash # 1. Bootstrap Kubernetes cluster ./bootstrap-cluster.sh # 2. Install control plane components ./install-components.sh # 3. Setup Proxmox agents (run on each Proxmox node) ./setup-proxmox-agents.sh --site us-east-1 --node pve1 # 4. Configure Cloudflare tunnels ./configure-cloudflare.sh # 5. Validate installation ./validate.sh ``` ### Ansible Deployment For multi-site deployments, use Ansible: ```bash cd ansible cp inventory.example inventory # Edit inventory with your hosts ansible-playbook -i inventory site-playbook.yml ``` ## Prerequisites - Linux-based systems (Ubuntu 22.04+, RHEL 8+, Debian 11+) - Root or sudo access - Internet connectivity - Kubernetes cluster (for component installation) - Proxmox VE 8+ (for agent setup) - Cloudflare account (for tunnel configuration) ## Script Details ### bootstrap-cluster.sh Installs and configures Kubernetes cluster (RKE2 or k3s): - System preparation - Container runtime installation - Kubernetes installation - Network plugin configuration - Storage class setup ### install-components.sh Installs all control plane components: - ArgoCD - Rancher - Crossplane - Vault - Monitoring stack - Portal ### setup-proxmox-agents.sh Configures Proxmox nodes: - cloudflared installation - Prometheus exporter installation - Custom agent installation - Service configuration ### configure-cloudflare.sh Sets up Cloudflare tunnels: - Tunnel creation - Configuration deployment - Service startup - Health checks ### validate.sh Validates installation: - Component health checks - API connectivity tests - Resource availability - Network connectivity