feat(roswell): postgres a ClusterIP y secretos Infisical preparados (alta manual pendiente en /roswell)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
# 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 }}'
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
# Postgres 16 + pgvector para el corpus (namespace roswell).
|
# Postgres 16 + pgvector para el corpus (namespace roswell).
|
||||||
# El Secret roswell-pg-secret se crea imperativamente (PLAN Fase 6):
|
# El Secret roswell-pg-secret se crea imperativamente (PLAN Fase 6);
|
||||||
# kubectl create secret generic roswell-pg-secret -n roswell \
|
# migración a Infisical preparada en infisical-roswell-secrets.yaml.
|
||||||
# --from-literal=password=<pass>
|
# ClusterIP (cierre Fase 6): con el bot ya en el clúster el NodePort 30432
|
||||||
# NodePort 30432 para acceso desde la LAN/nodos durante el desarrollo local.
|
# sobraba. Acceso local puntual: desde un nodo del clúster la ClusterIP
|
||||||
|
# responde directa; desde fuera, kubectl port-forward -n roswell svc/postgres 15432:5432.
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
metadata:
|
metadata:
|
||||||
@@ -81,10 +82,9 @@ metadata:
|
|||||||
name: postgres
|
name: postgres
|
||||||
namespace: roswell
|
namespace: roswell
|
||||||
spec:
|
spec:
|
||||||
type: NodePort
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
app: roswell-postgres
|
app: roswell-postgres
|
||||||
ports:
|
ports:
|
||||||
- port: 5432
|
- port: 5432
|
||||||
targetPort: 5432
|
targetPort: 5432
|
||||||
nodePort: 30432
|
|
||||||
|
|||||||
Reference in New Issue
Block a user