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:
defiQUG
2025-12-12 18:01:35 -08:00
parent e01131efaf
commit 9daf1fd378
968 changed files with 160890 additions and 1092 deletions

View File

@@ -0,0 +1,21 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: sankofa-api
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/sankofa/phoenix-sankofa-cloud
targetRevision: main
path: gitops/apps/api
destination:
server: https://kubernetes.default.svc
namespace: sankofa
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View File

@@ -0,0 +1,14 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- manifests/deployment.yaml
- manifests/service.yaml
- manifests/configmap.yaml
namespace: sankofa
commonLabels:
app: sankofa-api
part-of: sankofa-phoenix

View File

@@ -0,0 +1,10 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: sankofa-api-config
namespace: sankofa
data:
PORT: "4000"
NODE_ENV: "production"
LOG_LEVEL: "info"

View File

@@ -0,0 +1,90 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: sankofa-api
namespace: sankofa
labels:
app: sankofa-api
spec:
replicas: 3
selector:
matchLabels:
app: sankofa-api
template:
metadata:
labels:
app: sankofa-api
spec:
containers:
- name: api
image: sankofa-api:latest
ports:
- containerPort: 4000
name: http
env:
- name: DB_HOST
valueFrom:
secretKeyRef:
name: sankofa-db-credentials
key: host
- name: DB_PORT
value: "5432"
- name: DB_NAME
valueFrom:
secretKeyRef:
name: sankofa-db-credentials
key: database
- name: DB_USER
valueFrom:
secretKeyRef:
name: sankofa-db-credentials
key: username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: sankofa-db-credentials
key: password
- name: JWT_SECRET
valueFrom:
secretKeyRef:
name: sankofa-api-secrets
key: jwt-secret
- name: NODE_ENV
value: "production"
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: 2000m
memory: 2Gi
livenessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /health
port: 4000
initialDelaySeconds: 10
periodSeconds: 5
---
apiVersion: v1
kind: Service
metadata:
name: sankofa-api
namespace: sankofa
labels:
app: sankofa-api
spec:
type: ClusterIP
ports:
- port: 4000
targetPort: 4000
protocol: TCP
name: http
selector:
app: sankofa-api

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: sankofa-api
namespace: sankofa
spec:
type: ClusterIP
ports:
- port: 4000
targetPort: 4000
protocol: TCP
name: http
- port: 4001
targetPort: 4001
protocol: TCP
name: websocket
selector:
app: sankofa-api