Skip to main content
Blueprint installations add all services defined in a blueprint as installations on an environment. Configure blueprint inputs to customize the installation for each environment.
Secret inputs (isSecret: true) cannot take a raw value in YAML. Use valueFromVariableGroup, valueFromOutput, or set the value in the UI.

Properties

blueprint

string — required Name of the blueprint to install. All services defined in the blueprint will be added as installations on the environment.

environment

string — required Target environment for this installation.

blueprintInstallationName

string — optional Custom name for this blueprint installation. If not specified, uses the blueprint name.
Installing the same blueprint more than once in a single environment (each with its own unique blueprintInstallationName) must be enabled for your organization by Ryvn. Until it is enabled, a second installation of the same blueprint in an environment is rejected even with a unique name. Reach out to Ryvn support to enable multi-install.

releaseChannel

string — optional Release channel this installation follows. If unset, uses the environment’s channel. Mutually exclusive with branch.

branch

string — optional Track a branch’s releases on a blueprint configured with branches. Mutually exclusive with releaseChannel. The referenced blueprint must declare this branch in its branches list.

inputs

array — optional Input parameters to pass to the blueprint. These inputs override any default values defined on the blueprint and are used by services within the blueprint.

inputs[].name

string — required Name of the blueprint input parameter.

inputs[].value

string — optional Value for the input parameter. Set exactly one of value, valueFromVariableGroup, or valueFromOutput. Secret inputs cannot use a raw value; use a variable group or a secret output instead, so secret values never live in git.

inputs[].valueFromVariableGroup

object — optional Reference an environment-scoped variable group to use as the input value. Only valid for inputs with isSecret: true: with a key, on a string input (that one key becomes the value); without a key, on a map input (the whole variable group becomes the value). Cannot be used with value or valueFromOutput.
The variable group must exist in the target environment. This is the explicit equivalent of defaultFrom on the blueprint input definition — use defaultFrom when you want a fallback when no value is provided, and valueFromVariableGroup when you want to explicitly bind the input to a variable group.

inputs[].valueFromVariableGroup.name

string — required Name of the variable group in the target environment.

inputs[].valueFromVariableGroup.key

string — optional The specific key to get from the variable group. If not specified, the entire variable group key-value map is used. When a key is specified, only that key’s value is used as the input value.

inputs[].valueFromOutput

object — optional Source an input from an output of another installation in the same environment. Set exactly one of blueprintInstallation or serviceInstallation to the producer’s installation name, and set name to its output name. For a serviceInstallation target, name: connection.writer.endpoint selects the Terraform output connection, then its nested writer.endpoint value:
For a blueprintInstallation target, name matches a declared blueprint output exactly. Dots in a blueprint output name are part of the name, not a path into its value. To expose a nested value from a blueprint-owned service, declare an output on the blueprint:
Reference that output with name: writer_endpoint on the blueprintInstallation target. A blueprint output’s declared type must match the input’s type; a Terraform output must already have the input’s JSON type (for example, "8080" cannot feed a number input). Only a standalone service installation can be a serviceInstallation target. For a service owned by a blueprint installation, expose the value as an output of its owning blueprint and reference that blueprintInstallation.
Ryvn resolves the output on every reconcile and updates the consumer when the producer’s output changes. If the producer or output is unavailable, the consumer holds its current services without changing them and reports the reason in its issues. View the issues in the UI banner, ryvn describe blueprint-installation, or ryvn plan. A secret output must feed a secret input (isSecret: true). Output references cannot be used on a platform installation or an immutable input, and cannot point to the installation itself or form a cycle between installations.

inputs[].valueFromOutput.blueprintInstallation

string — required when targeting a blueprint installation Name of another blueprint installation in the same environment.

inputs[].valueFromOutput.serviceInstallation

string — required when targeting a standalone service installation Name of the standalone service installation in the same environment.

inputs[].valueFromOutput.name

string — required For a standalone service installation, the first segment names the Terraform output; remaining dot-separated segments select nested values. For a blueprint installation, use the exact declared output name.

excludedInstallations

array — optional List of service installations within this blueprint that should be excluded from automatic updates. These installations will not receive automatic updates when the blueprint is updated, allowing you to pin specific services to their current versions.

Examples

Marketplace blueprint

Install a marketplace blueprint using the ryvn.app/ prefix:

With variable groups

Multiple blueprints:
Mixed inputs:
Whole variable group as a map input:
Excluding installations from updates:
Tracking a specific branch: