Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution - Enhance API schema with expanded type definitions and resolvers - Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth - Implement new services: AI optimization, billing, blockchain, compliance, marketplace - Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage) - Update Crossplane provider with enhanced VM management capabilities - Add comprehensive test suite for API endpoints and services - Update frontend components with improved GraphQL subscriptions and real-time updates - Enhance security configurations and headers (CSP, CORS, etc.) - Update documentation and configuration files - Add new CI/CD workflows and validation scripts - Implement design system improvements and UI enhancements
This commit is contained in:
82
cloudflare/terraform/dns.tf
Normal file
82
cloudflare/terraform/dns.tf
Normal file
@@ -0,0 +1,82 @@
|
||||
# Cloudflare DNS Records for Proxmox Instances
|
||||
# Domain: sankofa.nexus
|
||||
|
||||
# Get zone ID for sankofa.nexus
|
||||
data "cloudflare_zones" "sankofa_nexus" {
|
||||
filter {
|
||||
name = "sankofa.nexus"
|
||||
}
|
||||
}
|
||||
|
||||
locals {
|
||||
zone_id = data.cloudflare_zones.sankofa_nexus.zones[0].id
|
||||
}
|
||||
|
||||
# Instance 1 (ML110-01) DNS Records
|
||||
resource "cloudflare_record" "ml110_01" {
|
||||
zone_id = local.zone_id
|
||||
name = "ml110-01"
|
||||
value = "192.168.11.10"
|
||||
type = "A"
|
||||
ttl = 300
|
||||
comment = "Proxmox Instance 1 - ML110-01"
|
||||
}
|
||||
|
||||
resource "cloudflare_record" "ml110_01_api" {
|
||||
zone_id = local.zone_id
|
||||
name = "ml110-01-api"
|
||||
value = "ml110-01.sankofa.nexus"
|
||||
type = "CNAME"
|
||||
ttl = 300
|
||||
comment = "Proxmox Instance 1 API endpoint"
|
||||
}
|
||||
|
||||
resource "cloudflare_record" "ml110_01_metrics" {
|
||||
zone_id = local.zone_id
|
||||
name = "ml110-01-metrics"
|
||||
value = "ml110-01.sankofa.nexus"
|
||||
type = "CNAME"
|
||||
ttl = 300
|
||||
comment = "Proxmox Instance 1 metrics endpoint"
|
||||
}
|
||||
|
||||
# Instance 2 (R630-01) DNS Records
|
||||
resource "cloudflare_record" "r630_01" {
|
||||
zone_id = local.zone_id
|
||||
name = "r630-01"
|
||||
value = "192.168.11.11"
|
||||
type = "A"
|
||||
ttl = 300
|
||||
comment = "Proxmox Instance 2 - R630-01"
|
||||
}
|
||||
|
||||
resource "cloudflare_record" "r630_01_api" {
|
||||
zone_id = local.zone_id
|
||||
name = "r630-01-api"
|
||||
value = "r630-01.sankofa.nexus"
|
||||
type = "CNAME"
|
||||
ttl = 300
|
||||
comment = "Proxmox Instance 2 API endpoint"
|
||||
}
|
||||
|
||||
resource "cloudflare_record" "r630_01_metrics" {
|
||||
zone_id = local.zone_id
|
||||
name = "r630-01-metrics"
|
||||
value = "r630-01.sankofa.nexus"
|
||||
type = "CNAME"
|
||||
ttl = 300
|
||||
comment = "Proxmox Instance 2 metrics endpoint"
|
||||
}
|
||||
|
||||
# Output DNS record IDs
|
||||
output "dns_record_ids" {
|
||||
value = {
|
||||
ml110_01 = cloudflare_record.ml110_01.id
|
||||
ml110_01_api = cloudflare_record.ml110_01_api.id
|
||||
ml110_01_metrics = cloudflare_record.ml110_01_metrics.id
|
||||
r630_01 = cloudflare_record.r630_01.id
|
||||
r630_01_api = cloudflare_record.r630_01_api.id
|
||||
r630_01_metrics = cloudflare_record.r630_01_metrics.id
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,12 +41,12 @@ variable "account_id" {
|
||||
resource "cloudflare_access_application" "portal" {
|
||||
zone_id = var.zone_id
|
||||
name = "Hybrid Cloud Portal"
|
||||
domain = "portal.yourdomain.com"
|
||||
domain = "portal.sankofa.nexus"
|
||||
session_duration = "24h"
|
||||
|
||||
cors_headers {
|
||||
allowed_methods = ["GET", "POST", "PUT", "DELETE"]
|
||||
allowed_origins = ["https://portal.yourdomain.com"]
|
||||
allowed_origins = ["https://portal.sankofa.nexus"]
|
||||
allow_credentials = true
|
||||
}
|
||||
}
|
||||
@@ -54,35 +54,35 @@ resource "cloudflare_access_application" "portal" {
|
||||
resource "cloudflare_access_application" "rancher" {
|
||||
zone_id = var.zone_id
|
||||
name = "Rancher UI"
|
||||
domain = "rancher.yourdomain.com"
|
||||
domain = "rancher.sankofa.nexus"
|
||||
session_duration = "4h"
|
||||
}
|
||||
|
||||
resource "cloudflare_access_application" "argocd" {
|
||||
zone_id = var.zone_id
|
||||
name = "ArgoCD GitOps"
|
||||
domain = "argocd.yourdomain.com"
|
||||
domain = "argocd.sankofa.nexus"
|
||||
session_duration = "8h"
|
||||
}
|
||||
|
||||
resource "cloudflare_access_application" "grafana" {
|
||||
zone_id = var.zone_id
|
||||
name = "Grafana Dashboards"
|
||||
domain = "grafana.yourdomain.com"
|
||||
domain = "grafana.sankofa.nexus"
|
||||
session_duration = "24h"
|
||||
}
|
||||
|
||||
resource "cloudflare_access_application" "vault" {
|
||||
zone_id = var.zone_id
|
||||
name = "HashiCorp Vault"
|
||||
domain = "vault.yourdomain.com"
|
||||
domain = "vault.sankofa.nexus"
|
||||
session_duration = "2h"
|
||||
}
|
||||
|
||||
resource "cloudflare_access_application" "keycloak" {
|
||||
zone_id = var.zone_id
|
||||
name = "Keycloak Admin"
|
||||
domain = "keycloak.yourdomain.com"
|
||||
domain = "keycloak.sankofa.nexus"
|
||||
session_duration = "2h"
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ resource "cloudflare_access_policy" "portal_authenticated" {
|
||||
precedence = 1
|
||||
|
||||
include {
|
||||
email_domain = "yourdomain.com"
|
||||
email_domain = "sankofa.nexus"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,11 +121,11 @@ resource "cloudflare_access_group" "admins" {
|
||||
name = "admins"
|
||||
|
||||
include {
|
||||
email_domain = "yourdomain.com"
|
||||
email_domain = "sankofa.nexus"
|
||||
}
|
||||
|
||||
require {
|
||||
email = ["admin@yourdomain.com"]
|
||||
email = ["admin@sankofa.nexus"]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ resource "cloudflare_access_group" "platform_engineers" {
|
||||
name = "platform-engineers"
|
||||
|
||||
include {
|
||||
email_domain = "yourdomain.com"
|
||||
email_domain = "sankofa.nexus"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ resource "cloudflare_access_group" "employees" {
|
||||
name = "employees"
|
||||
|
||||
include {
|
||||
email_domain = "yourdomain.com"
|
||||
email_domain = "sankofa.nexus"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ variable "cloudflare_api_token" {
|
||||
}
|
||||
|
||||
variable "zone_id" {
|
||||
description = "Cloudflare Zone ID for yourdomain.com"
|
||||
description = "Cloudflare Zone ID for sankofa.nexus"
|
||||
type = string
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user