diff --git a/src/pages/docs/platform-hub/index.md b/src/pages/docs/platform-hub/index.md index 5163232bab..1f7c508347 100644 --- a/src/pages/docs/platform-hub/index.md +++ b/src/pages/docs/platform-hub/index.md @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2025-09-11 -modDate: 2025-09-23 +modDate: 2025-11-20 title: Platform Hub subtitle: An overview of Platform Hub icon: fa-solid fa-landmark @@ -13,16 +13,16 @@ 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. -:::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. - [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. +:::div{.hint} +To access Platform Hub users must have **PlatformHubEdit** and **PlatformHubView** permissions enabled. These permissions can only be assigned to system teams. +[System administrators](/docs/security/users-and-teams/default-permissions#DefaultPermissions-SystemAdministrator) and [system managers](/docs/security/users-and-teams/default-permissions#DefaultPermissions-SystemManager) have **PlatformHubEdit** and **PlatformHubView** permissions enabled by default. +::: + To get started, configure your version control. :::figure diff --git a/src/pages/docs/platform-hub/installation-guide.md b/src/pages/docs/platform-hub/installation-guide.md deleted file mode 100644 index 44d06af1be..0000000000 --- a/src/pages/docs/platform-hub/installation-guide.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: src/layouts/Default.astro -pubDate: 2025-09-30 -modDate: 2025-10-08 -title: Installing the Public Preview of Platform Hub -subtitle: Guide for installing a Public Preview 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 Public Preview version of Octopus server - -Self-hosted customers can install a Public Preview version of Octopus Server containing Process Templates and Policies. - -:::div{.warning} -You should only install a Public Preview version of Octopus server if you are comfortable adopting a feature before it’s fully complete. Any issues or bugs you encounter will **not** be fixed immediately. Please contact with any queries about whether this approach is right for you. -::: -1. You can download the Public Preview version of Octopus server via a direct link or by pulling a Docker image. -- If you are running Octopus on Windows, you can download this [server release](https://g.octopushq.com/platform-hub-preview-download). -- If you are running Octopus on Linux, you can download this [Docker image](https://g.octopushq.com/platform-hub-preview-dockerhub-download). - -2. After downloading, you can upgrade your Octopus instance with our [upgrading guide](/docs/administration/upgrading). -3. You should now see the Platform Hub icon in your instance. -:::div{.hint} -Users must have **PlatformHubEdit** and **PlatformHubView** permissions enabled to access Platform Hub. These permissions can only be assigned to system teams. By default, system administrators and system managers will have **PlatformHubEdit** and **PlatformHubView** permissions enabled. -::: diff --git a/src/pages/docs/platform-hub/process-templates/index.md b/src/pages/docs/platform-hub/process-templates/index.md index 0b6e77f9e6..8b2bc1744d 100644 --- a/src/pages/docs/platform-hub/process-templates/index.md +++ b/src/pages/docs/platform-hub/process-templates/index.md @@ -1,11 +1,11 @@ --- layout: src/layouts/Default.astro pubDate: 2025-09-23 -modDate: 2025-10-21 +modDate: 2025-11-20 title: Process templates subtitle: An overview of Process Templates icon: fa-solid fa-layer-group -navTitle: Process Templates +navTitle: Overview navSection: Process Templates description: An overview of Process Templates navOrder: 150 @@ -14,10 +14,6 @@ navOrder: 150 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 @@ -167,7 +163,7 @@ If you wish to test your changes before publishing a major, minor, or patch vers 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 +:::div{.hint} Sharing settings can be updated anytime. ::: @@ -200,4 +196,4 @@ Write-Host "Hello, World!" 16. Choose the Worker Pool in the parameters tab 17. Add any steps before or after the process template -You can now deploy this process to say "Hello, World!". +You can now deploy this process to say "Hello, World!". \ No newline at end of file diff --git a/src/pages/docs/platform-hub/process-templates/troubleshooting.md b/src/pages/docs/platform-hub/process-templates/troubleshooting.md index eb89ca0a8c..b517ef29d7 100644 --- a/src/pages/docs/platform-hub/process-templates/troubleshooting.md +++ b/src/pages/docs/platform-hub/process-templates/troubleshooting.md @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2025-09-23 -modDate: 2025-10-21 +modDate: 2025-11-20 title: Troubleshooting subtitle: Known issues that you may run into icon: fa-solid fa-layer-group @@ -15,10 +15,6 @@ navOrder: 151 You may run into a few issues when setting up your process templates. We've put together this page to help you diagnose and fix common issues. -:::div{.warning} -Process Templates is in Public Preview for all Enterprise Tier Customers. Below are known limitations with the public preview. -::: - ### Step support Process templates currently supports most Octopus steps. It currently doesn't support the following: @@ -146,12 +142,16 @@ Platform Hub accounts cannot be used in the following situations: ### Public API -We do not currently have support for creating or managing process templates through the API, CLI or the Terraform provider. +Process templates can be created and managed through our [public API](/docs/octopus-rest-api). -- Process templates are stored as code in the configured Git repository. The OCL files store all relevant information about the template - including the parameters, the steps, name, description and other settings. +- Process templates are stored as code in the configured Git repository. The OCL files store all relevant information about the template - including the parameters, the steps, name, description and other settings. - The published versions and Spaces configured are stored and managed via the database. -We recommend all users use the Octopus Deploy UI to manage process templates during the public preview. Any processes or workflows you build outside of the Octopus Deploy UI is subject to change and without warning. +:::div{.warning} +We do not currently support creating or managing process templates through the CLI or the Terraform provider. +::: + +See [CreateProcessTemplateUsageStep](https://github.com/OctopusDeploy/OctopusDeploy-Api/blob/master/Octopus.Client/Csharp/DeploymentProcesses/CreateProcessTemplateUsageStep.cs) for an example of how to configure a process template on a deployment process using [Octopus.Client](/docs/octopus-rest-api/octopus.client). ### GitHub Connections @@ -174,3 +174,72 @@ Process templates and all Platform Hub features are restricted to customers who - Process templates cannot be modified inside a project. - Process templates will no longer receive updates and automatically roll forward to a later version. - Projects that contain process templates cannot be cloned until the process template is removed. + +### Output Variables + +To reference output variables from process template steps, add `.ProcessTemplate` to the standard output variable syntax. + +When referencing an output variable in a step **inside a process template**, use the format: + +``` +Octopus.ProcessTemplate.Action[StepName].Output.PropertyName +``` + +
+ +When referencing an output variable in a step **outside a process template**, include the name of the process template usage step as it appears in the project. + +``` +Octopus.ProcessTemplate[ProcessTemplateUsageStepName].Action[StepName].Output.PropertyName +``` + +#### Example +Consider a process template named **Build and Create Web App** containing a step that runs a script and publishes an output variable `FilePath`: + +``` +name = "Build and Create Web App" +description = "" + +step "run-a-script" { + name = "Collect Details" + + action { + action_type = "Octopus.Script" + ... + } + ... +} +``` + +Reference the variable from another step **inside** the process template using: + +``` +Octopus.ProcessTemplate.Action[Collect Details].Output.FilePath +``` + +
+ +When this process template is used in a project with a process template usage step named **Create Web App**: + +``` +process_template "run-a-process-template" { + name = "Create Web App" + process_template_slug = "build-and-create-web-app" + version_mask = "1.X" + + parameter "linux worker" { + value = "WorkerPools-1" + } + ... +} +``` + +Reference the variable from any other step in the process, which is **outside** the process template, using: + +``` +Octopus.ProcessTemplate[Create Web App].Action[Collect Details].Output.FilePath +``` + +:::div{.hint} +Use the name of the process template usage step from the project, not the name of the process template itself, when referencing output variables outside a process template. +::: \ No newline at end of file diff --git a/src/pages/docs/security/users-and-teams/default-permissions.md b/src/pages/docs/security/users-and-teams/default-permissions.md index 3984425f91..91ffadde6c 100644 --- a/src/pages/docs/security/users-and-teams/default-permissions.md +++ b/src/pages/docs/security/users-and-teams/default-permissions.md @@ -1,7 +1,7 @@ --- layout: src/layouts/Default.astro pubDate: 2023-01-01 -modDate: 2024-11-26 +modDate: 2025-11-20 title: Default permissions for built-in user roles description: A listing of the default permissions for each of the built-in user roles. --- @@ -575,56 +575,60 @@ description: A listing of the default permissions for each of the built-in user ## System Administrator {#DefaultPermissions-SystemAdministrator} -| System Permission | Description | -| --------------------------- | ---------------------------------------- | -| AdministerSystem | Perform system-level functions like configuring HTTP web hosting, the public URL, server nodes, maintenance mode, and server diagnostics | -| ConfigureServer | Configure server settings like Authentication, SMTP, and HTTP Security Headers | -| EventRetentionDelete | Delete archived event files | -| EventRetentionView | View/list archived event files | -| EventView | View Events, including access to the Audit screen | -| SpaceCreate | Create spaces | -| SpaceDelete | Delete spaces | -| SpaceEdit | Edit spaces | -| SpaceView | View spaces | -| TaskCancel | Cancel server tasks | -| TaskCreate | Explicitly create (run) server tasks | -| TaskEdit | Edit server tasks | -| TaskView | View summary-level information associated with a task | -| TeamCreate | Create teams | -| TeamDelete | Delete teams | -| TeamEdit | Edit teams | -| TeamView | View teams | -| UserEdit | Edit users | -| UserInvite | Invite users to register accounts | -| UserRoleEdit | Edit user role definitions | -| UserRoleView | View other user's roles | -| UserView | View users | +| System Permission | Description | +|----------------------|------------------------------------------------------------------------------------------------------------------------------------------| +| AdministerSystem | Perform system-level functions like configuring HTTP web hosting, the public URL, server nodes, maintenance mode, and server diagnostics | +| ConfigureServer | Configure server settings like Authentication, SMTP, and HTTP Security Headers | +| EventRetentionDelete | Delete archived event files | +| EventRetentionView | View/list archived event files | +| EventView | View Events, including access to the Audit screen | +| PlatformHubEdit | Edit Platform Hub configuration and resources | +| PlatformHubView | View Platform Hub configuration and resources | +| SpaceCreate | Create spaces | +| SpaceDelete | Delete spaces | +| SpaceEdit | Edit spaces | +| SpaceView | View spaces | +| TaskCancel | Cancel server tasks | +| TaskCreate | Explicitly create (run) server tasks | +| TaskEdit | Edit server tasks | +| TaskView | View summary-level information associated with a task | +| TeamCreate | Create teams | +| TeamDelete | Delete teams | +| TeamEdit | Edit teams | +| TeamView | View teams | +| UserEdit | Edit users | +| UserInvite | Invite users to register accounts | +| UserRoleEdit | Edit user role definitions | +| UserRoleView | View other user's roles | +| UserView | View users | ## System Manager {#DefaultPermissions-SystemManager} -| System Permission | Description | -| --------------------------- | ---------------------------------------- | -| ConfigureServer | Configure server settings like Authentication, SMTP, and HTTP Security Headers | -| EventRetentionDelete | Delete archived event files | -| EventRetentionView | View/list archived event files | -| EventView | View Events, including access to the Audit screen | -| SpaceCreate | Create spaces | -| SpaceDelete | Delete spaces | -| SpaceEdit | Edit spaces | -| SpaceView | View spaces | -| TaskCancel | Cancel server tasks | -| TaskCreate | Explicitly create (run) server tasks | -| TaskEdit | Edit server tasks | -| TaskView | View summary-level information associated with a task | -| TeamCreate | Create teams | -| TeamDelete | Delete teams | -| TeamEdit | Edit teams | -| TeamView | View teams | -| UserEdit | Edit users | -| UserInvite | Invite users to register accounts | -| UserRoleEdit | Edit user role definitions | -| UserRoleView | View other user's roles | -| UserView | View users | +| System Permission | Description | +|----------------------|--------------------------------------------------------------------------------| +| ConfigureServer | Configure server settings like Authentication, SMTP, and HTTP Security Headers | +| EventRetentionDelete | Delete archived event files | +| EventRetentionView | View/list archived event files | +| EventView | View Events, including access to the Audit screen | +| PlatformHubEdit | Edit Platform Hub configuration and resources | +| PlatformHubView | View Platform Hub configuration and resources | +| SpaceCreate | Create spaces | +| SpaceDelete | Delete spaces | +| SpaceEdit | Edit spaces | +| SpaceView | View spaces | +| TaskCancel | Cancel server tasks | +| TaskCreate | Explicitly create (run) server tasks | +| TaskEdit | Edit server tasks | +| TaskView | View summary-level information associated with a task | +| TeamCreate | Create teams | +| TeamDelete | Delete teams | +| TeamEdit | Edit teams | +| TeamView | View teams | +| UserEdit | Edit users | +| UserInvite | Invite users to register accounts | +| UserRoleEdit | Edit user role definitions | +| UserRoleView | View other user's roles | +| UserView | View users | ## Tenant Manager {#DefaultPermissions-TenantManager}