openstead
Deploy and operate

Preview environments

Test trusted pull requests in separate service environments before merging.

Suggest a change

Preview environments create a separate service for a pull request from the connected repository. Use them to review a frontend or application change without replacing the parent service's live release.

Enable previews

In service settings, choose a Preview environments policy:

PolicyBehavior
OffPull requests do not create previews
Create manuallyA trusted pull request needs the openstead-preview label or [openstead preview] in its title to start a preview
Create for pull requestsEligible pull requests create previews automatically

Previews apply to web services, static sites, private services, and background workers. Use the service's Previews page to inspect its preview services, URLs where applicable, and expiry times.

Repository trust and secrets

Previews run pull-request code. Openstead skips pull requests from forks so untrusted fork code does not automatically receive the parent service's secrets.

Eligible same-repository previews copy the parent's service variables and linked environment-group values when the child service is created. Treat collaborators who can push a preview branch as trusted with those values. Use test credentials for services that will create previews.

Preview service configuration is a copy, not a live link to every later parent setting. Inspect the preview's own environment before testing changes that depend on newly added variables.

Databases and persistent data

A preview receives an isolated environment. It does not automatically clone your production database, local upload disk, or related service graph. A private production database URL copied as a plain variable may not be reachable from the preview's isolated network, and an externally reachable production credential can still be dangerous.

Provision test dependencies in the preview's permitted network scope and use separate test data. Avoid payment, email, and other irreversible production side effects in preview code.

Plans and expiry

Preview compute is a separate service. A paid parent service's active month does not pay for the preview. A preview that requires paid compute waits for its own payment before deploying; creating a pull request does not authorize a purchase.

Set Expiry after inactivity between 1 and 720 hours. Relevant pull-request activity refreshes the preview's expiry. Closing the pull request expires its preview and schedules cleanup. Do not keep irreplaceable data only in a preview.

To skip preview creation, add the openstead-preview-skip label or [skip preview] to the pull request's title. Adding a skip marker is not a substitute for explicitly managing an already running preview.

Need a hand? Contact Openstead support.

On this page