Co-authored-by: Cursor <cursoragent@cursor.com>
8.9 KiB
Phoenix Structural Configuration Locations
Date: 2025-01-27 Purpose: Reference guide for Phoenix (Sankofa cloud service provider) structural configuration Status: Complete
📍 Overview
This document identifies where the structural configuration for Sankofa Phoenix (the cloud service provider) is located, including deployments, required resources, interconnections, and topology.
🗂️ Configuration Locations
1. Deployment Configurations
Location: Sankofa/examples/production/phoenix/
Contains individual service deployment YAML files defining VM specifications:
git-server.yaml- Git server deploymentemail-server.yaml- Email server deploymentas4-gateway.yaml- AS4 B2B gatewaybusiness-integration-gateway.yaml- Workflow automation gatewayfinancial-messaging-gateway.yaml- Financial messaging gatewaycodespaces-ide.yaml- Development IDEdevops-runner.yaml- CI/CD runnerdns-primary.yaml- DNS server
Format: Crossplane ProxmoxVM resources with:
- Resource requirements (CPU, memory, disk)
- Network configuration
- Site/node assignments
- Cloud-init user data
- Service configurations
2. Infrastructure Provider Configuration
Location: Sankofa/crossplane-provider-proxmox/examples/provider-config.yaml
Defines Proxmox sites and provider configuration:
sites:
- name: site-1
endpoint: "https://192.168.11.10:8006"
node: "ml110-01"
- name: site-2
endpoint: "https://192.168.11.11:8006"
node: "r630-01"
Contains:
- Site definitions (endpoints, nodes)
- Credential configuration
- TLS settings
3. GitOps Infrastructure Definitions
Location: Sankofa/gitops/infrastructure/
Compositions (gitops/infrastructure/compositions/)
vm-ubuntu.yaml- Reusable VM composition template- Defines resource patterns and patches
XRDs (gitops/infrastructure/xrds/)
- Composite Resource Definitions
- High-level resource types
Claims (gitops/infrastructure/claims/)
- Example resource claims
- User-facing resource requests
Purpose: Infrastructure as Code via Crossplane
4. Infrastructure Management
Location: Sankofa/infrastructure/
Proxmox Management (infrastructure/proxmox/)
- API clients and utilities
- Terraform modules
- Ansible roles
- Management scripts
Network Infrastructure (infrastructure/network/)
- Network policies
- VLAN configurations
- Topology definitions
Monitoring (infrastructure/monitoring/)
- Prometheus exporters
- Grafana dashboards
- Alert rules
Inventory (infrastructure/inventory/)
- Discovery scripts
- Asset tracking
- Configuration database
See: Sankofa/infrastructure/README.md for details
5. Entity Registry & Network Configuration
Location: Sankofa/docs/infrastructure/ENTITY_REGISTRY.md
Contains:
- Legal entity information
- Domain names
- ASN assignments
- Network configurations
- Site definitions
- International relationships
Key Information:
- Entity registry for all Phoenix entities
- Network addressing schemes
- Site-to-site connectivity
- Domain and DNS configuration
6. Topology Generation
Location: Sankofa/scripts/infrastructure/generate-topology-data.ts
Purpose: Generates network topology JSON from entity registry
Output:
- Regional topology files
- Network interconnection data
- Resource relationships
- Tunnel configurations
Data Directory: Sankofa/docs/infrastructure/data/
7. Data Model & Schema
Location: Sankofa/docs/architecture/data-model.md
Contains: GraphQL schema defining:
- Resource types (Region, Site, Cluster, Node, VM, Service, Network)
- Resource relationships
- Metrics and telemetry
- Well-Architected Framework assessments
- Identity and access management
Purpose: Defines the structural model for all Phoenix resources
8. Network Topology Diagrams
Location: Sankofa/docs/architecture/network-topology.svg
Contains: Visual representation of:
- Internet connectivity
- Cloudflare Global Network
- Control Plane site
- Proxmox sites
- Cloudflare Tunnels
- Network addressing
- Security features
See: Sankofa/docs/architecture/README.md for all diagrams
9. Cloudflare Tunnel Configuration
Location: Sankofa/cloudflare/tunnel-configs/
Files:
control-plane.yaml- Control plane tunnel configuration- Other site-specific tunnel configs
Contains:
- Ingress rules
- Service routing
- Hostname mappings
- Network routes
10. Business Communications Architecture
Location: Sankofa/docs/phoenix/BUSINESS_COMMUNICATIONS.md
Contains:
- Component architecture
- Integration flows
- Service interconnections
- Setup and configuration
- Security and compliance
Components Defined:
- Email Server (Sankofa Mail)
- AS4 Gateway
- Business Integration Gateway
- Financial Messaging Gateway
🔗 Interconnections & Topology
Network Topology
Defined In:
Sankofa/docs/infrastructure/ENTITY_REGISTRY.md- Network addressingSankofa/scripts/infrastructure/generate-topology-data.ts- Topology generationSankofa/docs/architecture/network-topology.svg- Visual diagramSankofa/cloudflare/tunnel-configs/- Tunnel configurations
Service Interconnections
Defined In:
Sankofa/docs/phoenix/BUSINESS_COMMUNICATIONS.md- Business service flowsSankofa/docs/architecture/data-model.md- Resource relationships- Individual service YAML files in
examples/production/phoenix/
Resource Dependencies
Defined In:
Sankofa/gitops/infrastructure/compositions/- Composition templatesSankofa/docs/architecture/data-model.md- GraphQL schema relationships
📋 Required Resources
Compute Resources
Defined In:
Sankofa/examples/production/phoenix/*.yaml- Individual VM specsSankofa/gitops/infrastructure/compositions/vm-ubuntu.yaml- Template
Specifications Include:
- CPU cores
- Memory (Gi)
- Disk storage (Gi)
- Network interfaces
- Storage pools
Network Resources
Defined In:
Sankofa/infrastructure/network/- Network policies and configsSankofa/docs/infrastructure/ENTITY_REGISTRY.md- Network addressingSankofa/cloudflare/tunnel-configs/- Tunnel routes
Storage Resources
Defined In:
- VM YAML files - Storage pool assignments
- Provider config - Storage pool definitions
🗺️ Quick Reference Map
Sankofa/
├── examples/production/phoenix/ # Service deployment configs
├── crossplane-provider-proxmox/ # Provider configuration
│ └── examples/provider-config.yaml
├── gitops/infrastructure/ # Infrastructure as Code
│ ├── compositions/ # Resource templates
│ ├── xrds/ # Resource definitions
│ └── claims/ # Resource claims
├── infrastructure/ # Infrastructure management
│ ├── proxmox/ # Proxmox configs
│ ├── network/ # Network configs
│ ├── monitoring/ # Monitoring configs
│ └── inventory/ # Inventory configs
├── docs/
│ ├── infrastructure/
│ │ └── ENTITY_REGISTRY.md # Entity & network registry
│ ├── architecture/
│ │ ├── data-model.md # Resource schema
│ │ └── network-topology.svg # Topology diagram
│ └── phoenix/
│ └── BUSINESS_COMMUNICATIONS.md # Service architecture
├── cloudflare/tunnel-configs/ # Tunnel configurations
└── scripts/infrastructure/
└── generate-topology-data.ts # Topology generator
🔍 Finding Specific Information
To Find Deployment Configurations:
→ Sankofa/examples/production/phoenix/
To Find Resource Requirements:
→ Sankofa/examples/production/phoenix/*.yaml (spec.forProvider section)
To Find Site/Node Assignments:
→ Sankofa/crossplane-provider-proxmox/examples/provider-config.yaml
To Find Network Topology:
→ Sankofa/docs/architecture/network-topology.svg
→ Sankofa/scripts/infrastructure/generate-topology-data.ts
To Find Service Interconnections:
→ Sankofa/docs/phoenix/BUSINESS_COMMUNICATIONS.md
→ Sankofa/docs/architecture/data-model.md
To Find Infrastructure Templates:
→ Sankofa/gitops/infrastructure/compositions/
To Find Entity & Network Registry:
→ Sankofa/docs/infrastructure/ENTITY_REGISTRY.md
📚 Related Documentation
- Infrastructure README
- GitOps README
- Architecture Overview
- Business Communications
- Entity Registry
- Data Model
Last Updated: 2025-01-27 Maintainer: Phoenix Infrastructure Team