Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release updates: new Stack Settings, Stack Policies and Stack Scheduling #539

Merged
merged 10 commits into from
Jul 10, 2024
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/assets/screenshots/delete-a-stack.png
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file removed docs/assets/screenshots/scheduling/create_task.png
Binary file not shown.
Binary file removed docs/assets/screenshots/spaces-move-stack.png
Binary file not shown.
Binary file removed docs/assets/screenshots/specific_version.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/assets/screenshots/stack_settings_vcs_page.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Binary file removed docs/assets/screenshots/use-worker-pool-module.png
Diff not rendered.
Binary file removed docs/assets/screenshots/use-worker-pool-stack.png
Diff not rendered.
4 changes: 2 additions & 2 deletions docs/concepts/run/run-promotion.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ Promoting a proposed run is triggering a tracked run for the same Git commit.
2. To promote a run, you first need to ensure that you have `Allow run promotion` enabled in the stack settings of your stack(s) in which you'd like to promote runs.

<!-- markdownlint-disable-next-line MD036 -->
**Stack Settings > Behavior > Advanced Options > Allow Run Promotion**
**Stack Settings > Behavior > Allow Run Promotion**

![Enable the Allow run promotion feature within the Spacelift Stack's Settings.](../../assets/screenshots/Screen%20Shot%202022-05-17%20at%201.01.36%20PM.png)
![Enable the Allow run promotion feature within the Spacelift Stack's Settings.](../../assets/screenshots/stack/settings/stack-behavior_run-promotion.png)

#### Promote from Proposed Run View

Expand Down
4 changes: 2 additions & 2 deletions docs/concepts/spaces/moving-a-space-or-an-entity.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Both approaches are valid, but some conditions must be satisfied for the move op

## Moving a Stack

Stacks can be moved to a different space using the **Name** tab in the Stack's settings.
Stacks can be moved to a different space using the **Stack Details** tab in the Stack's settings.

![](<../../assets/screenshots/spaces-move-stack.png>)
![](<../../assets/screenshots/stack/settings/stack-details_spaces-ipunt.png>)

For the move operation to succeed, the stack has to maintain access to any attachable resources it uses (worker pools, contexts, cloud integrations, etc.).

Expand Down
4 changes: 2 additions & 2 deletions docs/concepts/stack/deleting-a-stack.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Deleting a Stack

When you are ready to delete your stack, you can do so by navigating to your stack settings and clicking on the delete button. You will get a warning first to let you know that deleting this stack does not delete any of the resources that this stack manages.
When you are ready to delete your stack, you can do so by navigating to the Stack deletion tab in your stack settings. You will get a choice to keep or delete any of the resources that this stack manages. To delete your stack, type the stack's name into the confirmation box and click on the delete button.

![](<../../assets/screenshots/delete-a-stack.png>)
![](<../../assets/screenshots/stack/settings/stack-deletion_form.png>)

## Deleting Resources Managed by a Stack

Expand Down
5 changes: 3 additions & 2 deletions docs/concepts/stack/drift-detection.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@ In the first scenario, drift is an unwanted by-product of emergencies or broken

Spacelift comes with a built-in mechanism to detect and - optionally - reconcile drift. We do it by periodically executing [proposed runs](../run/proposed.md) on your stable infrastructure (in Spacelift, we generally represent it by the [FINISHED stack state](./README.md#stack-state)) and checking for any changes.

To get started, create a drift detection configuration from the Scheduling section of your stack settings. You will be able to add multiple cron rules to define when your reconciliation jobs should be scheduled, as well as decide whether you want your jobs to trigger [tracked runs](../run/tracked.md) ([reconciliation](drift-detection.md#to-reconcile-or-not-to-reconcile) jobs) in response to detected drift**:**
To get started, create a drift detection configuration from the Scheduling section of your stack. You will be able to add multiple cron rules to define when your reconciliation jobs should be scheduled, as well as decide whether you want your jobs to trigger [tracked runs](../run/tracked.md) ([reconciliation](drift-detection.md#to-reconcile-or-not-to-reconcile) jobs) in response to detected drift**:**

![](../../assets/screenshots/Screenshot 2022-08-08 at 09-43-02 Settings · Test.png)
![](../../assets/screenshots/stack/scheduling/page-view.png)
![](../../assets/screenshots/stack/scheduling/create-drift-detection.png)

!!! info
Note that, at least currently, drift detection only works on private workers.
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/stack/organizing-stacks.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Probably the most useful way of grouping stacks is by attaching folder labels to

...but once you start editing labels, the magic is gone:

![](../../assets/screenshots/Screen Shot 2022-06-29 at 5.22.51 PM.png)
![](../../assets/screenshots/stack/settings/stack-details_set-folder-label.png)

For every folder label, a sidebar section is included in the _Folders_ menu, allowing you to search by that label. The number to the right hand side indicates that number of stacks with that label:

Expand Down
10 changes: 6 additions & 4 deletions docs/concepts/stack/scheduling.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@

Scheduling allows you to trigger a stack deletion or task at a specific time or periodically based on the cron rules defined.

![](../../assets/screenshots/stack/scheduling/page-view.png)

## Scheduled Delete Stack (TTL)

A Delete Stack schedule allows you to delete the stack and (optionally) its resources at the specific timestamp (UNIX timestamp).

Add a schedule with the Delete Stack type from the Scheduling section of your stack settings.
Add a schedule with the Delete Stack type from the Scheduling section of your stack.

Actions when the schedule defines that the resources should be deleted:

Expand All @@ -20,13 +22,13 @@ Actions when the schedule defines that the resources should be deleted:

When the resources should not be deleted, we will delete the stack at the specified time.

![](../../assets/screenshots/scheduling/create_delete_stack.png)
![](../../assets/screenshots/stack/scheduling/create-delete-stack.png)

## Scheduled Task

A scheduled task enables you to run a command at a specific timestamp or periodically based on the cron rules defined.

Add a schedule with the Task type from the Scheduling section of your stack settings.
Add a schedule with the Task type from the Scheduling section of your stack.
After creating this schedule, a task will be triggered with the defined command (at a specific timestamp or periodically based on the cron rules defined).

![](../../assets/screenshots/scheduling/create_task.png)
![](../../assets/screenshots/stack/scheduling/create-task.png)
4 changes: 2 additions & 2 deletions docs/concepts/stack/stack-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ Project root points to the directory within the repo where the project should st

The project globs option allows you to specify files and directories outside of the project root that the stack cares about. In the absence of push policies, any changes made to the project root and any paths specified by project globs will trigger Spacelift runs.

![](../../assets/screenshots/Stack_Settings_Project_Globs.png)
![](../../assets/screenshots/stack/settings/source-code_project-globs.png)

You aren't required to add any project globs if you don't want to, but you have the option to add as many project globs as you want for a stack.

Expand All @@ -253,7 +253,7 @@ As you can see in the example matches, these are the regex rules that you are al

### VCS integration and repository

![](<../../assets/screenshots/stack_settings_vcs_page.png>)
![](<../../assets/screenshots/stack/settings/source-code_vcs-details.png>)

We have two types of integrations types: default and Space-level. Default integrations will be always available for all stacks, however Space-level integrations will be available only for stacks that are in the same Space as the integration or have access to it [via inheritance](../spaces/access-control.md#inheritance). Read more about VCS integrations in the [source control](../../integrations/source-control/README.md) page.

Expand Down
4 changes: 2 additions & 2 deletions docs/concepts/worker-pools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,9 +188,9 @@ These are the recommended server types for the three main cloud providers:

Worker pools must be explicitly attached to [stacks](../stack/README.md) and/or [modules](../../vendors/terraform/module-registry.md) in order to start processing their workloads. This can be done in the Behavior section of stack and module settings:

![Example when editing the existing stack](../../assets/screenshots/use-worker-pool-stack.png)
![Example when editing the existing stack](../../assets/screenshots/stack/settings/stack-behavior_worker-pools.png)

![Example when setting up a new module](<../../assets/screenshots/use-worker-pool-module.png>)
![Example when setting up a new module](<../../assets/screenshots/module/settings/module-behavior_worker-pools.png>)

## Worker Pool Management Views

Expand Down
2 changes: 1 addition & 1 deletion docs/vendors/terraform/external-state-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ You can enable the external access in a couple of ways.

- through the UI

![](../../assets/screenshots/external-state-access-enable.png)
![](../../assets/screenshots/stack/settings/stack-vendor_external-state-access.png)

- using the [Terraform provider](https://registry.terraform.io/providers/spacelift-io/spacelift){: rel="nofollow"}.

Expand Down
4 changes: 2 additions & 2 deletions docs/vendors/terraform/resource-sanitization.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,9 +185,9 @@ As we rely on the sensitive argument in Terraform to determine which of your val

#### When using the Spacelift User Interface

If you're using the Spacelift user interface to create your stacks, you can enable Smart Sanitization in your existing stack settings page under the "Backend" section. If you're creating new stacks it will be an option when you select your Terraform version in our wizard.
If you're using the Spacelift user interface to create your stacks, you can enable Smart Sanitization in your existing stack settings page under the "Vendor" section. If you're creating new stacks it will be an option when you select your Terraform version in our wizard.

![](../../assets/screenshots/terraform-smart-sanitization.png)
![](../../assets/screenshots/stack/settings/stack-vendor_smart-sanitization.png)

#### When creating stacks with the Spacelift Terraform Provider

Expand Down
4 changes: 2 additions & 2 deletions docs/vendors/terraform/version-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ Terraform binaries are neither distributed with Spacelift nor with its [runner D

![](../../assets/screenshots/01DTSRW825FHT2ZGC4TJR3Y3NM_·_End-to-end_testing.png)

There are two ways to tell Spacelift which Terraform version to use. The main one is to set the version directly on the stack. The version can be set in the Backend section of the stack configuration:
There are two ways to tell Spacelift which Terraform version to use. The main one is to set the version directly on the stack. The version can be set in the Vendor section of the stack configuration:

![](../../assets/screenshots/specific_version.png)
![](../../assets/screenshots/stack/settings/stack-vendor_terraform-version.png)

Note that you can either point to a specific version or define a version range, which is particularly useful if you don't want to update your code every time the Terraform version changes. The exact supported syntax options can be found [here](https://github.com/blang/semver#ranges){: rel="nofollow"}.

Expand Down
6 changes: 3 additions & 3 deletions docs/vendors/terraform/workflow-tool.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,13 +122,13 @@ destroy: super-iac destroy -auto-approve -input=false

### Using a custom tool on a Stack/Module

To update your Stack/Module to use a custom workflow tool, edit the _Workflow tool_ setting in the _Backend_ settings:
To update your Stack/Module to use a custom workflow tool, edit the _Workflow tool_ setting in the _Vendor_ settings:

![Workflow tool Stack setting](../../assets/screenshots/terraform-workflow-tool-stack-settings.png)
![Workflow tool Stack setting](../../assets/screenshots/stack/settings/stack-vendor_workflow-tool.png)

When you choose the _Custom_ option, the version selector will disappear:

![Workflow tool Stack setting - no version displayed](../../assets/screenshots/terraform-workflow-tool-stack-settings-no-version.png)
![Workflow tool Stack setting - no version displayed](../../assets/screenshots/stack/settings/stack-vendor_custom-workflow-tool.png)

This is because you are responsible for ensuring that the tool is available to the Run, and Spacelift will not automatically download the tool for you.

Expand Down
Loading