Job installations deploy job services to environments. Jobs can run on a cron schedule, be triggered manually via Run Now, or both. Configure environment variables, resource limits, and service-specific settings for your batch jobs, migrations, and scheduled tasks.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 job 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 job service. Each variable specifies whether it’s
a secret.
env[].key
string — required
Environment variable name.
env[].isSecret
boolean — required
Whether this environment variable is a secret. If true, value must be set on the
platform when the blueprint is installed.
env[].value
string — conditional
Environment variable value. Cannot be set if isSecret is true.
env[].orgSecret
string — optional
Name of organization-level secret to get values from. All key-value pairs from
the organization secret are exploded out as environment variables. Cannot be
used with key, isSecret, or value.
env[].valueFromInput
object — optional
Reference to a blueprint input for the value. If the referenced input has a condition that evaluates to false, this environment variable is automatically omitted.
env[].valueFromOutput
object — optional
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:
config
string or array — optional
Service configuration. For jobs, this is the Helm chart values.yaml content.
Configure scheduling, concurrency, resources, and more.
config.image
object — optional
Container image configuration.
config.imagePullSecrets
array — optional
Secrets for pulling images from private registries.
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.schedule
string — optional
Cron schedule expression for the job. When omitted, the job is deployed as a
manual-only job that never runs automatically and can only be triggered via
the Run Now button in the UI or the trigger-job CLI command.
config.concurrencyPolicy
string — optional
How to handle concurrent executions. Valid values: Forbid, Allow, Replace.
Defaults to Forbid.
config.startingDeadlineSeconds
integer — optional
Time in seconds for starting the job if it misses scheduled time.
config.successfulJobsHistoryLimit
integer — optional
Number of successful job executions to keep. Defaults to 3.
config.failedJobsHistoryLimit
integer — optional
Number of failed job executions to keep. Defaults to 1.
config.suspend
boolean — optional
Suspend job scheduling. Defaults to false.
config.backoffLimit
integer — optional
Number of retries before considering a job as failed. Defaults to 1.
config.ttlSecondsAfterFinished
integer — optional
Time to live in seconds after job finishes before automatic cleanup.
config.labels
object — optional
Additional labels for the CronJob metadata.
config.annotations
object — optional
Additional annotations for the CronJob metadata.
config.restartPolicy
string — optional
Pod restart policy. Valid values: Never, OnFailure. Defaults to Never.
config.command
array — optional
Override container’s default entrypoint.
config.args
array — optional
Arguments to container’s entrypoint.
config.env
array — optional
Environment variables passed to the container (in addition to the
installation-level env field).
config.envFrom
array — optional
Environment variables from ConfigMaps or Secrets.
config.resources
object — optional
Container resource requests and limits.
config.volumes
array — optional
Additional volumes for the job.
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.
resources
object — optional
Resource requirements for the service.
resources.cpuCores
number — required
Number of CPU cores. Can be fractional (e.g., 0.5, 1, 2).
resources.memoryMB
integer — required
Memory in megabytes. Must be a positive integer.
lifecycle
object — optional
Lifecycle hooks automatically trigger this job after the parent installation
completes a lifecycle phase. Useful for pairing a job with its own runtime —
for example, running database migrations after a job installation has been
installed or upgraded.
HelmInstallV1 or HelmUpgradeV1 task completes
successfully, Ryvn auto-queues a HelmTriggerJobV1 run for the matching phase.
Lifecycle-triggered runs are labelled “Lifecycle hook job run” in the activity
feed to distinguish them from manual Run Now triggers.
lifecycle.postInstall
array — optional
Hooks to run after the installation’s first install completes successfully.
lifecycle.postInstall[].run
string — required
Name of the ServiceInstallation to run when the phase fires. Must be a
literal string equal to the parent installation’s own name (self-reference).
Inside a blueprint, template syntax that resolves to the parent’s name is also
permitted.
lifecycle.postUpgrade
array — optional
Hooks to run after the installation’s upgrade completes successfully. Same
rules as postInstall.
lifecycle.postUpgrade[].run
string — required
Same semantics as lifecycle.postInstall[].run.