Feature Requests

Got an idea for a feature request? Let us know! Share your ideas on improving existing features or suggest something new. Vote on ideas you find useful!

Make sure to read our guidelines before posting πŸ“–

⬆️ Gathering votes

Support Automated Private Worker Pool Key Rotation

Description: There is currently no way to automate private worker pool key rotation in Spacelift. The only available mechanism is a manual reset via the console (Manage Organization β†’ Worker Pools β†’ Reset), which immediately disconnects all workers and requires a planned maintenance window. Request: Provide an API or automated mechanism to rotate private worker pool keys without requiring full worker disconnection, enabling teams to rotate on a regular cadence (e.g. 90 days) without manual intervention or downtime. Desired outcome: API-driven key rotation support Graceful worker reconnection (no hard disconnect/maintenance window required) Ability to integrate rotation into existing secret management pipelines (e.g. Azure Key Vault)

πŸ’‘ Feature Requests

20 days ago

⬆️ Gathering votes

The ability to see `triggered_by` for the entire dependency chain.

Currently when making any policy and a stack is triggered by another stack you only see one triggered_by. If you have more than one layer of apps that depend on the very first stack needing an approval, and you want to auto-approve the dependent stack there isn’t a clean way to say if it was triggered by this job since the triggered_by won’t have any information on what the root stack is. The ask is similar to https://feedback.spacelift.io/p/include-the-runid-of-an-upstream-stack-and-any-other but just always for triggerred_by. Where currently run_id is recursive and you can use the OPA walk function to get the data.

πŸ’‘ Feature Requests

8 days ago

1

⬆️ Gathering votes

Attach roles to spaces for child stacks to inherit

We have 200+ stacks that are set up in the pattern of spaces below. They need to have a common role attached to them and currently we have to attach the role to the stacks separately; this is easy enough to do but it does add 200+ role_attachment resources to our metadata stack. As we scale this pattern out to other roles and stacks spacelift runs will slow down due to large numbers of resources in opentofu. - parent <-- have role here - child_space1 - space_with_stacks_in <-- use role here - child_space2 - space_with_stacks_in <-- use role here Proposed solutions Allow roles to be attached to a space and child stacks inherit it Allow roles to be autoattach: in a similar way that rego policies can be

πŸ’‘ Feature Requests

23 days ago

1

πŸ”­ Discovery

Provider registry silently drops docs/functions/ β€” provider-defined functions have no documentation category

The private provider registry ingests only overview, resource and data source documentation. Pages under docs/functions/ β€” the standard layout emitted by HashiCorp's own tfplugindocs β€” are discarded on upload with no error or warning, so providers that ship functions have no documentation in the registry UI beyond their overview page. To reproduce 1. Publish a provider whose docs/ contains index.md and functions/.md 2. spacectl provider upload-docs --version --docs-archive docs.tgz β†’ exits 0 3. Query docs { files { key type } } β†’ only docs/index.md is present

πŸ’‘ Feature Requests

3 days ago

⬆️ Gathering votes

Expose plan warnings/diagnostics in the plan policy input

Expose plan-phase diagnostics to policy. Preferred shape: input.terraform.diagnostics[] in the plan policy input, each entry carrying severity, summary, detail, address (when resource-scoped), and source range (filename + line). That shape is the most useful because a plan policy could then act on warnings and set run flags β€” which notification policies already read via input.run_updated.run.flags. Workable alternative: write them into the workspace before after_plan hooks run, e.g. spacelift.diagnostics.json beside spacelift.plan. Either one solves it; we don't need both. This is data OpenTofu/Terraform already emit β€” "plan -json" produces exactly these fields as {"@level":"warn","diagnostic":{...}}. Nothing new needs computing, it just isn't captured anywhere reachable.

πŸ’‘ Feature Requests

28 days ago

AWS RDS IAM Auth

Spacelift self-hosted deployment uses a static RDS master password. Best practices and compliance requirements call for DB credentials to be regularly rotated, which AWS supports out of the box for Aurora clusters: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html Even better, AWS RDS/Aurora supports IAM database authentication, which uses short-lived (15-minute) authentication tokens instead of a stored password, and can be used together with master password rotation: Master password rotated regularly via AWS Secrets Manager, and used only for administrative/break-glass access Spacelift connects to the database for normal operation via a dedicated database user authenticated with IAM auth tokens, so no static password is used on the application's connection path Note: the module already sets iam_database_authentication_enabled = true on the aws_rds_cluster resource, so the AWS-side prerequisite for IAM auth is already in place. Can Spacelift backend be configured to generate/use IAM auth tokens for their connections rather than a password?

πŸ’‘ Feature Requests

16 days ago