Properties
name
string — required
Unique identifier for this preview configuration. Must be lowercase, alphanumeric with hyphens only.
environment
string — required
Name of the environment where previews will be deployed. Should be a dedicated environment with auto-scaling to manage costs.
blueprint
string — required
Name of the blueprint to deploy for each preview. The blueprint’s services will be installed with preview-specific naming.
branches
array — optional
List of branch patterns that trigger preview creation. Uses filepath.Match syntax (not regex). If not specified, previews are created for all branches.
Supported wildcards:
*matches any characters except/?matches single character[abc]matches character class[a-z]matches character range
inputs
array — optional
Blueprint input values for preview deployments. Override blueprint defaults for preview-specific configuration.
inputs[].name
string — required
Name of the blueprint input to set.
inputs[].value
any — optional
Value for the input parameter. Type should match the blueprint input definition.
staleDuration
string — optional
Duration after which a preview with no new releases is considered stale and will be automatically closed. Uses Go duration format (e.g., “30m”, “72h”, “168h”). Minimum value is 15 minutes (“15m”). Defaults to “168h” (7 days) if not specified.
Stale Preview Exemption
You can prevent a preview from being automatically cleaned up due to inactivity by adding thepreview:keep-alive label to the pull request. When this label is present, the preview will remain active until the PR is closed or merged, regardless of the configured staleDuration.
This is useful for:
- Long-running feature branches that need persistent preview environments
- PRs that are under extended review
- Demonstration or testing environments that need to remain available
Lifecycle
Creation
When a pull request is opened:- Ryvn checks if the repository matches any preview’s candidate repositories
- Verifies the head branch matches the branch patterns
- Creates a unique release channel:
preview-{org}-{repo}-pr{number} - Deploys the blueprint to the preview environment
- Posts a GitHub comment on the PR with preview URLs
Destruction
Previews are automatically destroyed when:- The pull request is closed or merged
- No new releases for the configured
staleDuration(default: 7 days)
preview:keep-alive label to the PR.
When destroyed, all service installations and the release channel are removed.
Preview URLs
Each preview installation receives a unique URL based on the installation name and environment’s public domain:https://frontend-stack-preview-myorg-myapp-pr42.preview.example.com
Branch Patterns
Branch patterns use filepath.Match syntax (case-sensitive):* does not match /, so feature/* will not match feature/user/profile.