Saltar al contenido principal

Values

Cada deployment renderiza el chart de Helm de tu Project con un árbol de values: replicas, resources, tags de imagen, hosts, probes y todo lo demás que parametriza los manifiestos. SleakOps genera esos values por ti, y te deja sobreescribirlos en tres niveles persistentes — más un cuarto nivel, efímero, en el momento del deploy.

Los niveles de override

Los values se mergean nivel por nivel (deep merge) al momento del deploy. Cada nivel sobreescribe al anterior — gana el scope más específico:

NivelAlcanceDónde se define
1Generados por SleakOpsEn ningún lado — derivan de tus formularios de Workload, Dependencies y Var Groups (solo lectura).
2Global del ProjectProject → Settings → Chart Configuration, el editor de Values.
3Override del WorkloadEl tab Advanced → Values del Workload (editor Workload override).
4Values por deploy (efímeros)El CLI: sleakops deploy -f values.yaml o --set clave.ruta=valor.

Los niveles 2 y 3 son persistentes: aplican a todos los deployments siguientes hasta que los cambies. El nivel 4 aplica a un solo deployment.

Merge de listas

A diferencia de Helm puro, el merge entre niveles combina las listas en lugar de reemplazarlas — un override que redefine una lista suma entradas a las generadas en vez de descartarlas.

El tab Values del Workload

Abre un Workload, cambia a Advanced y selecciona el tab Values:

Tab Values del Workload con los values generados y el override del workload
  • Generated by SleakOps (solo lectura) — los values que SleakOps derivó para este Workload desde su formulario: command, probes, resources, node selector, hosts, etcétera.
  • Workload override — un mapping YAML que se mergea sobre los values generados, solo para este Workload. Guárdalo con Save override.

Para los values de Ingress, cada clave bajo hosts: representa un dominio. Para ajustar un solo host, sobreescribe una clave dentro de esa entrada — por ejemplo hosts.<nombre>.custom_service — en lugar de redefinir el bloque entero.

Effective values

La tabla Effective values — what Helm receives del final responde "qué se va a desplegar realmente": una fila por clave sobreescrita, con el valor que aporta cada nivel y un badge que nombra la fuente ganadora.

Tabla de effective values con las columnas generated, project y workload

En el ejemplo de arriba, resources.limits.memory se genera como 1331Mi, sube a 1536Mi por un global del Project, y termina en 2048Mi por el override del Workload — el Workload tiene la última palabra.

Values globales del Project

Los overrides a nivel Project viven en Project → Settings → Chart Configuration, en el editor de Values de la sección Extends Template & Values. El aviso de deprecación de esa sección apunta a migrar los templates libres a Manifests — el editor de Values sigue siendo el hogar de los globales del Project. Anida las claves bajo el nombre del Workload (o bajo global: para values de todo el chart):

Editor de values globales del Project en Chart Configuration
backoffice:
resources:
limits:
memory: 1536Mi

Usa los globales del Project para valores que quieres que todos los Workloads hereden de forma consistente; usa los overrides de Workload para las excepciones.

Values por deploy (CLI)

Para valores que pertenecen a un único deployment — subir réplicas para un canary, un feature flag puntual — inyéctalos desde tu pipeline con sleakops deploy -f values.yaml, --set clave=valor o --set-string clave=valor. Ganan sobre todos los niveles persistentes, aplican solo a ese deployment, y el próximo deploy sin esos flags vuelve a los valores de la plataforma.

Ver Inyectar values en el deploy para la sintaxis completa y sus consideraciones.

FAQs

¿Qué valor gana si la misma clave está definida en varios niveles?

El más específico: los values por deploy ganan al override del Workload, que gana al global del Project, que gana al valor generado. La tabla de Effective values muestra el ganador por clave con su badge de origen.

¿Guardar un override dispara un deployment?

Guardar un override de Workload registra un cambio pendiente — se despliega cuando lo publicas. En la Chart Configuration del Project decide el switch Deploy?: prendido dispara un deployment con Apply changes, apagado deja la actualización como cambio pendiente.

¿Cómo veo los values que un Workload va a recibir realmente?

La tabla Effective values del tab Values del Workload muestra el resultado mergeado por clave. El tab Preview de cada manifiesto muestra dónde cae cada expresión {{ .Values }} en el template renderizado.

¿Debería poner secretos en los values?

No. Los secretos van en los Var Groups, que se guardan encriptados y se inyectan como Secrets de Kubernetes. Los values son configuración del chart, no un almacén de secretos — y los flags --set/--set-string del deploy además quedan en el historial de tu shell.