# Proxmox Site Mapping

This document maps physical Proxmox instances to logical sites and documents the configuration.

## Physical Instances

### Instance 1
- **IP Address**: 192.168.11.10
- **Port**: 8006
- **Endpoint**: https://192.168.11.10:8006
- **Status**: ✅ Verified (HTTP 401 - authentication required)
- **Mapped Sites**: us-sfvalley (Instance 1)

### Instance 2
- **IP Address**: 192.168.11.11
- **Port**: 8006
- **Endpoint**: https://192.168.11.11:8006
- **Status**: ✅ Verified (HTTP 401 - authentication required)
- **Mapped Sites**: us-sfvalley-2 (Instance 2)

## Site Configuration

### us-sfvalley (US San Francisco Valley) - Instance 1
- **Physical Instance**: Instance 1 (192.168.11.10)
- **FQDN**: ml110-01.sankofa.nexus
- **Endpoint**: https://ml110-01.sankofa.nexus:8006
- **Primary Node**: ML110-01
- **Cloudflare Tunnel**: proxmox-site-1-tunnel
- **DNS Records Required**:
  - `ml110-01.sankofa.nexus` → 192.168.11.10
  - `ml110-01-api.sankofa.nexus` → 192.168.11.10
  - `ml110-01-metrics.sankofa.nexus` → 192.168.11.10

### us-sfvalley-2 (US San Francisco Valley) - Instance 2
- **Physical Instance**: Instance 2 (192.168.11.11)
- **FQDN**: r630-01.sankofa.nexus
- **Endpoint**: https://r630-01.sankofa.nexus:8006
- **Primary Node**: R630-01
- **Cloudflare Tunnel**: proxmox-site-2-tunnel (or proxmox-site-3-tunnel)
- **DNS Records Required**:
  - `r630-01.sankofa.nexus` → 192.168.11.11
  - `r630-01-api.sankofa.nexus` → 192.168.11.11
  - `r630-01-metrics.sankofa.nexus` → 192.168.11.11

## Configuration Files

### Provider Config
- **File**: `crossplane-provider-proxmox/examples/provider-config.yaml`
- **Status**: ✅ Updated with token authentication format
- **Sites Configured**: us-sfvalley (Instance 1), us-sfvalley-2 (Instance 2)

### Cloudflare Tunnel Configs
- **Site 1**: `cloudflare/tunnel-configs/proxmox-site-1.yaml` ✅ Updated
- **Site 2**: `cloudflare/tunnel-configs/proxmox-site-2.yaml` ✅ Updated
- **Site 3**: `cloudflare/tunnel-configs/proxmox-site-3.yaml` ✅ Updated

## Verification Status

### Connectivity
- ✅ Instance 1: Reachable (HTTP 401)
- ✅ Instance 2: Reachable (HTTP 401)

### Authentication
- ⏳ Instance 1: Pending (requires credentials)
- ⏳ Instance 2: Pending (requires credentials)

### DNS
- ⏳ All hostnames: Pending configuration

### Cloudflare Tunnels
- ⏳ Tunnel credentials: Pending generation
- ⏳ Tunnel deployment: Pending

## Notes

1. **Instance Sharing**: Instance 2 hosts both eu-west-1 and apac-1 sites
   - This is acceptable for development/testing
   - Production should have separate instances per site

2. **Node Names**: 
   - Instance 1 (192.168.11.10): ML110-01
   - Instance 2 (192.168.11.11): R630-01
   - Both sites on Instance 2 use the same node (R630-01)

3. **DNS Configuration**: All DNS records should point to the physical IP addresses
   - Cloudflare tunnels will handle the routing
   - DNS is required for tunnel hostname validation

4. **Tunnel Credentials**: Each site needs separate tunnel credentials
   - Generate via Cloudflare dashboard or API
   - Deploy to respective Proxmox nodes

## Next Steps

1. **Verify Node Names**: After authentication, verify actual node names
2. **Configure DNS**: Create all required DNS records
3. **Generate Tunnels**: Create Cloudflare tunnels for each site
4. **Deploy Tunnels**: Install and configure cloudflared on nodes
5. **Test Connectivity**: Verify access via Cloudflare hostnames

