# Secretos de la app respaldados por Infisical (patrón researchowl). # # ALTA PENDIENTE (manual, una vez): la identidad de máquina compartida es de # solo lectura, así que hay que crear en https://infisical.chemavx.xyz # (proyecto "homelab", entorno prod) la carpeta /roswell con estas claves: # TELEGRAM_BOT_TOKEN, TELEGRAM_ALLOWED_USERS, ANTHROPIC_API_KEY, # PODCASTINDEX_KEY, PODCASTINDEX_SECRET, POSTGRES_PASSWORD # (los valores están en el .env local y en los Secrets planos actuales). # # CORTE: cuando /roswell exista y los Secrets *-infisical aparezcan Synced, # cambiar las referencias de deployment.yaml, postgres.yaml y # backup-cronjob.yaml a los nombres *-infisical y borrar los planos: # kubectl delete secret roswell-secrets roswell-pg-secret -n roswell apiVersion: secrets.infisical.com/v1beta1 kind: InfisicalStaticSecret metadata: name: roswell-secrets namespace: roswell spec: # Identidad compartida de solo lectura (sin write, sin PushSecret). infisicalAuthRef: name: infisical-auth namespace: infisical-operator sources: - projectId: 17e98e9d-70f5-43d1-8382-7da818dfcdd0 # project "homelab" environmentSlug: prod secretPath: /roswell syncOptions: refreshInterval: 60s targets: # Nombres *-infisical en paralelo a los Secrets planos hasta el corte, # como se hizo en researchowl. - kind: Secret name: roswell-secrets-infisical namespace: roswell creationPolicy: Owner template: engineVersion: v1 data: telegram-bot-token: '{{ .TELEGRAM_BOT_TOKEN.Value }}' telegram-allowed-users: '{{ .TELEGRAM_ALLOWED_USERS.Value }}' anthropic-api-key: '{{ .ANTHROPIC_API_KEY.Value }}' podcastindex-key: '{{ .PODCASTINDEX_KEY.Value }}' podcastindex-secret: '{{ .PODCASTINDEX_SECRET.Value }}' # La URL completa se reconstruye: un solo sitio para la password. database-url: 'postgresql://roswell:{{ .POSTGRES_PASSWORD.Value }}@postgres.roswell.svc.cluster.local:5432/roswell' - kind: Secret name: roswell-pg-secret-infisical namespace: roswell creationPolicy: Owner template: engineVersion: v1 data: password: '{{ .POSTGRES_PASSWORD.Value }}'