Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1924,"height":1297,"updated":"2025-09-15T06:34:44.562Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1921,"height":1294,"updated":"2025-09-15T06:34:44.609Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":2391,"height":1936,"updated":"2025-09-15T06:34:44.683Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1916,"height":1291,"updated":"2025-09-15T06:34:44.733Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1917,"height":1295,"updated":"2025-09-15T06:34:44.831Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1924,"height":1293,"updated":"2025-09-15T06:34:44.883Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1924,"height":1296,"updated":"2025-09-15T06:34:44.955Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":916,"height":993,"updated":"2025-09-15T06:34:45.029Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":946,"height":444,"updated":"2025-09-15T06:34:45.073Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1915,"height":1295,"updated":"2025-09-15T06:34:45.097Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1919,"height":1294,"updated":"2025-09-15T06:34:45.141Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":1920,"height":1295,"updated":"2025-09-15T06:34:45.220Z"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"width":917,"height":987,"updated":"2025-09-15T06:34:45.304Z"}
48 changes: 40 additions & 8 deletions src/pages/docs/platform-hub/index.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,60 @@
---
layout: src/layouts/Default.astro
pubDate: 2025-09-11
modDate: 2025-09-11
modDate: 2025-09-23
title: Platform Hub
subtitle: An overview of Platform Hub
icon: fa-solid fa-landmark
navTitle: Overview
navSection: Platform Hub
description: Platform Hub is a new capability in Octopus that helps platform teams standardize how software is delivered across teams using connected templates and enforceable policies. Together, these features create a governance layer for software delivery, making it easier for platform teams to scale best practices, reduce drift, and deliver with confidence.
navOrder: 110
navOrder: 32
---

[Platform Hub](https://octopus.com/blog/introducing-platform-hub) is a new capability in Octopus that helps platform teams standardize how software is delivered across teams using connected templates and enforceable policies. Together, these features create a governance layer for software delivery, making it easier for platform teams to scale best practices, reduce drift, and deliver with confidence. Our first feature is [Policies](/docs/platform-hub/policies), with more coming soon.
[Platform Hub](https://octopus.com/blog/introducing-platform-hub) is a new capability in Octopus that helps platform teams standardize how software is delivered across teams using connected templates and enforceable policies. Together, these features create a governance layer for software delivery, making it easier for platform teams to scale best practices, reduce drift, and deliver with confidence.

You can create and manage your policies from Platform Hub.
:::div{.warning}
- Policies is currently in Alpha for all Enterprise Tier Customers. The feature is not finished or fully tested, and may change drastically as we iterate and build more functionality.
- Process Templates is in Public Preview for all Enterprise Tier Customers. The feature is mostly complete, and mostly tested. Expect some changes between Public Preview and the Generally Available release.
:::

You can create and manage your process templates and policies from Platform Hub.

- [Policies](/docs/platform-hub/policies) in Octopus are designed to ensure compliance and governance by default, making it easier to enforce pre- and post-deployment controls at scale.
- [Process templates](/docs/platform-hub/process-templates) are reusable sets of deployment steps that can be shared across multiple spaces in Octopus Deploy
- [Policies](/docs/platform-hub/policies) in Octopus are designed to ensure compliance and governance by default, making enforcing pre- and post-deployment controls at scale easier.

To get started, configure your version control, and then follow [our guide](/docs/platform-hub/policies) to create your first policy.
To get started, configure your version control.

:::figure
![The overview page for Platform Hub](/docs/img/platform-hub/platform-hub-overview.png)
:::

:::div{.hint}
We recommend you use a separate Git repository to house your policy files.
This Git repository will be used for all features in Platform Hub.
:::

### Accounts in Platform Hub

You can create and manage accounts in Platform Hub that can be used inside process templates.

You can create the following account types by visiting the **Accounts** area in Platform Hub.

- AWS Accounts
- Azure Accounts
- Google Cloud Account
- Username/Password
- Generic OIDC

To use these accounts inside a process template, you must create a parameter that references these accounts first.

:::figure
![Platform Hub overview screen where Git repository is configured](/docs/img/platform-hub/platform-hub-policies-overview-page.png)
![Accounts in Platform Hub](/docs/img/platform-hub/platform-hub-accounts.png)
:::

### Git Credentials in Platform Hub

You can create and manage Git credentials in Platform Hub by visiting the Git credentials area in the Platform Hub navigation menu. You can use Git credentials inside your process templates by selecting them from a dropdown in the step field that requires them.

:::figure
![Platform Hub Git credentials area](/docs/img/platform-hub/platform-hub-git-credential.png)
:::
20 changes: 20 additions & 0 deletions src/pages/docs/platform-hub/installation-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
layout: src/layouts/Default.astro
pubDate: 2025-09-30
modDate: 2025-09-23
title: Installing the Public Preview of Platform Hub
subtitle: Guide for installing a pre-release version of Octopus server
icon: fa-solid fa-layer-group
navTitle: Installation Guide
navSection: Public Preview Installation Guide
description: Public Preview Installation Guide for Octopus server customers
navOrder: 33
---

## How to install a pre-release version of Octopus server

Self-hosted customers can install a pre-release version of Octopus Server containing Process Templates and Policies from September 30. Please visit this page on September 30 for a download and installation guide.

:::div{.warning}
You should only install a pre-release version of Octopus server if you are comfortable with adopting a feature that isn't fully complete. Any issues or bugs you encounter will **not** be fixed immediately. Please reach out to <sales@octopus.com> for any queries on whether this approach is right for you.
:::
2 changes: 1 addition & 1 deletion src/pages/docs/platform-hub/policies/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ icon: fa-solid fa-lock
navTitle: Examples
navSection: Policies
description: Example code for enforcing policies
navOrder: 112
navOrder: 161
---

There are many different deployment scenarios that you might have that need to be evaluated in order to meet policy conditions. You can use this page as a reference document to help you quickly get started with enforcing policies.
Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/platform-hub/policies/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ icon: fa-solid fa-lock
navTitle: Getting started
navSection: Policies
description: Policies let you enforce standards across your Octopus instance with ease.
navOrder: 111
navOrder: 160
---

Policies in Octopus are designed to ensure compliance and governance by default, making it easier to enforce deployment controls at scale. This approach allows you to shift compliance left, alleviating the burden of manual audits and enabling you to maintain high standards across your organization. With policies, you can enforce organization-wide compliance across teams and regions, moving governance out of Confluence docs and Slack threads and into the heart of your delivery pipeline.
Expand Down
2 changes: 1 addition & 1 deletion src/pages/docs/platform-hub/policies/schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ icon: fa-solid fa-lock
navTitle: Schema for policies
navSection: Policies
description: Schema for policies
navOrder: 113
navOrder: 162
---

## Schema for Policies
Expand Down
204 changes: 204 additions & 0 deletions src/pages/docs/platform-hub/process-templates/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
---
layout: src/layouts/Default.astro
pubDate: 2025-09-23
modDate: 2025-09-23
title: Process templates
subtitle: An overview of Process Templates
icon: fa-solid fa-layer-group
navTitle: Process Templates
navSection: Process Templates
description: An overview of Process Templates
navOrder: 150
---
## Overview

Process templates are reusable sets of deployment steps that can be shared across multiple spaces in Octopus Deploy. Instead of copying and pasting deployment processes across teams and applications, which often leads to configuration drift, unnecessary duplication, and operational debt, you create a single source of truth that any project can consume. By abstracting your best practices for deployments into Process Templates, you make it easy for teams to follow standards and accelerate delivery.

:::div{.warning}
Process Templates is in Public Preview for all Enterprise Tier Customers. The feature is mostly complete, and mostly tested. Expect some changes between Public Preview and the Generally Available release. For Octopus server customers who want Platform Hub please visit the [installation guide](/docs/platform-hub/installation-guide)
:::

To create or manage your process templates, navigate to Platform Hub. If you haven't set up your Git repository, you must do so first before creating a process template. Similarly, if you've already created templates or are joining an existing team, you'll see the existing templates on the template overview.

:::figure
![The Process Templates Overview page where users create process templates](/docs/img/platform-hub/process-template-overview.png)
:::

Before you can define the deployment process for your template, you must create the template first.

1. Navigate to Process Templates in Platform Hub.
2. Give the process template a **NAME** and an optional **DESCRIPTION**
3. Create your process template.

:::figure
![The experience after creating the template with a name and description](/docs/img/platform-hub/process-template-first-creation.png)
:::

You've created your process template; now, define its deployment process.

A deployment process is a set of steps the Octopus Server orchestrates to deploy your software. Each process template has a single deployment process. You can use Octopus's built-in steps to define this process for your process template.

:::figure
![The add step experience for a process template](/docs/img/platform-hub/process-template-add-step.png)
:::

Some steps look different inside a process template. They ask for a parameter rather than allowing you to define a value. These steps ask for a resource that Platform Hub cannot define, such as Worker Pools, and you must define them inside a project. These fields accept parameters so you can define the values the process template needs inside a project.

:::figure
![The run a script step asks for a worker pool parameter instead of a worker pool](/docs/img/platform-hub/process-template-step-example.png)
:::


:::div{.warning}
Our initial release of Process Templates does not include support for custom step templates, community step templates, and a few built-in steps.
:::

Once you have set up a deployment process, you can use it in any space for a deployment or runbook.

## Parameters

Parameters help you easily manage and apply the correct values during a deployment or runbook run that uses a process template. Using parameters, you can use the same process template across your projects and tailor the inputs based on the projects needs.

Process Templates can manage the following as parameters.

- AWS Account
- Azure Account
- Certificate
- Channels
- Checkbox
- Container Feed
- Drop down
- Environments
- Generic OIDC Account
- Google Cloud Account
- Multi-line text box
- Single-line text box
- Target Tags
- Teams
- Tenant Tags
- Username Password Account
- Worker Pool
- A previous step name

To create a parameter, you can navigate to the parameters tab on a process template and add a new parameter.

:::figure
![The parameters section in a process template](/docs/img/platform-hub/process-template-parameters.png)
:::

### Parameter values

You can set an optional default value for these parameters:

- Single-line text
- Multi-line text
- Dropdown
- Checkbox
- AWS Account
- Azure Account
- Generic OIDC Account
- Google Cloud Account
- Username Password Account

You cannot set a default value for these parameters, they must be set inside a project:

- Certificate
- Sensitive
- Worker Pools
- Package
- Previous deployment step name
- Target Tags
- Teams
- Tenant Tags
- Environments
- Container Feed
- Channels

### Parameter scoping

Only Account parameters will allow you to scope them by environments. You can choose to scope them by any environment across your Octopus instance.

:::div{.hint}
When a process template is used inside a project, the project supplied values will take precedence over the process template provided ones for overlapping scopes. This includes unscoped project supplied values. For more information on how the precedence works, please visit the [troubleshooting page](/docs/platform-hub/process-templates/troubleshooting)
:::

:::figure
![The account parameter allowing scoping to environments present across Octopus instance](/docs/img/platform-hub/process-templates-account-scoping.png)
:::


## Saving a Process Template

Once you've finished making changes to your process template you can commit them to save the changes to your Git repository. You can either **Commit** with a description or quick commit without one.

:::figure
![The commit experience for a process template](/docs/img/platform-hub/process-templates-commit-experience.png)
:::

## Publishing a Process Template

Once you've made your changes, you will have to publish the template to reflect the changes you've made. You will have three options to choose from when publishing changes:

- Major changes (breaking)
- Minor changes (non-breaking)
- Patch (bug fixes)

You can also optionally publish a pre-release version, which can be used to test the template.

:::div{.hint}
The first time you publish a template you can only publish a major or pre-release version
:::

Selecting any option increments the version number following Semantic Versioning. For minor or patch updates, projects that accept these changes will automatically upgrade to the newly published version.

:::figure
![Publish experience for a process template](/docs/img/platform-hub/process-templates-publishing.png)
:::

### Pre-releases

If you wish to test your changes before publishing a major, minor, or patch version, you can mark a template as a pre-release version.

:::figure
![Marking a process template as pre-release](/docs/img/platform-hub/process-template-prerelease.png)
:::

## Sharing a template

You must share the process template before it can be consumed by any projects. Process templates can be shared with all current and future spaces, or a select few spaces.

:::hint
Sharing settings can be updated anytime.
:::

![Sharing experience for process templates](/docs/img/platform-hub/process-template-sharing.png)

## A Hello world deployment process in a process template

To define a simple deployment process in Octopus that executes a hello world script on the Octopus Server, complete the following steps:

1. Navigate to **Platform Hub**
2. Add a process template
3. Name the template, for instance, "Hello World", and add an optional description.
4. Add a deployment step.
5. Choose the type of step you'd like to add to filter the available steps.
6. Find the **Run a Script** step and add it to your deployment process.
7. In the Process Editor, give the step a name, for instance "Run a Hello World script".
8. In the Execution Location section use the **Run on the worker pool parameter** option.
9. Create a Worker Pool parameter.
10. Add the Worker Pool parameter to the **Worker Pool** field.
11. Paste the following PowerShell script into the **Inline Source Code** editor:

```powershell
Write-Host "Hello, World!"
```

12. Commit your template.
13. Publish and Share your template.
14. Visit a project, and its deployment process
15. Add Step > Add Process Template
16. Choose the process template you just published
17. Choose the Worker Pool in the parameters tab
18. Add any steps before or after the process template

You can now deploy this process to say "Hello, World!".
Loading