- Complete project structure with Next.js frontend - GraphQL API backend with Apollo Server - Portal application with NextAuth - Crossplane Proxmox provider - GitOps configurations - CI/CD pipelines - Testing infrastructure (Vitest, Jest, Go tests) - Error handling and monitoring - Security hardening - UI component library - Documentation
101 lines
2.3 KiB
Markdown
101 lines
2.3 KiB
Markdown
# 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
|
|
|