Infrastructure, environments, and workflows are defined, versioned, and automated alongside your application code. GitOps out of the box, with no separate pipelines, no manual steps, and no undocumented decisions.

Application configuration, services, and environment behavior are all defined in Git. Every change goes through the same review and approval process as application code.
Upsun reacts to Git events: branch creation, commits, merges. Environments are created, rebuilt, and cleaned up automatically, without separate pipelines or tools.
Git-driven changes trigger native platform actions including builds, deployments, resource changes, and backups. Notify or orchestrate external systems via activity scripts and webhooks.
Every action is versioned, reviewable, and repeatable. No ad hoc scripts, no manual steps.
A pull request automatically creates a full-stack preview environment. When it's merged, the environment is removed. No manual cleanup, no forgotten instances.
A platform team defines a shared configuration for services and resources. All teams inherit the same defaults through Git, ensuring consistency without enforcing uniformity.
Infrastructure changes are proposed, reviewed, and merged through Git. GitOps for your platform layer, with a clear audit trail for compliance and internal reviews.
Approval gates, code reviews, and policy enforcement built into the same workflow your team already uses. Guardrails that don't slow delivery.
Every configuration change committed, reviewed, and logged. Role-based access and API tokens instead of shared credentials. No side doors.
Every platform action executed consistently, every time. No ad hoc scripts, no manual steps, no drift.
Yes. Each time you push a change, Upsun Cloud builds and deploys the matching environment. If your code lives on GitHub, GitLab or Bitbucket, you connect the repository once with a source integration, and Upsun Cloud then reacts to pushes and pull requests on its own. You can also push code straight to Upsun Cloud without a third-party repository.
Yes. The Upsun CLI can simulate a build of your code on your own machine, just as if you were pushing a change to Upsun Cloud. That lets you catch build problems before anything reaches a shared environment.
Yes. Upsun Cloud has hooks, which are set points in the build and deploy process where you can add your own scripts, for example to remove sensitive data from preview environments. You define them in your configuration file in Git, so they run the same way on every environment.
Yes, once you connect a source integration such as GitHub. Opening a pull request creates a preview environment, and merging it removes the environment. A new environment copies its parent's services and, by default, its data. You can switch data cloning off, for example to keep production data out of previews.
Upsun Cloud lets you set variables for the whole project, for values every environment shares, and for a single environment, for values that differ between development, staging and production. An environment variable overrides a project variable with the same name. Secrets such as API keys can be stored as sensitive variables instead of in your code.
Yes. In Upsun Cloud, your services and app settings are described in configuration files stored in Git alongside your code. A change to them goes through the same pull request and review as any code change, and you can test it in a preview environment before it reaches production.