Complete overview of HOLE Foundation's multi-cloud infrastructure across Cloudflare, Azure, and AWS managed via Terraform
Provides complete multi-cloud infrastructure overview across Cloudflare, Azure, and AWS for Terraform operations.
/plugin marketplace add The-HOLE-Foundation/claude-plugins/plugin install the-hole-foundation-hole-infrastructure-hole-infrastructure@The-HOLE-Foundation/claude-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
The HOLE Foundation manages ~422 infrastructure resources across 3 cloud providers using Terraform:
| Provider | Resources | % of Total | Primary Use |
|---|---|---|---|
| Cloudflare | 387 | 92% | Web hosting, DNS, CDN, edge compute |
| Azure | ~10 | 2% | SSO and enterprise authentication |
| AWS | ~5 | 1% | AI services (Bedrock) |
| Personal | ~20 | 5% | Personal projects |
Terraform Root: /Volumes/HOLE-RAID-DRIVE/Projects/hole-terraformer/terraform/
Terraform Cloud Organization: theholetruth
Secret Management: dotenvx at /Volumes/HOLE-RAID-DRIVE/dotenvx
Workspaces:
cloudflare-foundation-prod - 387 resources ✅ Importedcloudflare-personal-prod - ~20 resources ⏳ ReadyInfrastructure:
Location: terraform/cloudflare/foundation/
Use Cases:
Workspace: azure-hole-general-services-prod
Subscription: de602062-dafa-4c8b-91b7-98a75bcd7cff
Infrastructure:
Location: terraform/production/
SSO Services Integrated (22 total):
Use Cases:
CRITICAL: This is the authentication backbone - changes can affect access to all 22 services!
Workspace: aws-foundation-prod
Account: 420073135340
Region: us-east-1
Infrastructure:
Location: terraform/aws/foundation/
Bedrock Models Available:
Use Cases:
When the user asks to create, update, or delete infrastructure:
Step 1: Identify Provider
Step 2: Navigate to Workspace
# Cloudflare
cd /Volumes/HOLE-RAID-DRIVE/Projects/hole-terraformer/terraform/cloudflare/foundation
# Azure
cd /Volumes/HOLE-RAID-DRIVE/Projects/hole-terraformer/terraform/production
# AWS
cd /Volumes/HOLE-RAID-DRIVE/Projects/hole-terraformer/terraform/aws/foundation
Step 3: Load Secrets (provider-specific)
# Cloudflare - Use wrapper script (auto-loads)
./tf-with-dotenvx.sh <command>
# Azure - Use Azure CLI (already authenticated)
terraform <command>
# AWS - Load from dotenvx
export AWS_ACCESS_KEY_ID=$(cd /Volumes/HOLE-RAID-DRIVE/dotenvx && dotenvx get AWS_ACCESS_KEY_ID)
export AWS_SECRET_ACCESS_KEY=$(cd /Volumes/HOLE-RAID-DRIVE/dotenvx && dotenvx get AWS_SECRET_ACCESS_KEY)
terraform <command>
Step 4: Make Changes
Step 5: Plan and Apply
terraform plan # Preview changes
terraform apply # Deploy changes
When user requests infrastructure, choose provider based on this matrix:
| Request | Primary Provider | Alternative | Reason |
|---|---|---|---|
| "Deploy web app" | Cloudflare Pages | - | Primary web hosting |
| "Deploy API" | Cloudflare Workers | AWS Lambda | Edge performance |
| "Add DNS record" | Cloudflare | - | Primary DNS provider |
| "Create storage bucket" | Cloudflare R2 | AWS S3 | Ask user (both viable) |
| "Deploy serverless function" | Cloudflare Workers | AWS Lambda | Ask user (edge vs regional) |
| "AI inference" | AWS Bedrock | Cloudflare AI | Model selection |
| "Configure SSO" | Azure Entra ID | - | Only SSO provider |
| "Add user" | Azure Entra ID | - | Authentication provider |
| "Container deployment" | Cloudflare Containers | AWS ECS | Simplicity |
| "NoSQL database" | - | AWS DynamoDB | No current provider |
Default Preferences (HOLE Foundation):
ALWAYS explain provider choice and offer alternatives when applicable!
Frontend → Cloudflare Pages
API → Cloudflare Workers
Database → Neon PostgreSQL (external)
Auth → Azure Entra ID (existing)
AI Features → AWS Bedrock
CDN → Cloudflare (automatic)
Terraform Changes Required:
terraform/cloudflare/foundation/ - Pages, Workers, DNSterraform/aws/foundation/ - Lambda for AI processingterraform/production/ - No changes (SSO already configured)User Requests → Cloudflare Worker (entry point)
AI Processing → AWS Lambda + Bedrock
Caching → Cloudflare KV
Results → Cloudflare R2
Auth → Azure Entra ID
Multi-Provider Orchestration: 2 providers (Cloudflare + AWS)
Website → Cloudflare Pages
DNS → Cloudflare (theholetruth.org)
Access Control → Cloudflare Zero Trust
SSO → Azure Entra ID
Analytics → Cloudflare Analytics Engine
Single Provider: Cloudflare (Azure SSO already configured)
Primary Use Cases:
When NOT to Use:
Primary Use Cases:
When NOT to Use:
Critical: Azure is the authentication backbone - changes here affect all 22 services!
Primary Use Cases:
When NOT to Use:
All workspaces managed under organization: theholetruth
| Workspace | Provider | Path | Resources | State |
|---|---|---|---|---|
cloudflare-foundation-prod | Cloudflare | terraform/cloudflare/foundation/ | 387 | ✅ Active |
cloudflare-personal-prod | Cloudflare | terraform/cloudflare/personal/ | ~20 | ⏳ Ready |
azure-hole-general-services-prod | Azure | terraform/production/ | ~10 | ✅ Active |
aws-foundation-prod | AWS | terraform/aws/foundation/ | ~5 | ⏳ Configured |
One Terraform Cloud org → All providers → Unified management
ALL cloud provider credentials stored in dotenvx:
Location: /Volumes/HOLE-RAID-DRIVE/dotenvx
| Provider | Secret Name | Type |
|---|---|---|
| Cloudflare | CLOUDFLARE_API_TOKEN | API token (40 chars) |
| AWS | AWS_ACCESS_KEY_ID | Access key ID |
| AWS | AWS_SECRET_ACCESS_KEY | Secret access key |
| Azure | N/A | Uses Azure CLI auth |
| Terraform Cloud | TF_CLOUD_TOKEN | API token |
Loading Secrets:
cd /Volumes/HOLE-RAID-DRIVE/dotenvx
dotenvx get SECRET_NAME
Cloudflare:
Azure:
AWS:
You have COMPLETE Terraform and API access for:
Cloudflare Dashboard → Terraform:
Azure Portal → Terraform:
AWS Console → Terraform:
ALL infrastructure changes via Terraform - NO dashboard operations required!
1. Cloudflare Pages (frontend) → theholetruth.org
2. Cloudflare Worker (API) → api.theholetruth.org/*
3. AWS Lambda (AI processing) → Bedrock inference
4. Cloudflare KV (caching) → Reduce API calls
5. Azure Entra ID (auth) → SSO login
Providers Used: Cloudflare + AWS + Azure Terraform Workspaces: cloudflare-foundation-prod + aws-foundation-prod
1. Cloudflare Pages (hosting)
2. Cloudflare DNS (records)
3. Cloudflare CDN (automatic)
4. Azure Entra ID (if auth needed)
Providers Used: Cloudflare + (optional) Azure Terraform Workspaces: cloudflare-foundation-prod
1. AWS Lambda (compute)
2. AWS Bedrock (AI models)
3. Cloudflare Worker (API wrapper)
4. Cloudflare DNS (endpoint)
5. Cloudflare KV (cache)
Providers Used: AWS + Cloudflare Terraform Workspaces: aws-foundation-prod + cloudflare-foundation-prod
The architecture makes adding providers trivial:
Step 1: Create Terraform workspace
mkdir -p /Volumes/HOLE-RAID-DRIVE/Projects/hole-terraformer/terraform/gcp/foundation
# Create main.tf with google provider
Step 2: Create provider skill
# Create skills/providers/gcp/SKILL.md with GCP infrastructure knowledge
Step 3: Update this overview skill
Total Time: 10-15 minutes Plugin Changes: None (purely additive)
Same pattern:
terraform/vercel/foundation/skills/providers/vercel/SKILL.mdWhen user asks for infrastructure, use this logic:
User request
│
├─ DNS record? → Cloudflare
│
├─ Web hosting?
│ ├─ Static site → Cloudflare Pages
│ ├─ Dynamic app → Cloudflare Pages + Workers
│ └─ Complex backend → Cloudflare + AWS
│
├─ Serverless function?
│ ├─ Edge compute → Cloudflare Workers
│ ├─ Regional compute → AWS Lambda
│ └─ Ask user preference
│
├─ Storage?
│ ├─ Object storage → Cloudflare R2 (default) or AWS S3
│ ├─ Key-value → Cloudflare KV
│ └─ Database → External (Neon, etc.)
│
├─ AI inference? → AWS Bedrock
│
├─ Authentication?
│ ├─ SSO integration → Azure Entra ID
│ └─ App auth → Auth0 (external)
│
└─ Other → Check provider capabilities, ask user
User: "Deploy this AI-powered website"
Claude:
"I'll deploy across multiple providers:
**Cloudflare** (Web layer):
- Pages: Static frontend
- Worker: API endpoint
- DNS: app.theholetruth.org
- KV: Response caching
**AWS** (AI layer):
- Lambda: AI processing
- Bedrock: Claude 3.5 Sonnet
- IAM: Execution role
**Azure** (Auth layer):
- Entra ID: Already configured (no changes)
Let me create Terraform configurations:
[Updates terraform/cloudflare/foundation/]
[Updates terraform/aws/foundation/]
Planned resources:
- Cloudflare: +1 Pages, +1 Worker, +1 KV, +1 DNS
- AWS: +1 Lambda, +1 IAM role
- Total: 6 new resources across 2 providers
Shall I apply these changes?"
User: "Create a storage bucket for backups"
Claude:
"I can create this in multiple providers:
**Option 1: Cloudflare R2** (recommended)
- Lower cost ($0.015/GB)
- Better integration with Workers
- Workspace: cloudflare-foundation-prod
**Option 2: AWS S3**
- More features (lifecycle, versioning)
- Higher cost
- Workspace: aws-foundation-prod
Which would you prefer? I recommend R2 for cost-effectiveness."
User: "Show me all our infrastructure"
Claude:
"HOLE Foundation Multi-Cloud Infrastructure (422 resources):
**Cloudflare** (387 resources - 92%):
├── Zones: 15 production domains
├── DNS: 309 records
├── KV: 33 namespaces
├── Access: 26 applications
└── Workers, Pages, R2 buckets
**Azure** (~10 resources - 2%):
├── Entra ID SSO (22 integrations)
└── Resource group: hole-entra-domain-services
**AWS** (~5 resources - 1%):
├── Bedrock AI access
├── IAM roles
└── KMS encryption
**Cloudflare Personal** (~20 resources - 5%):
└── Personal projects (not yet imported)
All managed via Terraform Cloud (org: theholetruth)
Which provider would you like details on?"
✅ Multi-cloud awareness - Knowledge of all 3 providers ✅ Provider selection logic - When to use which provider ✅ Unified workflow - Same Terraform process for all ✅ Cross-provider patterns - How to integrate multiple clouds ✅ Complete resource inventory - All 422 resources documented
❌ Provider-specific details - See individual provider skills ❌ Detailed resource configurations - See provider skills ❌ Terraform syntax - See terraform-operations skill ❌ Secret management - See secret-management skill
This is an OVERVIEW skill - for details, refer to provider-specific skills!
Terraform Workspaces:
terraform/cloudflare/foundation/terraform/cloudflare/personal/terraform/production/terraform/aws/foundation/Secrets Location: /Volumes/HOLE-RAID-DRIVE/dotenvx
Terraform Cloud: Organization theholetruth, 4 workspaces
Total Resources: ~422 across 3 providers (4 workspaces)
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.