Skip to content

Provide more context on setting up GitHub Connections for self-hosted customers#3171

Open
mjhilton wants to merge 2 commits into
mainfrom
matth/self-host-ghwa-instructions
Open

Provide more context on setting up GitHub Connections for self-hosted customers#3171
mjhilton wants to merge 2 commits into
mainfrom
matth/self-host-ghwa-instructions

Conversation

@mjhilton
Copy link
Copy Markdown
Contributor

  • Expands decision-tree for whether you should externally host your Signing Keys
  • Adds info on the impact of being an untrusted instance (needing to copy the Access Code)
  • Helps customers decide whether to set a custom OIDC Issuer URL

@team-marketing-branch-protections
Copy link
Copy Markdown

Pull request environment is available at https://stoctodocspr3171.z22.web.core.windows.net.

You can view the ephemeral environment status in Octopus Deploy.

This environment will be automatically deprovisioned when the pull request is closed, or after 7 days of inactivity.

When externally hosting public keys, they will be available for download as a zip file. The contents of this zip file can then be hosted on any hosting provider that publicly serves HTTPS. The location where the files are hosted must be provided as the **OIDC Issuer URL**. When Octopus Deploy creates a token, the issuer will point to the **OIDC Issuer URL**. While the location specified by the issuer URL must be publicly available, the Octopus Deploy instance can be isolated from public access.
External hosting is for **self-hosted instances on private or isolated networks** that are not reachable from the internet. Services like the Octopus GitHub service or cloud providers need to fetch your public keys to validate tokens — if they can't reach your instance directly, you need to host those keys somewhere they can.

When externally hosting, Octopus generates a ZIP file containing your OIDC discovery document and public key set. Host the contents of this file at any publicly accessible HTTPS location, then provide that address as the **OIDC Issuer URL**. Octopus uses this URL as the issuer in tokens it generates, and external services fetch keys from there instead of from your instance.
Copy link
Copy Markdown
Contributor

@stevencl840 stevencl840 May 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to provide the address you will use before generating the zip file, the issuer property of the discover document will be set correctly. To be this paragraph implies it can be changed after the files have been gernated whish not correct.

## Externally hosted

When externally hosting public keys, they will be available for download as a zip file. The contents of this zip file can then be hosted on any hosting provider that publicly serves HTTPS. The location where the files are hosted must be provided as the **OIDC Issuer URL**. When Octopus Deploy creates a token, the issuer will point to the **OIDC Issuer URL**. While the location specified by the issuer URL must be publicly available, the Octopus Deploy instance can be isolated from public access.
External hosting is for **self-hosted instances on private or isolated networks** that are not reachable from the internet. Services like the Octopus GitHub service or cloud providers need to fetch your public keys to validate tokens — if they can't reach your instance directly, you need to host those keys somewhere they can.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I think we generally refer to it as the Octopus GitHub app

Copy link
Copy Markdown
Contributor

@lourens-octopus lourens-octopus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Matt, feels like it has cleared the situation up a great deal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants