Files
loc_az_hci/docs/temporary/COMPLETE_DEPLOYMENT.md
defiQUG c39465c2bd
Some checks failed
Test / test (push) Has been cancelled
Initial commit: loc_az_hci (smom-dbis-138 excluded via .gitignore)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 09:04:46 -08:00

227 lines
4.9 KiB
Markdown

# Complete Deployment Guide - All Tasks
This document provides a comprehensive guide to complete all deployment tasks.
## Current Status
**Completed:**
- Proxmox connections verified
- Environment variables configured
- All setup scripts created
- Documentation complete
**In Progress:**
- VM creation (requires Proxmox Web UI)
## Step-by-Step Deployment
### Step 1: Create All VMs
**Access Proxmox Web UI:**
- URL: https://192.168.1.206:8006
- Username: `root@pam`
- Password: (from `.env` file: `PVE_ROOT_PASS`)
**Create these VMs (see CREATE_VMS.md for details):**
1. **Cloudflare Tunnel VM** (ID: 100)
- Name: `cloudflare-tunnel`
- IP: 192.168.1.60
- Specs: 2 CPU, 4GB RAM, 40GB disk
2. **K3s Master VM** (ID: 101)
- Name: `k3s-master`
- IP: 192.168.1.188
- Specs: 4 CPU, 8GB RAM, 80GB disk
3. **Git Server VM** (ID: 102)
- Name: `git-server`
- IP: 192.168.1.121
- Specs: 4 CPU, 8GB RAM, 100GB disk
4. **Observability VM** (ID: 103)
- Name: `observability`
- IP: 192.168.1.82
- Specs: 4 CPU, 8GB RAM, 200GB disk
### Step 2: Install OS on Each VM
For each VM:
1. Boot from Ubuntu 22.04 LTS ISO
2. Complete installation
3. Configure static IP addresses (see VM IPs above)
4. Gateway: 192.168.1.254
5. DNS: 8.8.8.8
### Step 3: Run Setup Scripts
**Option A: Automated (if SSH access configured)**
```bash
./scripts/deploy-all-services.sh
```
**Option B: Manual (recommended for first-time)**
For each VM, SSH and run the appropriate script:
**Cloudflare Tunnel VM:**
```bash
ssh user@192.168.1.60
# Copy scripts/setup-cloudflare-tunnel.sh to VM
sudo bash /path/to/setup-cloudflare-tunnel.sh
```
**K3s VM:**
```bash
ssh user@192.168.1.188
# Copy scripts/setup-k3s.sh to VM
sudo bash /path/to/setup-k3s.sh
```
**Git Server VM:**
```bash
ssh user@192.168.1.121
# Copy scripts/setup-git-server.sh to VM
sudo bash /path/to/setup-git-server.sh
```
**Observability VM:**
```bash
ssh user@192.168.1.82
# Copy scripts/setup-observability.sh to VM
sudo bash /path/to/setup-observability.sh
```
### Step 4: Configure Services
#### Cloudflare Tunnel
1. Complete tunnel authentication:
```bash
ssh user@192.168.1.60
sudo cloudflared tunnel login
sudo cloudflared tunnel create azure-stack-hci
```
2. Update `/etc/cloudflared/config.yml` with your domain
3. Configure DNS records in Cloudflare Dashboard
4. Set up Zero Trust policies
See `docs/cloudflare-integration.md` for details.
#### K3s
1. Verify cluster:
```bash
ssh user@192.168.1.188
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kubectl get nodes
```
2. Create namespaces:
```bash
kubectl create namespace blockchain
kubectl create namespace monitoring
kubectl create namespace hc-stack
```
3. Deploy ingress controller and cert-manager
#### Git Server
1. Access Gitea: http://192.168.1.121:3000
2. Complete initial setup
3. Create GitOps repository
4. Configure SSH keys
#### Observability
1. Access Grafana: http://192.168.1.82:3000
- Default: admin/admin (change on first login)
2. Add Prometheus data source: http://localhost:9090
3. Import dashboards
4. Configure alerting
### Step 5: Deploy HC Stack Services
Once K3s is ready:
```bash
# Deploy services via Helm or GitOps
kubectl apply -f gitops/apps/besu/
kubectl apply -f gitops/apps/firefly/
kubectl apply -f gitops/apps/chainlink-ccip/
kubectl apply -f gitops/apps/blockscout/
```
### Step 6: Configure GitOps (Optional)
1. Set up Flux:
```bash
flux install
flux create source git gitops-repo --url=http://192.168.1.121:3000/user/gitops-repo.git
flux create kustomization apps --source=gitops-repo --path=./apps
```
2. Verify sync:
```bash
flux get kustomizations
```
## Verification Checklist
- [ ] All VMs created and running
- [ ] OS installed on all VMs
- [ ] Cloudflare Tunnel configured and running
- [ ] K3s cluster operational
- [ ] Git server accessible
- [ ] Observability stack running
- [ ] HC Stack services deployed
- [ ] All services accessible via Cloudflare Tunnel
## Troubleshooting
### VM Creation Issues
- Check Proxmox storage availability
- Verify network bridge configuration
- Ensure sufficient resources
### Service Setup Issues
- Check network connectivity: `ping <vm-ip>`
- Verify SSH access
- Check service logs: `journalctl -u <service> -f`
### Cloudflare Tunnel Issues
- Verify tunnel token in `.env`
- Check DNS records
- Review tunnel logs: `journalctl -u cloudflared -f`
## Quick Reference
**Proxmox:**
- ML110: https://192.168.1.206:8006
- R630: https://192.168.1.49:8006
**Services:**
- Cloudflare Tunnel: 192.168.1.60
- K3s: 192.168.1.188:6443
- Gitea: http://192.168.1.121:3000
- Prometheus: http://192.168.1.82:9090
- Grafana: http://192.168.1.82:3000
**Documentation:**
- `CREATE_VMS.md` - VM creation guide
- `QUICK_START.md` - Quick reference
- `DEPLOYMENT_WITHOUT_AZURE.md` - Full deployment plan
- `DEPLOYMENT_CHECKLIST.md` - Progress tracker