Skip to content

Commit

Permalink
Merge pull request #2628 from OctopusDeploy/cat/103829/deleting-envs-…
Browse files Browse the repository at this point in the history
…required-by-cac

Document need for care when deleting resources used by Git Runbooks
  • Loading branch information
steve-fenton-octopus authored Feb 18, 2025
2 parents 6a7bcb1 + 06429d8 commit f62bfa0
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 11 deletions.
6 changes: 5 additions & 1 deletion src/pages/docs/infrastructure/environments/index.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2023-01-01
modDate: 2024-04-30
modDate: 2025-02-18
title: Environments
description: Environments are how you group your deployment targets so you can promote your software through different phases, for instance, into Development, then Test, and finally into Production.
navOrder: 20
Expand Down Expand Up @@ -64,6 +64,10 @@ This will let you search by:
- Health Status
- Communication style

## Removing environments

For projects using Config as Code, it's up to you to take care to avoid deleting any environments required by your deployments or runbooks. See our [core design decisions](/docs/projects/version-control/unsupported-config-as-code-scenarios#core-design-decision) for more information.

## Learn more

Learn how to add and manage your [deployment targets](/docs/infrastructure/deployment-targets).
6 changes: 5 additions & 1 deletion src/pages/docs/infrastructure/workers/worker-pools.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2023-01-01
modDate: 2023-11-17
modDate: 2025-02-18
title: Worker pools
description: Worker pools are used to group workers and allow targeting steps at the pool of workers best equipped to execute the step. This page describes how to configure worker pools for a variety of scenarios.
navOrder: 40
Expand Down Expand Up @@ -91,6 +91,10 @@ When a step is run on a worker, the following variables are available:
| **`Octopus.WorkerPool.Id`** <br/> The Id of the pool | WorkerPools-1 |
| **`Octopus.WorkerPool.Name`** <br/> The name of the pool | Default Worker Pool |

## Removing worker pools

For projects using Config as Code, it's up to you to take care to avoid deleting any worker pools required by your deployments or runbooks. See our [core design decisions](/docs/projects/version-control/unsupported-config-as-code-scenarios#core-design-decision) for more information.

## Workers Q&A

*I've added only a single worker to the default pool, won't that machine get overworked?*
Expand Down
6 changes: 5 additions & 1 deletion src/pages/docs/projects/custom-step-templates.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2023-01-01
modDate: 2024-08-27
modDate: 2025-02-18
title: Custom step templates
icon: fa-solid fa-shapes
description: How to create reusable steps
Expand Down Expand Up @@ -120,6 +120,10 @@ All steps have a name, which is used to identify the step.
Be careful when changing names. Octopus commonly uses names as a convenient identity or handle to things, and the steps and actions in a deployment process are special in that way. For example, you can use [output variables](/docs/projects/variables/output-variables) to chain steps together, and you use the name as the indexer for the output variable. E.g. `#{Octopus.Action[StepA].Output.TestResult}`
:::

## Removing step templates

For projects using Config as Code, it's up to you to take care to avoid deleting any step templates required by your deployments or runbooks. See our [core design decisions](/docs/projects/version-control/unsupported-config-as-code-scenarios#core-design-decision) for more information.

## Learn more

- [Blog: Creating an Octopus Deploy step template](https://octopus.com/blog/creating-an-octopus-deploy-step-template)
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2023-01-01
modDate: 2024-12-16
modDate: 2025-02-18
title: Unsupported Configuration as Code Scenarios
description: Unsupported scenarios for the Configuration as Code feature in Octopus Deploy.
icon: fa-brands fa-git-alt
Expand All @@ -26,7 +26,7 @@ That scaffolding data includes (but is not limited to):
That data is not stored in source control because it is shared across multiple projects.

:::div{.warning}
An error will occur when Octopus Deploy attempts to load a process from source control with one or more of those items missing. You'll be unable to create releases until those errors are resolved.
An error will occur when Octopus Deploy attempts to load a process from source control with one or more of those items missing. You'll be unable to create releases or access runbooks until those errors are resolved.
:::

## Syncing multiple instances
Expand Down
8 changes: 6 additions & 2 deletions src/pages/docs/releases/channels/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2023-01-01
modDate: 2024-08-28
modDate: 2025-02-18
title: Channels
icon: fa-solid fa-arrows-split-up-and-left
description: Channels allow you to dynamically change the deployment logic and lifecycle of a project based on the version being deployed.
Expand Down Expand Up @@ -244,4 +244,8 @@ Setting this to `Treat independently from other channels` will cause:

The image below shows an example dashboard with discrete channel release enabled:

![Discrete channel releases on dashboard](/docs/releases/channels/images/discrete-channels-dashboard.png)
![Discrete channel releases on dashboard](/docs/releases/channels/images/discrete-channels-dashboard.png)

## Removing channels

For projects using Config as Code, it's up to you to take care to avoid deleting any channels required by your deployments. See our [core design decisions](/docs/projects/version-control/unsupported-config-as-code-scenarios#core-design-decision) for more information.
8 changes: 6 additions & 2 deletions src/pages/docs/releases/lifecycles/index.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2023-01-01
modDate: 2024-08-29
modDate: 2025-02-18
title: Lifecycles
description: Lifecycles allow you to control the way releases are promoted between environments.
icon: fa-solid fa-arrows-spin
Expand Down Expand Up @@ -184,11 +184,15 @@ It typically consists of just one phase and one environment, also called Mainten
![Maintenance lifecycle](/docs/releases/lifecycles/images/maintenance-lifecycle.png "width=500")
:::

## Removing lifecycles

For projects using Config as Code, it's up to you to take care to avoid deleting any lifecycles required by your deployments. See our [core design decisions](/docs/projects/version-control/unsupported-config-as-code-scenarios#core-design-decision) for more information.

## Recommendations \{#lifecycle-recommendations}

When configuring your lifecycles, here are some tips to consider:

- Update the default lifecycle to define the phases you need. This makes configuring and maintaining your Octopus Server easier.
- Keep the number of environments under ten to keep the phases added by the default lifecycle low.
- Create a lifecycle for any projects which need a different promotion flow between environments. Remember to define phases for the lifecycle.
- Set specific retention policies for your lifecycles. This will prevent keeping releases and files forever, reducing disk and database usage.
- Set specific retention policies for your lifecycles. This will prevent keeping releases and files forever, reducing disk and database usage.
8 changes: 7 additions & 1 deletion src/pages/docs/runbooks/config-as-code-runbooks.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2024-11-24
modDate: 2024-11-24
modDate: 2025-02-18
title: Config as Code runbooks
description: Details about using configuration as code with runbooks.
navOrder: 20
Expand Down Expand Up @@ -87,3 +87,9 @@ The information that was previously found on the **Snapshot** page is still avai
If you use automated scripts that run runbooks via the Octopus Server API and you convert your runbooks to Config As Code the URL for the runbook will change to include a branch reference (e.g. `refs/heads/main`) as a result you need to update your scripts to include the branch reference where the runbook is stored.

- [PowerShell example](https://github.com/OctopusDeploy/OctopusDeploy-Api/blob/master/REST/PowerShell/Runbooks/RunConfigAsCodeRunbook.ps1)

## Deleting required resources

Once your Runbooks are version controlled, it's up to you to take care to avoid deleting any Octopus resources required by your Runbooks. See our [core design decisions](/docs/projects/version-control/unsupported-config-as-code-scenarios#core-design-decision) for more information.


4 changes: 3 additions & 1 deletion src/pages/docs/tenants/tenant-tags.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: src/layouts/Default.astro
pubDate: 2023-01-01
modDate: 2024-08-30
modDate: 2025-02-18
title: Tenant tags
icon: fa-solid fa-tags
description: Tenant Tags help you to classify your tenants with custom tags so you can tailor your tenanted deployments accordingly.
Expand Down Expand Up @@ -62,6 +62,8 @@ This example of configuring a tenanted deployment target shows how the tenant fi

If tenant tags are tied to specific tenants, included in project/runbook release [variable snapshots](/docs/releases#variable-snapshot) (via project/variable sets), or captured in published runbooks, you will not be able to delete the relevant tag(s) until these associations are removed (by removing these from the tenant, deleting the associated release(s), or deleting published runbook snapshot(s)). Alternatively, in the case of release variable snapshots and assuming you've removed the tenant tag(s) association in the underlying project/variable set, you can update the variable snapshot that is associated with the release(s) to remove this association.

For projects using Config as Code, there are fewer guardrails in place. It's up to you to take care to avoid deleting any tenant tags required by your deployments. See our [core design decisions](/docs/projects/version-control/unsupported-config-as-code-scenarios#core-design-decision) for more information.

## Tag-based filters {#tag-based-filters}

Once you have defined some tag sets and tags you can start leveraging those tags to tailor your environments and deployments.
Expand Down

0 comments on commit f62bfa0

Please sign in to comment.