Spacelift
PrivacyT&Cs
  • 👋Hello, Spacelift!
  • 🚀Getting Started
  • 🌠Main concepts
    • Stack
      • Creating a stack
      • Stack settings
      • Organizing stacks
      • Stack locking
      • Drift detection
    • Configuration
      • Environment
      • Context
      • Runtime configuration
        • YAML reference
    • Run
      • Task
      • Proposed run (preview)
      • Tracked run (deployment)
      • Module test case
      • User-Provided Metadata
      • Run Promotion
      • Pull Request Comments
    • Policy
      • Login policy
      • Access policy
      • Approval policy
      • Initialization policy
      • Plan policy
      • Push policy
      • Task policy
      • Trigger policy
    • Resources
    • Worker pools
    • VCS Agent Pools
  • 🛰️Platforms
    • Terraform
      • Module registry
      • External modules
      • Provider
      • State management
      • Terragrunt
      • Version management
      • Handling .tfvars
      • CLI Configuration
      • Cost Estimation
      • Resource Sanitization
      • Storing Complex Variables
      • Debugging Guide
    • Pulumi
      • Getting started
        • C#
        • Go
        • JavaScript
        • Python
      • State management
      • Version management
    • CloudFormation
      • Getting Started
      • Reference
      • Integrating with SAM
      • Integrating with the serverless framework
    • Kubernetes
      • Getting Started
      • Authenticating
      • Custom Resources
      • Helm
      • Kustomize
  • ⚙️Integrations
    • Audit trail
    • Cloud Integrations
      • Amazon Web Services (AWS)
      • Microsoft Azure
      • Google Cloud Platform (GCP)
    • Source Control
      • GitHub
      • GitLab
      • Azure DevOps
      • Bitbucket Cloud
      • Bitbucket Datacenter/Server
    • Docker
    • GraphQL API
    • Single sign-on
      • GitLab OIDC Setup Guide
      • Okta OIDC Setup Guide
      • OneLogin OIDC Setup Guide
      • Azure AD OIDC Setup Guide
      • AWS IAM Identity SAML 2.0 Setup Guide
    • Slack
    • Webhooks
  • 📖Product
    • Privacy
    • Security
    • Support
      • Statement of Support
    • Disaster Continuity
    • Billing
      • Stripe
      • AWS Marketplace
    • Terms and conditions
    • Refund Policy
  • Cookie Policy
Powered by GitBook
On this page
  • Planning
  • Plan policies
  • Delta
  • Success criteria
  • Reporting

Was this helpful?

  1. Main concepts
  2. Run

Proposed run (preview)

PreviousTaskNextTracked run (deployment)

Last updated 4 years ago

Was this helpful?

Proposed runs are previews of changes that would be applied to your infrastructure if the new code was to somehow become canonical, for example by pushing it to the .

Proposed runs are generally triggered by Git push events. By default, whenever a push occurs to any branch other than the , a proposed run is started - one for each of the affected stacks. This default behavior can be extensively customized using our .

The purpose of proposed runs is not to make changes to your infrastructure but to merely preview and report them during the phase.

Planning

Once the workspace is prepared by the phase, planning runs a vendor-specific preview command and interprets the results. For Terraform that command is terraform plan, for Pulumi - pulumi preview. The result of the planning phase is the collection of currently managed resources and outputs as well as planned changes. This is used as an input to (optional) and to - always.

Note that the Planning phase can be safely .

Plan policies

If any are attached to the current stack, each of these policies is evaluated to automatically determine whether the change is acceptable according to the rules adopted by your organization. Here is an example of an otherwise successful planning phase that still fails due to policy violations:

Delta

If the planning phase is successful (which includes policy evaluation), Spacelift analyses the diff and counts the resources and outputs that would be added, changed and deleted if the changes were to be applied. Here's one example of one such delta being reported:

Success criteria

The planning phase will fail if:

  • infrastructure definitions are incorrect - eg. malformed, invalid etc.;

  • external APIs (eg. AWS, GCP, Azure etc.) fail when previewing changes;

  • plan policies return one or more deny reasons;

  • a worker node crashes - eg. you kill a private worker node while it's executing the job;

Reporting

The results of proposed runs are reported in multiple ways:

You can read more about plan policies .

If that happens, the run will transition to the state. Otherwise, the proposed run terminates in the state.

always - in VCS, as commit statuses and pull request comments - please refer to and documentation for the exact details;

through - if set up;

through - if set up;

🌠
here
failed
finished
GitHub
GitLab
Slack notifications
webhooks
tracked branch
tracked branch
push policies
planning
Initializing
plan policies
calculate the delta
stopped by the user
plan policies