-
Notifications
You must be signed in to change notification settings - Fork 16
Inputs
Cyril Rohr edited this page Mar 13, 2026
·
18 revisions
The PullPreview action supports the following with: inputs from action.yml.
| Input | Default | Applies to | Description |
|---|---|---|---|
app_path |
. |
all deployments | Path to your application. For compose, this is where PullPreview resolves Compose files. For helm, this is the root used for local chart values files and app tree sync. |
dns |
my.preview.run |
all deployments | DNS suffix used for generated preview hostnames. Built-in alternatives include rev1.click through rev9.click. |
max_domain_length |
62 |
all deployments | Maximum generated fully qualified domain name length. Must stay at or below 62 for Let's Encrypt compatibility. |
label |
pullpreview |
github-sync workflow runs |
Label that triggers preview deployments and scopes scheduled cleanup. |
github_token |
${{ github.token }} |
github-sync workflow runs |
GitHub token used for labels, PR comments, collaborator lookup, and SSH public key lookup. |
admins |
@collaborators/push |
all deployments | Comma-separated GitHub logins whose SSH public keys are installed on the preview instance. |
ports |
80/tcp,443/tcp |
all deployments | Public firewall ports to expose. SSH port 22 is always added automatically. |
cidrs |
0.0.0.0/0 |
all deployments | Source IPs allowed to reach the exposed ports. |
default_port |
80 |
all deployments | Port used when building the preview URL and the url output. If proxy_tls is enabled, PullPreview switches this to 443. |
compose_files |
docker-compose.yml |
deployment_target: compose |
Comma-separated Compose files passed to docker compose. Not supported for Helm previews except for the untouched default value. |
compose_options |
--build |
deployment_target: compose |
Additional arguments appended to docker compose up. Not supported for Helm previews except for the untouched default value. |
deployment_target |
compose |
all deployments | Deployment target to use: compose or helm. |
chart |
"" |
deployment_target: helm |
Helm chart reference. Supported forms: local path, repo chart name, or OCI reference. Required for Helm previews. |
chart_repository |
"" |
deployment_target: helm |
Helm repository URL used when chart is a repo chart name such as wordpress. Do not set it for local chart paths or OCI references. |
chart_values |
"" |
deployment_target: helm |
Comma-separated Helm values files relative to app_path. |
chart_set |
"" |
deployment_target: helm |
Comma-separated Helm --set overrides. Supports placeholder expansion such as {{ release_name }} and {{ namespace }}. |
license |
"" |
all deployments | PullPreview license key. |
instance_type |
small |
all deployments | Provider-specific instance size. Lightsail uses bundle names such as small or medium. Hetzner accepts server types such as cpx21. |
region |
"" |
all deployments | Provider region/location override. Defaults are provider-specific: Lightsail uses us-east-1, Hetzner uses nbg1. |
deployment_variant |
"" |
github-sync workflow runs |
Optional short suffix used to run multiple preview environments per pull request. Maximum length is 4 characters. |
image |
ubuntu-24.04 |
all deployments | Provider image override. It is used by Hetzner and ignored by Lightsail. |
provider |
lightsail |
all deployments | Cloud provider: lightsail or hetzner. |
registries |
"" |
deployment_target: compose |
Private registry credentials for Compose deployments, for example docker://user:password@ghcr.io. Not supported for Helm previews. |
proxy_tls |
"" |
all deployments | Enables PullPreview-managed HTTPS with Let's Encrypt. For Compose, the format is service:port. For Helm, the same value targets a Kubernetes Service and is required. |
pre_script |
"" |
all deployments | Path to a local bash script relative to app_path, executed inline over SSH before the deployment target runs. |
ttl |
infinite |
github-sync workflow runs |
Maximum preview lifetime such as 10h, 5d, or infinite. Scheduled cleanup removes expired deployments and labels. |
-
composeis the default target. -
helmrequires bothchartandproxy_tls. -
helmrejectsregistries. -
helmrejects customizedcompose_filesandcompose_options. -
pre_scriptworks for both targets.
- For
compose, PullPreview injects a Caddy sidecar in front of the target Compose service. - For
helm, PullPreview deploys a Caddy Deployment in the preview namespace and routes traffic to the Kubernetes Service named byproxy_tls. - Helm
proxy_tlsvalues support placeholders:{{ release_name }}{{ namespace }}
- Helm
chart_setvalues also support:{{ pullpreview_url }}{{ pullpreview_public_dns }}{{ pullpreview_public_ip }}{{ release_name }}{{ namespace }}
-
admins: "@collaborators/push"loads up to the first 100 GitHub collaborators with push permission and logs a warning if more pages exist. - SSH public keys fetched from GitHub are cached between workflow runs through the action cache.
-
provider: hetznerrequires bothHCLOUD_TOKENandHETZNER_CA_KEY. - For Hetzner, PullPreview uses
rootas the SSH username and defaultsregiontonbg1,imagetoubuntu-24.04, andinstance_typetocpx21when you leave it empty or usesmall/micro.
See also: