Properties
service
string — required
Name of the Helm Chart service to install.
environment
string — required
Target environment for this installation.
name
string — optional
Custom name for this installation. If not specified, uses the service name.
namespace
string — optional
Kubernetes namespace to install into. If not provided, uses the environment’s
default namespace, which has the same name as the environment. Cannot be
changed after install. See Namespaces.
releaseChannel
string — optional
Release channel to follow for this installation. If not specified, uses the
environment’s channel.
dependencies
array — optional
Installations that must be ready before this installation installs for the
first time. Ryvn holds the first install until every entry is satisfied. After
that, dependencies hold nothing: upgrades, configuration changes, and secret
rotations deploy even while a dependency is being reinstalled.
Each entry sets exactly one key:
Dependencies have no version bounds; version requirements belong in the
service’s release dependencies.
When this installation’s release depends on a service and
dependencies names
installations of that service, the release’s range is checked against the named
installations only. See
Installation dependencies.
You can name several installations of the same service. An entry can’t name
this installation, name its own service with service, repeat another entry,
sit beside a serviceInstallation entry of the same service, or form a cycle
with other installations’ dependencies. Installations created by a blueprint
take their dependencies from the blueprint; to set them directly, exclude the
installation from blueprint updates first. See
Installation Dependencies.
Variable Groups
All variable groups in the environment are automatically available to Helm Chart installations as Kubernetes secrets — no explicit linking required. Use thek8sSecretName template function to get the Kubernetes secret name for a
variable group, then reference individual keys within it:
k8sSecretName function returns a deterministic Kubernetes secret name
derived from the variable group name. Each key in the variable group becomes a
key in the Kubernetes secret. Reference them in your Helm chart templates using
standard secretKeyRef or envFrom.secretRef syntax.
Wiring secret refs in your own chart
Give your chart a value for the secret name, then reference it from the pod spec:database-url) and reference that key — nothing has to be assembled
from a secret in the values:
$(VAR) is expanded automatically, as long as VAR
comes from envFrom or is declared earlier in the same env list (a later entry
is left as literal $(VAR)):
Third-party and OSS charts
Most upstream charts already accept an existing secret instead of a literal password — look forexistingSecret, secretKeyRef, or *SecretName values in
the chart’s values.yaml, along with the value that names the key inside it:
extraEnvFrom, envFrom, or extraEnvVarsSecret — which loads every key in the
secret as an environment variable:
extraEnv, env,
extraEnvVars), pass a secret reference instead of a literal value:
Unlike server and job installations, Helm Chart installations do not use
the
variableGroups field. Any variable group created in the environment is
automatically accessible as a Kubernetes secret.config
string or array — optional
Service configuration. For Helm charts, this is the values.yaml content passed
to the chart.
secrets
array — optional
Secrets to be passed to the Helm chart. Each secret can be generated or get
values from blueprint inputs. To share values
across installations, use variable groups: all
environment variable groups are available to Helm Chart installations as
Kubernetes secrets and can be referenced in config via k8sSecretName.
secrets[].name
string — required
Name of the secret.
secrets[].generated
object — optional
Configuration for generating a secret automatically. Cannot be used with
values.
secrets[].generated.type
string — required
Type of secret to generate. Valid values: random-string, random-bytes,
rsa-key, ec-key.
secrets[].generated.length
integer — optional
Length of the random string or bytes to generate. Only valid for random-string
and random-bytes types.
secrets[].values
array — optional
Key-value pairs for the secret. Cannot be used with generated.
secrets[].values[].key
string — required
Secret key name.
secrets[].values[].valueFromInput
object — optional
Reference to a blueprint input for the value. If the referenced input has a condition that evaluates to false, this secret key is automatically omitted.
secrets[].values[].valueFromInput.name
string — required
Name of the blueprint input to get the value from.