Saltar al contenido principal
Version: 3.19.0

Dependencias

Esta sección de la guía cubre las mejores prácticas para las dependencies declaradas en Chart.yaml.

Versiones

Cuando sea posible, use rangos de versión en lugar de fijar una versión exacta. El valor predeterminado sugerido es usar una coincidencia a nivel de parche:

version: ~1.2.3

Esto coincidirá con la versión 1.2.3 y cualquier parche de esa release. En otras palabras, ~1.2.3 es equivalente a >= 1.2.3, < 1.3.0

Para la sintaxis completa de coincidencia de versiones, consulte la documentación de semver.

Versiones preliminares (Prerelease)

Las restricciones de versión anteriores no coincidirán con versiones preliminares. Por ejemplo, version: ~1.2.3 coincidirá con version: ~1.2.4 pero no con version: ~1.2.3-1. La siguiente configuración permite coincidir tanto con versiones preliminares como a nivel de parche:

version: ~1.2.3-0

URLs de Repositorio

Cuando sea posible, use URLs de repositorio https://. Como segunda opción, use http://.

Si el repositorio se ha añadido al archivo de índice de repositorios, el nombre del repositorio puede usarse como un alias de la URL. Use alias: o @ seguido del nombre del repositorio.

Las URLs de archivo (file://...) se consideran un "caso especial" para charts que se ensamblan mediante un pipeline de despliegue fijo.

Al usar plugins de descarga, el esquema de URL será específico del plugin. Tenga en cuenta que un usuario del chart necesitará tener instalado un plugin que soporte el esquema para actualizar o construir la dependencia.

Helm no puede realizar operaciones de gestión de dependencias cuando el campo repository se deja en blanco. En ese caso, Helm asumirá que la dependencia está en un subdirectorio de la carpeta charts con el mismo nombre que la propiedad name de la dependencia.

Condiciones y Etiquetas

Se deben añadir condiciones o etiquetas a cualquier dependencia que sea opcional. Tenga en cuenta que, por defecto, una condition es true.

La forma preferida de una condición es:

condition: somechart.enabled

Donde somechart es el nombre del chart de la dependencia.

Cuando múltiples subcharts (dependencias) juntos proporcionan una característica opcional o intercambiable, esos charts deben compartir las mismas etiquetas.

Por ejemplo, si tanto nginx como memcached juntos proporcionan optimizaciones de rendimiento para la aplicación principal del chart, y se requiere que ambos estén presentes cuando esa característica está habilitada, entonces ambos deben tener una sección de etiquetas como esta:

tags:
- webaccelerator

Esto permite a un usuario activar o desactivar esa característica con una sola etiqueta.