- Add Prometheus metrics for marketplace API throughput and error rates with new dashboard panels - Implement confidential transaction models with encryption support and access control - Add key management system with registration, rotation, and audit logging - Create services and registry routers for service discovery and management - Integrate ZK proof generation for privacy-preserving receipts - Add metrics instru
163 lines
3.0 KiB
YAML
163 lines
3.0 KiB
YAML
# Default values for aitbc-coordinator.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
replicaCount: 1
|
|
|
|
image:
|
|
repository: aitbc/coordinator-api
|
|
pullPolicy: IfNotPresent
|
|
tag: "0.1.0"
|
|
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name: ""
|
|
|
|
podAnnotations: {}
|
|
|
|
podSecurityContext:
|
|
fsGroup: 1000
|
|
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
runAsNonRoot: true
|
|
runAsUser: 1000
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8011
|
|
targetPort: 8011
|
|
|
|
ingress:
|
|
enabled: false
|
|
className: nginx
|
|
annotations: {}
|
|
# cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
hosts:
|
|
- host: coordinator.local
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
tls: []
|
|
# - secretName: coordinator-tls
|
|
# hosts:
|
|
# - coordinator.local
|
|
|
|
# Pod Security Policy
|
|
podSecurityPolicy:
|
|
enabled: true
|
|
|
|
# Network policies
|
|
networkPolicy:
|
|
enabled: true
|
|
|
|
security:
|
|
auth:
|
|
enabled: true
|
|
requireApiKey: true
|
|
apiKeyHeader: "X-API-Key"
|
|
tls:
|
|
version: "TLSv1.3"
|
|
ciphers: "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256"
|
|
headers:
|
|
frameOptions: "DENY"
|
|
contentTypeOptions: "nosniff"
|
|
xssProtection: "1; mode=block"
|
|
referrerPolicy: "strict-origin-when-cross-origin"
|
|
hsts:
|
|
enabled: true
|
|
maxAge: 31536000
|
|
includeSubDomains: true
|
|
preload: true
|
|
rateLimit:
|
|
enabled: true
|
|
requestsPerMinute: 60
|
|
burst: 10
|
|
|
|
resources:
|
|
limits:
|
|
cpu: 1000m
|
|
memory: 1Gi
|
|
requests:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 10
|
|
targetCPUUtilizationPercentage: 80
|
|
# targetMemoryUtilizationPercentage: 80
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
# Configuration
|
|
config:
|
|
appEnv: production
|
|
databaseUrl: "postgresql://aitbc:password@postgresql:5432/aitbc"
|
|
receiptSigningKeyHex: ""
|
|
receiptAttestationKeyHex: ""
|
|
allowOrigins: "*"
|
|
|
|
# PostgreSQL sub-chart configuration
|
|
postgresql:
|
|
enabled: true
|
|
auth:
|
|
postgresPassword: "password"
|
|
username: aitbc
|
|
database: aitbc
|
|
primary:
|
|
persistence:
|
|
enabled: true
|
|
size: 20Gi
|
|
resources:
|
|
limits:
|
|
cpu: 1000m
|
|
memory: 2Gi
|
|
requests:
|
|
cpu: 500m
|
|
memory: 1Gi
|
|
|
|
# Monitoring
|
|
monitoring:
|
|
enabled: true
|
|
serviceMonitor:
|
|
enabled: true
|
|
interval: 30s
|
|
path: /metrics
|
|
port: http
|
|
|
|
# Health checks
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /v1/health
|
|
port: http
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /v1/health
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 3
|
|
failureThreshold: 3
|