Files
homelab/cluster/applications/couchdb/values.yaml
Hermes Agent service account 2621bc9f36 fix(external-dns): exclude internal records from Cloudflare, add opt-in filter, set targets
- external-dns-cloudflare: add excludeDomains: [local.mk-labs.cloud] to stop
  internal subdomain records from leaking to Cloudflare
- external-dns-cloudflare: replace hostname annotationFilter with opt-in model
  (external-dns.alpha.kubernetes.io/public=true) so only explicitly tagged
  services get public Cloudflare records
- external-dns-cloudflare: add extraArgs --target=lb.mk-labs.cloud
- external-dns (Technitium/rfc2136): add extraArgs
  --target=lightning-lane.local.mk-labs.cloud for internal records
- couchdb: add external-dns.alpha.kubernetes.io/public: 'true' annotation —
  first service to opt in to public DNS; will create communicore.mk-labs.cloud
  pointing to lb.mk-labs.cloud via Cloudflare ExternalDNS

URGENT: Cloudflare was creating records for local.mk-labs.cloud hosts.
Ryan: manually delete any *.local.mk-labs.cloud records currently in Cloudflare
(look for communicore.local.mk-labs.cloud and any other local.* entries).
2026-06-07 18:57:59 -05:00

95 lines
2.1 KiB
YAML

# CouchDB Helm Chart Values
# Application: couchdb
# Theme: communicore (DNS only)
# Purpose: Obsidian sync backend for mk-labs
# Cluster configuration
clusterSize: 1 # Single node for homelab
# Admin credentials managed via ExternalSecret
# See externalsecret.yaml for 1Password integration
createAdminSecret: false
extraSecretName: "couchdb-admin"
adminUsernameKey: "adminUsername"
adminPasswordKey: "adminPassword"
cookieAuthSecretKey: "cookieAuthSecret"
# Auto-setup cluster after installation
autoSetup:
enabled: true
image:
repository: curlimages/curl
tag: "8.11.1" # Pinned version
pullPolicy: IfNotPresent
defaultDatabases:
- _global_changes
# Network policy for pod communication
networkPolicy:
enabled: true
# Service account
serviceAccount:
enabled: true
create: true
# Persistent storage
persistentVolume:
enabled: true
accessModes:
- ReadWriteOnce
size: 20Gi
storageClass: "nfs-emporium"
# CouchDB image - pinned version
image:
repository: couchdb
tag: "3.5.1"
pullPolicy: IfNotPresent
# Service configuration
service:
enabled: true
type: ClusterIP
port: 5984
# Ingress configuration
ingress:
enabled: true
className: nginx
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
external-dns.alpha.kubernetes.io/hostname: "communicore.local.mk-labs.cloud"
external-dns.alpha.kubernetes.io/target: "10.1.71.80"
# Opt in to public Cloudflare DNS — creates communicore.mk-labs.cloud -> lb.mk-labs.cloud
external-dns.alpha.kubernetes.io/public: "true"
hosts:
- communicore.local.mk-labs.cloud
- communicore.mk-labs.cloud
tls:
- secretName: couchdb-tls
hosts:
- communicore.local.mk-labs.cloud
- communicore.mk-labs.cloud
# Resource limits
resources:
requests:
cpu: 100m
memory: 512Mi
limits:
cpu: 1000m
memory: 2Gi
# CouchDB configuration
couchdbConfig:
couchdb:
uuid: "decafbaddecafbaddecafbaddecafbad" # Will be regenerated on first run
chttpd:
bind_address: "0.0.0.0"
port: 5984
require_valid_user: true
httpd:
bind_address: "0.0.0.0"
port: 5986