Separate, lower priority drift detection run queue
Instead of the current behavior of drift detection runs being skipped if there are not available workers, it would be nice for there to be a separate queue for drift detection runs. The separate queue would have to be prioritized lower than the planned/tracked runs so that it is never pulled from when there are planned/tracked runs waiting to execute. This prevents users from having to space out drift detection runs evenly during off hours to ensure they all get run. It is both difficult to maintain and initially configure. There are probably many other solutions to the same problem.
💡 Feature Requests
3 days ago
Workers
Separate, lower priority drift detection run queue
Instead of the current behavior of drift detection runs being skipped if there are not available workers, it would be nice for there to be a separate queue for drift detection runs. The separate queue would have to be prioritized lower than the planned/tracked runs so that it is never pulled from when there are planned/tracked runs waiting to execute. This prevents users from having to space out drift detection runs evenly during off hours to ensure they all get run. It is both difficult to maintain and initially configure. There are probably many other solutions to the same problem.
💡 Feature Requests
3 days ago
Workers
Access to Spacelift state backend
We would like Spacelift to support exposing its managed Terraform/OpenTofu HTTP state backend in a way that allows authorised users to run plan and apply locally against the same state backend used by Spacelift-managed stacks. The goal is to support a break-glass operational process where, in exceptional circumstances, we can run Terraform/OpenTofu locally while still using Spacelift as the source of truth for state and locking. Ideally, this would allow local Terraform/OpenTofu runs to: Use the Spacelift-managed state backend directly Respect Spacelift state locking Prevent concurrent Spacelift pipeline runs while local operations are in progress Avoid having to manually reconcile or “fold back in” state changes made outside of Spacelift
💡 Feature Requests
about 1 month ago
OpenTofu
Access to Spacelift state backend
We would like Spacelift to support exposing its managed Terraform/OpenTofu HTTP state backend in a way that allows authorised users to run plan and apply locally against the same state backend used by Spacelift-managed stacks. The goal is to support a break-glass operational process where, in exceptional circumstances, we can run Terraform/OpenTofu locally while still using Spacelift as the source of truth for state and locking. Ideally, this would allow local Terraform/OpenTofu runs to: Use the Spacelift-managed state backend directly Respect Spacelift state locking Prevent concurrent Spacelift pipeline runs while local operations are in progress Avoid having to manually reconcile or “fold back in” state changes made outside of Spacelift
💡 Feature Requests
about 1 month ago
OpenTofu
⬆️ Gathering votes
Allow custom or multiple OPA package names in Spacelift policies
Spacelift currently requires all policies to use the hardcoded package name “spacelift”. This request is to allow users to configure custom package names or support multiple packages per policy.
💡 Feature Requests
15 days ago
⬆️ Gathering votes
Allow custom or multiple OPA package names in Spacelift policies
Spacelift currently requires all policies to use the hardcoded package name “spacelift”. This request is to allow users to configure custom package names or support multiple packages per policy.
💡 Feature Requests
15 days ago
Git Commit Message in Environment Variables
Similar to how the SPACELIFT_COMMIT_BRANCH and SPACELIFT_COMMIT_SHA exist in the plugin execution environment as well as TF_VAR_spacelift_commit_branch / TF_VAR_spacelift_commit_sha, please add a SPACELIFT_COMMIT_MESSAGE / TF_VAR_spacelift_commit_message with the run.commit.message from the VCS webhook when available.
💡 Feature Requests
2 days ago
VCS
Git Commit Message in Environment Variables
Similar to how the SPACELIFT_COMMIT_BRANCH and SPACELIFT_COMMIT_SHA exist in the plugin execution environment as well as TF_VAR_spacelift_commit_branch / TF_VAR_spacelift_commit_sha, please add a SPACELIFT_COMMIT_MESSAGE / TF_VAR_spacelift_commit_message with the run.commit.message from the VCS webhook when available.
💡 Feature Requests
2 days ago
VCS
🔭 Discovery
Support Strict Read-Only Operation Mode on Spacelift/Spacectl MCP
Support read-only operation mode in order to support strict safety/security boundaries around the use of the Spacelift MCP.
💡 Feature Requests
about 2 months ago
Access Control
🔭 Discovery
Support Strict Read-Only Operation Mode on Spacelift/Spacectl MCP
Support read-only operation mode in order to support strict safety/security boundaries around the use of the Spacelift MCP.
💡 Feature Requests
about 2 months ago
Access Control
Gitlab First class integration
Requesting the GitLab integration be expanded to a first class integration similar to how GitHub is treated. Having to manually setup webhooks for each repo is one/or more steps that have to be done manually before stack creation is able to happen.
💡 Feature Requests
10 days ago
Integrations
Gitlab First class integration
Requesting the GitLab integration be expanded to a first class integration similar to how GitHub is treated. Having to manually setup webhooks for each repo is one/or more steps that have to be done manually before stack creation is able to happen.
💡 Feature Requests
10 days ago
Integrations
Include git submodules content in spacelift module
» Spacelift answer Thanks for your patience! the issue is that when Spacelift serves a module via tfr://, it uses GitHub's auto-generated tarballs, which don't include git submodule content. That's why the terraform-aws-apigateway-v2 directory is empty, and why git::ssh:// works fine (it does a real git clone). Unfortunately git submodules aren't supported via the module registry right now. Your best options are: Stick with git::ssh:// for this module Copy the submodule content directly into your repo it's not on the roadmap as far as I know. Feel free to raise it at https://feedback.spacelift.io so the team can track interest. » My answer Is it planned to be implemented? I didn’t want to include submodule content in my repo as it would clutter things and also will be hard to update the submodule after. I wanted to have clear line between my repo and the submodule repo. » Spacelift answer Given you want to keep a clean separation, the best workaround at this point would be publishing terraform-aws-apigateway-v2 as its own module in the Spacelift registry and referencing it as a separate source instead of a git submodule. » My answer Yes but this is rather workaround, because then I need to update my fork, publish new spacelift module version and then update my terraform-apigw-v2 module and second time publish another version. With submodules I update with git submodule -q foreach git pull -q origin master and publish version terraform-apigw-v2. So it is one step less. I also try to avoid nested dependencies on our modules as it already proved to be time consuming and bad practice. Dependency on external module didn’t cause us trouble yet.
💡 Feature Requests
1 day ago
Include git submodules content in spacelift module
» Spacelift answer Thanks for your patience! the issue is that when Spacelift serves a module via tfr://, it uses GitHub's auto-generated tarballs, which don't include git submodule content. That's why the terraform-aws-apigateway-v2 directory is empty, and why git::ssh:// works fine (it does a real git clone). Unfortunately git submodules aren't supported via the module registry right now. Your best options are: Stick with git::ssh:// for this module Copy the submodule content directly into your repo it's not on the roadmap as far as I know. Feel free to raise it at https://feedback.spacelift.io so the team can track interest. » My answer Is it planned to be implemented? I didn’t want to include submodule content in my repo as it would clutter things and also will be hard to update the submodule after. I wanted to have clear line between my repo and the submodule repo. » Spacelift answer Given you want to keep a clean separation, the best workaround at this point would be publishing terraform-aws-apigateway-v2 as its own module in the Spacelift registry and referencing it as a separate source instead of a git submodule. » My answer Yes but this is rather workaround, because then I need to update my fork, publish new spacelift module version and then update my terraform-apigw-v2 module and second time publish another version. With submodules I update with git submodule -q foreach git pull -q origin master and publish version terraform-apigw-v2. So it is one step less. I also try to avoid nested dependencies on our modules as it already proved to be time consuming and bad practice. Dependency on external module didn’t cause us trouble yet.
💡 Feature Requests
1 day ago
Conditional enablement of stacks within templates
We would like the ability to conditionally enable or disable stacks defined in a template based on input values. A common use case is selectively deploying optional components, for example via a boolean input such as enable_service_x. When set to false, the corresponding stack should not be created or executed. This becomes particularly important in templates that define multiple related stacks, where some components are optional depending on environment, tenant, or feature flags. Expected behaviour: Stacks can be conditionally included or excluded based on template inputs. Disabled stacks are treated as if they do not exist for that run. Any dependencies referencing a disabled stack are ignored rather than causing errors. The dependency graph is resolved dynamically after conditions are evaluated.
💡 Feature Requests
about 2 months ago
Stacks
Conditional enablement of stacks within templates
We would like the ability to conditionally enable or disable stacks defined in a template based on input values. A common use case is selectively deploying optional components, for example via a boolean input such as enable_service_x. When set to false, the corresponding stack should not be created or executed. This becomes particularly important in templates that define multiple related stacks, where some components are optional depending on environment, tenant, or feature flags. Expected behaviour: Stacks can be conditionally included or excluded based on template inputs. Disabled stacks are treated as if they do not exist for that run. Any dependencies referencing a disabled stack are ignored rather than causing errors. The dependency graph is resolved dynamically after conditions are evaluated.
💡 Feature Requests
about 2 months ago
Stacks
⬆️ Gathering votes
Native Markdown image support
If you have a module that references a local image from it’s repo in it’s README, when the module gets published to Spacelift the link it broken. The workaround is to publicly host and expose images so they’re available to Spacelift. I’d like to request a feature that renders markdown and README files the same in Spacelift as they are in GitHub so we don’t need to develop a new process (and with maintenance and overhead) for exposing things like architecture diagrams publicly.
💡 Feature Requests
25 days ago
UI/UX
⬆️ Gathering votes
Native Markdown image support
If you have a module that references a local image from it’s repo in it’s README, when the module gets published to Spacelift the link it broken. The workaround is to publicly host and expose images so they’re available to Spacelift. I’d like to request a feature that renders markdown and README files the same in Spacelift as they are in GitHub so we don’t need to develop a new process (and with maintenance and overhead) for exposing things like architecture diagrams publicly.
💡 Feature Requests
25 days ago
UI/UX
Module Registry Last Pulled Data
It would be useful if we could see the last pulled date/time for a module - we want to keep on top of stale modules, and some data around their user would be handy.
💡 Feature Requests
2 days ago
Module Registry Last Pulled Data
It would be useful if we could see the last pulled date/time for a module - we want to keep on top of stale modules, and some data around their user would be handy.
💡 Feature Requests
2 days ago
⬆️ Gathering votes
Codeberg Intergration
In order to support sovereign European code repositories without losing some of the quality of life features that GitHub and Gitlab provide via the integration, we would like a fully fledged Codeberg integration with Spacelift, or the option to write our own.
💡 Feature Requests
about 1 month ago
VCS
⬆️ Gathering votes
Codeberg Intergration
In order to support sovereign European code repositories without losing some of the quality of life features that GitHub and Gitlab provide via the integration, we would like a fully fledged Codeberg integration with Spacelift, or the option to write our own.
💡 Feature Requests
about 1 month ago
VCS
Templates without pinned VCS commits
Each published template version is pinned to a specific VCS commit from: https://docs.spacelift.io/concepts/template We would like to request that you can toggle between PINNED and UPINNED VCS commits on Templates. Our use case for templates is different than intended. We would like the template feature to help create mulitple identical stacks but with the same characteristics as manually created stacks.
💡 Feature Requests
4 days ago
VCS
Templates without pinned VCS commits
Each published template version is pinned to a specific VCS commit from: https://docs.spacelift.io/concepts/template We would like to request that you can toggle between PINNED and UPINNED VCS commits on Templates. Our use case for templates is different than intended. We would like the template feature to help create mulitple identical stacks but with the same characteristics as manually created stacks.
💡 Feature Requests
4 days ago
VCS
RBAC for Protect from deletion
As a administrator I would like to grant users the ability to toggle on/off Protect from deletion on a stack without having to grant SPACE_ADMIN privileges
💡 Feature Requests
5 days ago
Access Control
RBAC for Protect from deletion
As a administrator I would like to grant users the ability to toggle on/off Protect from deletion on a stack without having to grant SPACE_ADMIN privileges
💡 Feature Requests
5 days ago
Access Control
Worker Pool Assignment Based on Run Type (PROPOSED vs TRACKED)
Requested Solution Add support for routing runs to different worker pools based on run type. The most common use case is: PROPOSED (PR previews) → public worker pool TRACKED (main branch deploys) → private worker pool This could be implemented as a new policy type (e.g. WORKER_POOL) or as a per-stack configuration with two fields: worker_pool_proposed and worker_pool_tracked. Use Case Organizations on plans with a limited number of private workers want to use them efficiently. Private workers are ideal for tracked runs — they cache Docker layers and run on faster hardware. PR previews (proposed runs), however, are frequent and short-lived, making the public fleet a better fit for them. Today, worker pool assignment is stack-level only. Setting a private pool on a stack routes all runs — both proposed and tracked — to that pool, consuming the private worker even for PR previews. This forces a choice: either waste private worker capacity on previews, or don't use the private pool at all.
💡 Feature Requests
about 1 month ago
Workers
Worker Pool Assignment Based on Run Type (PROPOSED vs TRACKED)
Requested Solution Add support for routing runs to different worker pools based on run type. The most common use case is: PROPOSED (PR previews) → public worker pool TRACKED (main branch deploys) → private worker pool This could be implemented as a new policy type (e.g. WORKER_POOL) or as a per-stack configuration with two fields: worker_pool_proposed and worker_pool_tracked. Use Case Organizations on plans with a limited number of private workers want to use them efficiently. Private workers are ideal for tracked runs — they cache Docker layers and run on faster hardware. PR previews (proposed runs), however, are frequent and short-lived, making the public fleet a better fit for them. Today, worker pool assignment is stack-level only. Setting a private pool on a stack routes all runs — both proposed and tracked — to that pool, consuming the private worker even for PR previews. This forces a choice: either waste private worker capacity on previews, or don't use the private pool at all.
💡 Feature Requests
about 1 month ago
Workers
⬆️ Gathering votes
Browser notifications
It would be nice to have Spacelift automatically send browser desktop notifications when actions complete if you have a stack or a run open in a tab. For example, if I open the page for a run, it would be nice to see a desktop notification when the plan is finished and it’s ready for approval. Or it would be nice to see a notification when the tracked run / apply completes.
💡 Feature Requests
22 days ago
⬆️ Gathering votes
Browser notifications
It would be nice to have Spacelift automatically send browser desktop notifications when actions complete if you have a stack or a run open in a tab. For example, if I open the page for a run, it would be nice to see a desktop notification when the plan is finished and it’s ready for approval. Or it would be nice to see a notification when the tracked run / apply completes.
💡 Feature Requests
22 days ago
Terrform spacelift_mounted_file sopport for Ephemeral resources
Hi folks, There is a new feature for terraform that support ephemeral resources which don’t store the secret content on terraform state, so I woul like to request the spacelift_mounted_file and spacelift_environment_variable to support it. https://registry.terraform.io/providers/hashicorp/vault/latest/docs/ephemeral-resources/kv_secret_v2 Best, Marcelo
💡 Feature Requests
23 days ago
Terrform spacelift_mounted_file sopport for Ephemeral resources
Hi folks, There is a new feature for terraform that support ephemeral resources which don’t store the secret content on terraform state, so I woul like to request the spacelift_mounted_file and spacelift_environment_variable to support it. https://registry.terraform.io/providers/hashicorp/vault/latest/docs/ephemeral-resources/kv_secret_v2 Best, Marcelo
💡 Feature Requests
23 days ago
ServiceNow Integration
Whenever a blueprint is updated, the integration (servicenow) needs to be unattached, thus wiping any servicenow processes’ and would need to be rebuilt for the/updated new blueprint. When the integration is attached, the catalog is auto created at v1.0.0. Is there a way a new version could be pushed when blueprint is updated instead of just deploying a new catalog each time.
💡 Feature Requests
9 days ago
ServiceNow Integration
Whenever a blueprint is updated, the integration (servicenow) needs to be unattached, thus wiping any servicenow processes’ and would need to be rebuilt for the/updated new blueprint. When the integration is attached, the catalog is auto created at v1.0.0. Is there a way a new version could be pushed when blueprint is updated instead of just deploying a new catalog each time.
💡 Feature Requests
9 days ago
Template Servicenow Integration attachment Option
Similarly how we can attach the servicenow integration to blueprints, it would be nice to attach integrations (specifically ServiceNow in my case) to templates
💡 Feature Requests
9 days ago
Template Servicenow Integration attachment Option
Similarly how we can attach the servicenow integration to blueprints, it would be nice to attach integrations (specifically ServiceNow in my case) to templates
💡 Feature Requests
9 days ago
Blueprint UI Similar to Templates Marketplace
Propose a UI re-work to make the Blueprints screen similar in style as the templates market place. I love the new template’s market place as a way to create a self-service for our developers but the feedback from them is that the blueprints UI could use the same overhaul, or even combined into one cohesive UI element. Then the engineer/developer is able to decide which type of deployment they want to create, a blueprint or a template.
💡 Feature Requests
11 days ago
Blueprints
Blueprint UI Similar to Templates Marketplace
Propose a UI re-work to make the Blueprints screen similar in style as the templates market place. I love the new template’s market place as a way to create a self-service for our developers but the feedback from them is that the blueprints UI could use the same overhaul, or even combined into one cohesive UI element. Then the engineer/developer is able to decide which type of deployment they want to create, a blueprint or a template.
💡 Feature Requests
11 days ago
Blueprints