Hearth is the infrastructure home for the letemcook ecosystem. Ported from coherence-mcp/infra: - Terraform modules (VPC, EKS, IAM, NLB, S3, storage) - Kubernetes manifests (Forgejo, ingress, cert-manager, karpenter) - Deployment scripts (phased rollout) Status: Not deployed. EKS cluster needs to be provisioned. Next steps: 1. Bootstrap terraform backend 2. Deploy phase 1 (foundation) 3. Deploy phase 2 (core services including Forgejo) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
76 lines
1.5 KiB
YAML
76 lines
1.5 KiB
YAML
# Karpenter Helm Values
|
|
# RFC 0039: ADR-Compliant Foundation Infrastructure
|
|
# ADR 0004: "Set It and Forget It" Auto-Scaling Architecture
|
|
#
|
|
# Install with:
|
|
# helm upgrade --install karpenter oci://public.ecr.aws/karpenter/karpenter \
|
|
# --namespace karpenter --create-namespace \
|
|
# -f helm-values.yaml
|
|
|
|
# Service account configuration (IRSA)
|
|
serviceAccount:
|
|
annotations:
|
|
eks.amazonaws.com/role-arn: "${KARPENTER_ROLE_ARN}"
|
|
|
|
# Controller settings
|
|
controller:
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
limits:
|
|
cpu: 1
|
|
memory: 1Gi
|
|
|
|
# Settings for Karpenter behavior
|
|
settings:
|
|
# Cluster name for discovery
|
|
clusterName: "${CLUSTER_NAME}"
|
|
|
|
# Cluster endpoint
|
|
clusterEndpoint: "${CLUSTER_ENDPOINT}"
|
|
|
|
# SQS queue for interruption handling
|
|
interruptionQueue: "${INTERRUPTION_QUEUE_NAME}"
|
|
|
|
# Feature gates
|
|
featureGates:
|
|
drift: true
|
|
|
|
# Replicas for HA
|
|
replicas: 2
|
|
|
|
# Pod disruption budget
|
|
podDisruptionBudget:
|
|
maxUnavailable: 1
|
|
|
|
# Affinity to run on Fargate
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: eks.amazonaws.com/compute-type
|
|
operator: In
|
|
values:
|
|
- fargate
|
|
|
|
# Tolerations for Fargate
|
|
tolerations:
|
|
- key: eks.amazonaws.com/compute-type
|
|
operator: Equal
|
|
value: fargate
|
|
effect: NoSchedule
|
|
|
|
# Logging configuration
|
|
logLevel: info
|
|
|
|
# Metrics
|
|
metrics:
|
|
port: 8000
|
|
|
|
# Health probes
|
|
livenessProbe:
|
|
port: 8081
|
|
readinessProbe:
|
|
port: 8081
|