Skip to main content
Open a pull request on a connected application and Ankra deploys that PR’s build to your organisation’s staging cluster, then posts a status comment with a public preview link. Push again and it redeploys. Close or merge and it is torn down. No pipeline YAML, no ingress wiring, no cleanup.

What you get

Minutes after opening a PR, a comment like this appears and keeps itself up to date:

🚀 Ankra Preview

⏳ Expires Aug 9, 22:26 UTC · 🔁 Redeploys on every push
The preview runs in its own isolated namespace on the staging cluster, PodSecurity-hardened and quota-bounded, exactly like a manually launched preview demo. When the Ankra GitHub App has the optional Deployments permission, the PR also gets a GitHub deployment entry, so the preview shows up in the PR’s environments box.

Prerequisites

1

Connect the repository as an application

The repository must be a connected application (GitHub only for now). Application setup opens a PR that adds the canonical build-and-publish workflow - this is what builds your PR’s container image and pushes it with a pr-<number> tag. Automatic previews key on that tag.
2

Configure a staging cluster

An admin sets the organisation’s staging cluster under AISettingsWorkspaces. Without it, pull requests deploy nothing - this is the switch that turns the feature on.
3

Optional: bring a demo base domain for HTTPS

By default previews are served under the staging cluster’s own Ankra DNS zone (*.ankra.cc, or the Ankra domain your organisation selected) over plain HTTP. For HTTPS (or your own hostnames), configure a demo base domain with an ingress class and TLS secret in the same settings screen.

The status comment

One marker-tagged comment per PR, updated in place - never a stream of new comments. Lifecycle:
  • On open: the preview deploys as soon as the PR’s image build publishes.
  • On every push: the preview redeploys with the new head; the comment’s Commit and Updated cells refresh.
  • On close or merge: the namespace is torn down immediately and the comment flips to ⚪ Stopped.
  • On expiry: previews are time-limited (24 hours by default) and reaped automatically; pushing again deploys a fresh one.

Configuration and data

Automatic previews inherit the application’s demo environment defaults - env vars, secret slots, and the optional throwaway Postgres - configured behind the gear on the application’s Demos tab. See environment variables and a throwaway database. If your app needs configuration to boot, set the defaults once and every PR preview gets them.

Troubleshooting