hearth/kubernetes/forgejo/secrets.yaml.template
Eric Garcia e78000831e Initial commit: Port infrastructure from coherence-mcp
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>
2026-01-24 06:06:13 -05:00

57 lines
1.5 KiB
Text

# Forgejo Secrets Template
# RFC 0040: Self-Hosted Core Services
#
# NOTE: This is a template. In production, secrets should be created via:
# 1. External Secrets Operator
# 2. Sealed Secrets
# 3. Manual kubectl create secret
#
# DO NOT commit actual secret values to git!
---
# Database credentials for CockroachDB connection
apiVersion: v1
kind: Secret
metadata:
name: forgejo-db
namespace: forgejo
labels:
app.kubernetes.io/name: forgejo
app.kubernetes.io/part-of: core-services
type: Opaque
stringData:
username: "forgejo"
password: "REPLACE_WITH_ACTUAL_PASSWORD"
---
# Application secrets
apiVersion: v1
kind: Secret
metadata:
name: forgejo-secrets
namespace: forgejo
labels:
app.kubernetes.io/name: forgejo
app.kubernetes.io/part-of: core-services
type: Opaque
stringData:
# Generate with: openssl rand -hex 32
secret-key: "REPLACE_WITH_RANDOM_64_CHAR_HEX"
# Generate with: forgejo generate secret INTERNAL_TOKEN
internal-token: "REPLACE_WITH_INTERNAL_TOKEN"
# Token for metrics endpoint access
metrics-token: "REPLACE_WITH_METRICS_TOKEN"
---
# OAuth2 secrets for Keycloak SSO
apiVersion: v1
kind: Secret
metadata:
name: forgejo-oauth
namespace: forgejo
labels:
app.kubernetes.io/name: forgejo
app.kubernetes.io/part-of: core-services
type: Opaque
stringData:
# Generate with: openssl rand -hex 32
jwt-secret: "REPLACE_WITH_RANDOM_64_CHAR_HEX"
# Keycloak client secret (from Keycloak admin console)
keycloak-client-secret: "REPLACE_WITH_KEYCLOAK_CLIENT_SECRET"