La configuracion de Vault para el lab (modo dev) es radicalmente
distinta a la que se usaria en produccion. Esta pagina documenta
exactamente que cambia en cada aspecto y muestra la configuracion
HCL que reemplazaria al flag -dev.
01
Ocho Diferencias
Cada aspecto de Vault cambia entre el modo dev y la produccion.
Ninguna de estas diferencias es cosmética — cada una tiene
implicaciones de seguridad, disponibilidad y operabilidad.
Almacenamiento
Modo Dev
En memoria. Al reiniciar el pod de Vault, todos los secrets, politicas y configuraciones se pierden.
Produccion
Raft integrado (o Consul externo). Datos persistentes en PVC. Soporta snapshots y restore.
Unseal
Modo Dev
Automatico. Vault arranca desellado y listo para usar. Cero interaccion manual.
Produccion
Manual con Shamir Secret Sharing. 3 de 5 unseal keys necesarias. Se puede automatizar con Auto-Unseal via OCI KMS.
Root Token
Modo Dev
Fijado en una variable de entorno del Deployment. Cualquiera con acceso al YAML lo conoce.
Produccion
Generado una unica vez con vault operator init. Se almacena en un lugar seguro fuera del cluster. Nunca en un manifiesto.
TLS
Modo Dev
Deshabilitado. La API de Vault escucha en HTTP plano (puerto 8200).
Produccion
Obligatorio. Certificados TLS para la API, el cluster y el Vault Agent Injector. Sin TLS, Vault no arranca.
Audit Logging
Modo Dev
Deshabilitado. No hay registro de quien accedio a que secret ni cuando.
Produccion
Activado. Audit logs a file, socket o syslog. Cada acceso, creacion, modificacion y eliminacion de secrets queda registrado.
HA
Modo Dev
Una sola replica. Si el pod muere, Vault deja de funcionar hasta que Kubernetes lo reinicie.
Produccion
3 o 5 nodos con Raft consensus. Leader election automatica. El cluster sigue funcionando mientras la mayoria de nodos este viva.
Backup
Modo Dev
No existe. Los datos estan en memoria y se pierden al reiniciar.
Produccion
Snapshot via vault operator raft snapshot. Se puede automatizar con CronJob de Kubernetes. Backups a OCI Object Storage.
Storage Backend
Modo Dev
inmem. No requiere configuracion. Util para desarrollo y testing.
Produccion
Raft (recomendado) o Consul. Requiere PVC, configuracion de cluster y planificacion de capacidad.
02
Configuracion de Produccion
En modo dev, Vault arranca con vault server -dev y
toda la configuracion es implicita. En produccion, se usa un
archivo HCL que define storage, listeners, TLS y clustering.
El ConfigMap en k3s/manifests/vault/configmap.yml
contiene la referencia para esta transicion.
Este archivo se montaria como ConfigMap en el Deployment de
Vault. El comando del contenedor cambiaria de vault server
-dev a vault server -config=/vault/config/vault.hcl.
El resto del Deployment —Service, ServiceAccount, readiness
probe— permanece igual.
03
Camino de Migracion
Migrar de modo dev a produccion no es un toggle. Requiere
planificacion, nuevos recursos de Kubernetes y un proceso de
inicializacion manual. Estos son los pasos.
1
Agregar un PVC (PersistentVolumeClaim) para el storage Raft. En k3s, el local-path provisioner maneja esto automaticamente.
2
Montar el ConfigMap con vault.hcl en el Deployment. Reemplazar el flag -dev por -config=/vault/config/vault.hcl.
3
Generar certificados TLS para la API y el cluster. Se pueden crear con cert-manager o manualmente con openssl.
4
Ejecutar vault operator init. Guardar las 5 unseal keys y el root token en un lugar seguro fuera del cluster.
5
Unseal manual (o configurar Auto-Unseal via OCI KMS en Oracle Cloud).
6
Reconfigurar el Injector para usar TLS. Actualizar los webhooks y la configuracion de Kubernetes Auth.
En el lab esto no se aplica. La migracion a
produccion de Vault se documenta como referencia. En Oracle
Cloud (Fase 9), Vault self-hosted se reemplaza directamente
por OCI Vault — el servicio gestionado. La decision de
arquitectura es: lab local = Vault self-hosted (modo dev),
Oracle Cloud = OCI Vault (gestionado). Dos modos de
operacion, un solo proyecto.
Fase 3 Completada
Con Vault configurado y el flujo de inyeccion dominado,
la Fase 4 introduce el observability stack: k3s,
Prometheus, Loki, Grafana Alloy y dashboards de Grafana.