Skip to content

feat: GCP get-well [COMP-793]#1316

Open
justinegeffen wants to merge 29 commits intoenterprise-26.1-documentationfrom
justine-gcp-get-well
Open

feat: GCP get-well [COMP-793]#1316
justinegeffen wants to merge 29 commits intoenterprise-26.1-documentationfrom
justine-gcp-get-well

Conversation

@justinegeffen
Copy link
Copy Markdown
Contributor

@justinegeffen justinegeffen commented Apr 16, 2026

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 16, 2026

Deploy Preview for seqera-docs ready!

Name Link
🔨 Latest commit 118e550
🔍 Latest deploy log https://app.netlify.com/projects/seqera-docs/deploys/69e0c254d12e5a00089abbc9
😎 Deploy Preview https://deploy-preview-1316--seqera-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@justinegeffen justinegeffen added do not merge Do not merge until this label is removed draft/WIP enterprise-26.1 labels Apr 16, 2026
@justinegeffen justinegeffen changed the base branch from master to enterprise-26.1-documentation April 16, 2026 11:05
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
@MichaelTansiniSeqera
Copy link
Copy Markdown
Contributor

The main thing that is missing here is the addition env var required to configure Platform when WIF is required. The user needs to

  1. Generate and mount a PEM keypair

openssl genrsa -out private.pem 4096
openssl rsa -in private.pem -outform PEM -pubout -out public.pem
cat private.pem public.pem > oidc.pem

Then set:
TOWER_OIDC_PEM_PATH=/path/to/oidc.pem

  1. Configure GCP to trust Platform as an OIDC issuer

In your GCP WIF pool, set the issuer URL to:
https://{your-platform-domain}/api

@jonmarti can we add this to the example set up yml?                                       

Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Added OIDC PEM path configuration details.

Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
@justinegeffen justinegeffen added 1. Editor review Needs a language review 1. Dev/PM/SME Needs a review by a Dev/PM/SME labels Apr 23, 2026
Copy link
Copy Markdown
Member

@christopher-hakkaart christopher-hakkaart left a comment

Choose a reason for hiding this comment

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

I think the links should be updated/checked. I've made some suggestions to remove the em dashes. Otherwise looking good.

Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
justinegeffen and others added 3 commits April 27, 2026 22:17
Co-authored-by: Chris Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Co-authored-by: Chris Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Co-authored-by: Chris Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
justinegeffen and others added 8 commits April 27, 2026 22:33
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Co-authored-by: Chris Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Co-authored-by: Chris Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Co-authored-by: Chris Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Co-authored-by: Chris Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Co-authored-by: Chris Hakkaart <chris.hakkaart@seqera.io>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Copy link
Copy Markdown
Member

@christopher-hakkaart christopher-hakkaart left a comment

Choose a reason for hiding this comment

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

Editorially, this looks good 👍

I can't speak to the accuracy of the content changed.

Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md
Comment thread platform-enterprise_docs/compute-envs/google-cloud-batch.md Outdated
@jonmarti
Copy link
Copy Markdown
Contributor

jonmarti commented May 3, 2026

The main thing that is missing here is the addition env var required to configure Platform when WIF is required. The user needs to

  1. Generate and mount a PEM keypair

openssl genrsa -out private.pem 4096 openssl rsa -in private.pem -outform PEM -pubout -out public.pem cat private.pem public.pem > oidc.pem

Then set: TOWER_OIDC_PEM_PATH=/path/to/oidc.pem

  1. Configure GCP to trust Platform as an OIDC issuer

In your GCP WIF pool, set the issuer URL to: https://{your-platform-domain}/api

@jonmarti can we add this to the example set up yml?                                       

A few things worth clarifying before we finalize:

  1. TOWER_OIDC_PEM_PATH is not a new variable. It was introduced for Data Studios OIDC (Dec 2023) and reused for GCP WIF, so the same RSA key gates both features. Enterprise deployments that already have Data Studios OIDC configured are reusing the same key and don't need to generate a new one. Worth calling that out in the docs.

  2. The issuer URL is ${TOWER_SERVER_URL}/api for all deployments, not just Cloud. In the GCP WIF provider, set the issuer to https://{your-platform-domain}/api regardless of whether it's Cloud or Enterprise. The discovery endpoints are at /api/.well-known/openid-configuration and /api/.well-known/jwks.json, and both must be publicly reachable from GCP STS.

@MichaelTansiniSeqera, yes, we can add TOWER_OIDC_PEM_PATH to the YAML with a note that it serves both Data Studios OIDC and GCP WIF.


* **Service Account Email**: The email address of the Google Cloud service account that WIF will impersonate.
* **Workload Identity Provider**: The full resource path of the Workload Identity Provider (e.g., `projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID`).
* **Token Audience** (optional): The intended audience for the OIDC token. Configure this if your Workload Identity Provider requires a specific audience value.
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.

@MichaelTansiniSeqera the comment is anchored to the Token Audience bullet but your proposed text is about user roles. I think the comment may have landed on the wrong line during review. Did you mean to comment on the User permissions list above (roles/batch.jobsEditor, roles/iam.serviceAccountUser, roles/iam.serviceAccountViewer)?

If that's the case, +1 on framing it as "minimum set of roles required", making that intent explicit in the doc would help admins justify the list to their security teams.

The Token Audience description as written is accurate. It's an optional field that's only needed when the WIF provider was created with a custom allowed audience; by default, Platform derives the audience from the provider path, so most setups can leave it blank. We could optionally tighten the wording to make the "leave blank unless..." default explicit, but no factual change needed.

justinegeffen and others added 4 commits May 4, 2026 20:21
updated with spot reclamation settings

Signed-off-by: MichaelTansiniSeqera <michael.tansini@seqera.io>
Signed-off-by: MichaelTansiniSeqera <michael.tansini@seqera.io>
Signed-off-by: MichaelTansiniSeqera <michael.tansini@seqera.io>
@MichaelTansiniSeqera
Copy link
Copy Markdown
Contributor

I've updated this with a section to show on Enterprise what a user needs to do in the GCP Console to set up WIF for integration with Seqera.

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

Labels

1. Dev/PM/SME Needs a review by a Dev/PM/SME 1. Editor review Needs a language review do not merge Do not merge until this label is removed draft/WIP enterprise-26.1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants