Files
smom-dbis-138/docs/operations/status-reports/DEPLOYABLE_WITHOUT_QUOTA_INCREASE.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

4.7 KiB
Raw Blame History

What Can Be Deployed Without vCPU Quota Increase

Current Situation

  • Available vCPUs: 4 remaining (6/10 used)
  • AKS Cluster: Running with 3 nodes (Standard_D2s_v3 = 2 vCPUs each = 6 vCPUs total)
  • Cluster Capacity: Can run workloads on existing nodes

Can Deploy Immediately (No Additional vCPUs Needed)

1. Kubernetes Resources (Stateless)

These run on existing nodes and don't require new VMs:

Namespaces

kubectl create namespace besu-network
kubectl create namespace monitoring
kubectl create namespace firefly  # If needed

ConfigMaps and Secrets

# Configuration files
kubectl create configmap besu-config -n besu-network --from-file=config/
kubectl create secret generic besu-keys -n besu-network --from-file=keys/

Deployments (Lightweight)

  • Besu Validator Pods (1-2 pods can run on existing nodes)
  • Besu RPC Pods (1-2 pods)
  • Monitoring Agents (Prometheus node-exporter, etc.)
  • Logging Agents (Fluentd, Fluent Bit)

Services

# All Kubernetes Services can be created
kubectl apply -f k8s/services/

2. Helm Charts (Using Existing Nodes)

Besu Network (Reduced Scale)

# Deploy with reduced replica counts
helm install besu-validators ./helm/besu-network \
  -f helm/besu-network/values-validators.yaml \
  -n besu-network \
  --set replicaCount=1 \
  --set resources.requests.cpu=500m \
  --set resources.requests.memory=1Gi

Monitoring Stack

# Prometheus (lightweight)
helm install prometheus prometheus-community/kube-prometheus-stack \
  -n monitoring \
  --set prometheus.prometheusSpec.replicas=1 \
  --set prometheus.prometheusSpec.retention=7d \
  --set prometheus.prometheusSpec.resources.requests.cpu=500m \
  --set prometheus.prometheusSpec.resources.requests.memory=2Gi

# Grafana
helm install grafana grafana/grafana \
  -n monitoring \
  --set persistence.enabled=false \
  --set resources.requests.cpu=200m \
  --set resources.requests.memory=512Mi

3. Stateless Applications

  • API Gateways (if lightweight)
  • Web Dashboards
  • Configuration Management Tools
  • CI/CD Agents (if needed)

4. Network Configuration

  • Ingress Controllers (NGINX, Traefik)
  • Load Balancers (Azure Load Balancer services)
  • Network Policies

5. Storage Resources

  • PersistentVolumeClaims (use existing storage classes)
  • Storage Classes configuration

⚠️ Cannot Deploy (Requires Additional vCPUs)

Node Pools

  • Validator Node Pool (needs 2 vCPUs × 1 node = 2 vCPUs)
  • Sentry Node Pool (needs 2 vCPUs × 1 node = 2 vCPUs)
  • RPC Node Pool (needs 2 vCPUs × 1 node = 2 vCPUs)
  • Total Needed: 6 additional vCPUs (only 4 available)

High Resource Workloads

  • Multiple Besu Validators (each needs ~2 vCPUs)
  • Large Database Instances
  • Resource-Intensive Processing

Phase 1: Immediate (No Quota Needed)

  1. Create namespaces
  2. Deploy ConfigMaps and Secrets
  3. Deploy monitoring stack (Prometheus, Grafana)
  4. Deploy single Besu validator pod (on existing nodes)
  5. Deploy single Besu RPC pod (on existing nodes)
  6. Configure services and ingress

Phase 2: After Quota Increase

  1. Deploy validator node pool
  2. Deploy sentry node pool
  3. Deploy RPC node pool
  4. Scale up Besu deployments
  5. Deploy additional validators

🚀 Quick Start Commands

Deploy Monitoring (No Quota Needed)

# Add Helm repos
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

# Deploy Prometheus
helm install prometheus prometheus-community/kube-prometheus-stack \
  -n monitoring --create-namespace \
  --set prometheus.prometheusSpec.replicas=1 \
  --set prometheus.prometheusSpec.resources.requests.cpu=500m \
  --set prometheus.prometheusSpec.resources.requests.memory=2Gi

# Deploy Grafana
helm install grafana grafana/grafana \
  -n monitoring \
  --set persistence.enabled=false \
  --set adminPassword=admin \
  --set resources.requests.cpu=200m \
  --set resources.requests.memory=512Mi

Deploy Besu (Single Pod, No Quota Needed)

# Create namespace
kubectl create namespace besu-network

# Deploy single validator pod
kubectl apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: besu-validator
  namespace: besu-network
spec:
  replicas: 1
  selector:
    matchLabels:
      app: besu-validator
  template:
    metadata:
      labels:
        app: besu-validator
    spec:
      containers:
      - name: besu
        image: hyperledger/besu:latest
        resources:
          requests:
            cpu: 500m
            memory: 1Gi
          limits:
            cpu: 1000m
            memory: 2Gi