Complete reference for the ryvn.yaml configuration file
ryvn.yaml
file is the primary configuration file for defining your Ryvn resources. It must be placed in the root directory of your repository and defines blueprints, environments, and previews that will be managed by Ryvn.
ryvn.yaml
file is allowed per repository, and it must be in the root directory.Property | Type | Required | Description |
---|---|---|---|
apiVersion | string | Yes | API version of the Ryvn YAML specification. Currently only v1 is supported. |
blueprints | array | No | List of blueprints to be managed by Ryvn. |
environments | array | No | List of environments to be managed by Ryvn. |
previews | array | No | List of previews to be managed by Ryvn. |
Property | Type | Required | Description |
---|---|---|---|
name | string | Yes | Name of the blueprint. Must be lowercase alphanumeric with hyphens, max 63 characters. |
description | string | Yes | Description of the blueprint. |
displayName | string | No | Human-readable name for the blueprint. |
inputs | array | No | List of input parameters required by the blueprint. |
installations | array | Yes | List of service installations associated with this blueprint. |
Property | Type | Required | Description |
---|---|---|---|
name | string | Yes | Name of the input parameter. |
description | string | No | Detailed description of what the input is for. |
displayName | string | No | Human-readable name for the input. |
type | string | Yes | Type of the input. Valid values: string , number , boolean , array , object . |
default | any | No | Default value for the input. If not provided, the input will be required. |
Input Type Examples
Property | Type | Required | Description |
---|---|---|---|
service | string | Yes | Name of the service to install. |
name | string | No | Custom name for the installation. If not provided, uses the service name. |
namespace | string | No | Kubernetes namespace for the installation. If not provided, uses the environment’s default namespace. |
env | array | No | Environment variables for the service. Only valid for web-server services. |
config | string | No | YAML configuration string for the service. Supports template variables like {{ .ryvn.blueprint.inputs.cpu }} . |
secrets | array | No | Secrets belonging to the service. Only valid for helm-chart and terraform service types. |
Property | Type | Required | Description |
---|---|---|---|
key | string | Yes | The key (name) of the environment variable. |
isSecret | boolean | Yes | Whether the environment variable is a secret. |
value | string | No | The value of the environment variable. Omit for secrets. |
orgSecret | string | No | Reference to an organization secret. Only valid for secret environment variables. |
Environment Variable Examples
Property | Type | Required | Description |
---|---|---|---|
name | string | Yes | Name of the secret. |
orgSecret | string | No | Reference to an organization secret. |
generated | object | No | Configuration for automatically generated secrets. |
values | array | No | Keys for user-defined secrets. Cannot be specified for generated secrets. |
Property | Type | Required | Description |
---|---|---|---|
type | string | Yes | Type of secret to generate. Valid values: random-string , random-bytes , rsa-key , ec-key . |
length | integer | No | Length for random-string or random-bytes. Uses default if not specified. |
Secret Examples
config
property supports template variables that reference blueprint inputs.
Configuration Template Examples
Property | Type | Required | Description |
---|---|---|---|
name | string | Yes | Name of the environment. |
installations | array | No | List of installations associated with this environment. |
Property | Type | Required | Description |
---|---|---|---|
blueprint | string | Yes | Name of the blueprint to install. |
Property | Type | Required | Description |
---|---|---|---|
name | string | No | Custom name for the blueprint installation. If not provided, uses the blueprint name. |
inputs | array | No | Input values to override blueprint defaults. |
Environment Installation Examples
Property | Type | Required | Description |
---|---|---|---|
name | string | Yes | Name of the preview. Must be lowercase alphanumeric with hyphens, max 63 characters. |
environment | string | Yes | Name of the environment where previews will be installed. |
blueprint | string | Yes | Name of the blueprint to install. |
Preview Examples
Full ryvn.yaml Example
ryvn.yaml
file:
^[a-z0-9]+(-[a-z0-9]+)*$