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

4.9 KiB

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:

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)

./scripts/deploy-all-services.sh

Option B: Manual (recommended for first-time)

For each VM, SSH and run the appropriate script:

Cloudflare Tunnel VM:

ssh user@192.168.1.60
# Copy scripts/setup-cloudflare-tunnel.sh to VM
sudo bash /path/to/setup-cloudflare-tunnel.sh

K3s VM:

ssh user@192.168.1.188
# Copy scripts/setup-k3s.sh to VM
sudo bash /path/to/setup-k3s.sh

Git Server VM:

ssh user@192.168.1.121
# Copy scripts/setup-git-server.sh to VM
sudo bash /path/to/setup-git-server.sh

Observability VM:

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:

    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:

    ssh user@192.168.1.188
    export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
    kubectl get nodes
    
  2. Create namespaces:

    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:

# 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:

    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:

    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:

Services:

Documentation:

  • CREATE_VMS.md - VM creation guide
  • QUICK_START.md - Quick reference
  • DEPLOYMENT_WITHOUT_AZURE.md - Full deployment plan
  • DEPLOYMENT_CHECKLIST.md - Progress tracker