Server installations deploy server services to environments. Configure environment variables, resource limits, and service-specific settings for your web applications and APIs.Documentation Index
Fetch the complete documentation index at: https://ryvn.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Properties
service
string — required
Name of the server 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.
releaseChannel
string — optional
Release channel to follow for this installation. If not specified, uses the
environment’s channel. Mutually exclusive with branch.
branch
string — optional
Branch to track for this installation. The service must have the branch listed
in build.branches. When set, the installation deploys whatever was last built
on that branch. Mutually exclusive with releaseChannel.
variableGroups
array — optional
List of variable group references to link to this installation. Each entry
references a variable group by name that must already exist in the target
environment. Variable groups provide shared sets of environment variables
across installations.
variableGroups[].name
string — required
Name of the variable group in the target environment.
env
array — optional
Environment variables for the server service. Each entry defines an individual
variable using key, isSecret, and optionally value.
env[].key
string — conditional (required when not using orgSecret)
Environment variable name.
env[].isSecret
boolean — conditional (optional when using key)
Whether this environment variable is a secret. Defaults to false. If true, value must be set directly on the platform.
env[].value
string — conditional (optional when using key)
Environment variable value. Cannot be set if isSecret is true.
env[].orgSecret
string — conditional (required when not using key)
Name of organization-level secret. All key-value pairs are loaded as environment variables. Cannot be used with key, isSecret, or value.
env[].valueFromInput
object — conditional (optional when using key)
Reference to a blueprint input for the value. Only valid when using key. If the referenced input has a condition that evaluates to false, this environment variable is automatically omitted.
env[].valueFromOutput
object — conditional (optional when using key)
Reference to an output from a service installation or blueprint installation. Exactly one of serviceInstallation or blueprintInstallation must be specified.
Properties:
| Property | Type | Description |
|---|---|---|
serviceInstallation | string | Name of the service installation to get the output from. |
blueprintInstallation | string | Name of the blueprint installation to get the output from. |
name | string | (required) Name of the output. Supports dot notation for nested values (e.g., bucket.name). |
valueFromOutput to set a base env var and reference it with $(VAR) syntax in a subsequent variable. The referenced variable must appear earlier in the list:
autoscaling
object — optional
Autoscaling configuration. Only supported for server installations.
This setting lives at the top level of the installation spec, alongside config.
Do not place autoscaling under config; config.autoscaling is rejected.
When enabled, Ryvn controls replica scaling automatically.
When autoscaling.enabled is true, configure at least one autoscaling trigger:
targetCPUUtilizationPercentagetargetMemoryUtilizationPercentage- One or more Temporal triggers in
autoscaling.triggers - One or more RabbitMQ triggers in
autoscaling.triggers
autoscaling.enabled
boolean — required
Whether autoscaling is enabled for this installation.
autoscaling.minReplicas
integer — required when enabled
Minimum number of replicas. Set to 0 to allow scaling to zero when all triggers are idle.
autoscaling.maxReplicas
integer — required when enabled
Maximum number of replicas. Must be greater than or equal to minReplicas.
autoscaling.targetCPUUtilizationPercentage
integer — optional
Target average CPU utilization percentage (1–100). Can be used on its own or
combined with other triggers. When autoscaling is enabled, at least one
trigger must be configured.
autoscaling.targetMemoryUtilizationPercentage
integer — optional
Target average memory utilization percentage (1–100). Can be used on its own or
combined with other triggers. When autoscaling is enabled, at least one
trigger must be configured.
autoscaling.triggers
array — optional
List of autoscaling triggers. Each entry contains either a temporal or
rabbitmq block. Triggers can be used on their own or alongside CPU and/or
memory targets. You can combine multiple triggers of any type.
autoscaling.triggers[].temporal
object — required for each Temporal trigger entry
Temporal queue-based autoscaling configuration for a single task queue.
autoscaling.triggers[].temporal.connection
string — required when using a Temporal trigger
Name of the Temporal connection to use for this trigger.
autoscaling.triggers[].temporal.endpoint
string — optional
Optional Temporal Cloud endpoint override. Leave it unset to use the
endpoint configured on the referenced Temporal connection.
autoscaling.triggers[].temporal.namespace
string — optional
Optional Temporal namespace override. Leave it unset to use the
namespace configured on the referenced Temporal connection.
autoscaling.triggers[].temporal.taskQueue
string — required when using a Temporal trigger
Temporal task queue to monitor.
autoscaling.triggers[].temporal.targetQueueSize
integer — required when using a Temporal trigger
Desired queue depth per replica before scaling out. Must be greater than 0.
autoscaling.triggers[].temporal.activationTargetQueueSize
integer — optional
Queue depth required before activating the scaler. Must be 0 or greater.
autoscaling.triggers[].temporal.queueTypes
string — optional
Types of Temporal task queue to monitor. Supported values: workflow, activity, or workflow,activity. Defaults to the KEDA scaler default if not set.
autoscaling.triggers[].rabbitmq
object — required for each RabbitMQ trigger entry
RabbitMQ queue-based autoscaling configuration. Scale based on queue length
or message rate.
autoscaling.triggers[].rabbitmq.endpoint
string — optional
RabbitMQ endpoint URL. For protocol: amqp (default), provide an AMQP(S)
broker URL (e.g., amqps://host:5671). For protocol: http, provide an HTTP
Management API URL (e.g., http://host:15672). Mutually exclusive with
hostFromEnv. When set, usernameFromEnv and passwordFromEnv default to
RABBITMQ_USERNAME and RABBITMQ_PASSWORD if not specified.
autoscaling.triggers[].rabbitmq.hostFromEnv
string — optional
Name of the environment variable containing a fully-formed RabbitMQ connection
URL. Mutually exclusive with endpoint. Defaults to RABBITMQ_HOST if
neither endpoint nor hostFromEnv is specified.
autoscaling.triggers[].rabbitmq.queueName
string — required
RabbitMQ queue to monitor for autoscaling.
autoscaling.triggers[].rabbitmq.value
integer — required
Target value per replica. Interpretation depends on mode: queue length
(default) or messages per second.
autoscaling.triggers[].rabbitmq.mode
string — optional
Scaling mode: QueueLength (default) or MessageRate. MessageRate requires
protocol: http.
autoscaling.triggers[].rabbitmq.activationValue
integer — optional
Value required before activating the scaler. Defaults to 0.
autoscaling.triggers[].rabbitmq.protocol
string — optional
Protocol for connecting to RabbitMQ: amqp (default) or http. Use http
when you need MessageRate mode or when connecting via the RabbitMQ Management
API.
autoscaling.triggers[].rabbitmq.vhost
string — optional
RabbitMQ virtual host. Defaults to /.
autoscaling.triggers[].rabbitmq.usernameFromEnv
string — optional
Name of the environment variable containing the RabbitMQ username. Used when
endpoint is set. Defaults to RABBITMQ_USERNAME.
autoscaling.triggers[].rabbitmq.passwordFromEnv
string — optional
Name of the environment variable containing the RabbitMQ password. Used when
endpoint is set. Defaults to RABBITMQ_PASSWORD.
config
string or array — optional
Service configuration. For servers, this is the Helm chart values.yaml content.
Configure replicas, service type, ingress, resources, and more.
config.replicaCount
integer — optional
Number of pod replicas. Defaults to 1. Use this only when autoscaling is disabled;
when autoscaling is enabled, Ryvn removes replicaCount from the rendered chart values.
config.image
object — optional
Container image configuration.
config.imagePullSecrets
array — optional
Secrets for pulling images from private registries.
Ryvn-managed registries:
Credentials are automatically distributed to all namespaces and added to the default service account. Reference them using the {{ .ryvn.registrySecrets }} template map.
config.serviceAccount
object — optional
Service account configuration.
config.podAnnotations
object — optional
Kubernetes annotations for pods.
config.podLabels
object — optional
Kubernetes labels for pods.
config.podSecurityContext
object — optional
Security context for the pod.
config.securityContext
object — optional
Security context for the container.
config.service
object — optional
Kubernetes service configuration.
config.ingress
object — optional
Ingress configuration for external access.
config.ingress.enabled
boolean — optional
Enable ingress for external access. Defaults to false.
config.ingress.className
string — optional
Ingress class name. Must be external-nginx or internal-nginx.
config.ingress.annotations
object — optional
Annotations for the ingress resource. The cert-manager.io/cluster-issuer must be
internal-issuer or external-issuer.
config.ingress.hosts
array — optional
List of host configurations for the ingress.
config.ingress.hosts[].host
string — optional
Hostname for this ingress rule.
config.ingress.hosts[].paths
array — optional
Paths for this host.
config.ingress.hosts[].paths[].path
string — required
URL path for the ingress rule.
config.ingress.hosts[].paths[].pathType
string — required
Path type: Exact, Prefix, or ImplementationSpecific.
config.ingress.tls
array — optional
TLS configuration for the ingress.
config.ingress.tls[].secretName
string — required
Name of the Kubernetes secret containing the TLS certificate.
config.ingress.tls[].hosts
array — required
List of hosts covered by this TLS certificate.
config.env
array — optional
Environment variables passed to the container (in addition to the installation-level
env field).
config.resources
object — optional
Container resource requests and limits.
config.livenessEnabled
boolean — optional
Enable liveness probe. Defaults to false.
config.livenessProbe
object — optional
Liveness probe configuration. Only used if livenessEnabled is true.
config.livenessProbe.httpGet
object — optional
HTTP GET probe configuration.
config.readinessEnabled
boolean — optional
Enable readiness probe. Defaults to false.
config.readinessProbe
object — optional
Readiness probe configuration. Only used if readinessEnabled is true.
config.readinessProbe.httpGet
object — optional
HTTP GET probe configuration.
config.volumes
array — optional
Additional volumes for the deployment.
config.volumeMounts
array — optional
Additional volume mounts for the container.
config.nodeSelector
object — optional
Node selector for pod scheduling.
config.tolerations
array — optional
Tolerations for pod scheduling.
config.affinity
object — optional
Affinity rules for pod scheduling.
config.command
array — optional
Override container’s default entrypoint.
config.args
array — optional
Arguments to container’s entrypoint.
config.preDeploy
object — optional
Pre-deploy job configuration. Runs before the main deployment via Helm hooks.
Use this for database migrations, seeding, cache warming, or any initialization tasks.
The pre-deploy job uses the same image, environment variables, volumes, and resources
as the main deployment.
config.preDeploy.enabled
boolean — optional
Enable the pre-deploy job. Defaults to false.
config.preDeploy.run
string — optional
Simple command to run. This is the recommended way to specify what the pre-deploy
job should execute.
config.preDeploy.command
array — optional
Override the container entrypoint. Use this for advanced cases where run is
not sufficient. Cannot be used together with run.
config.preDeploy.args
array — optional
Arguments to the container entrypoint. Used with command for advanced cases.
config.preDeploy.backoffLimit
integer — optional
Number of retries before marking the job as failed. Defaults to 3.
config.preDeploy.activeDeadlineSeconds
integer — optional
Maximum time in seconds for the job to run before timing out. Defaults to 300 (5 minutes).
config.persistence
object — optional
Persistent volume configuration.
config.terminationGracePeriodSeconds
integer — optional
Pod termination grace period in seconds. Defaults to 30.