Skip to content

feat: Azure get-well [COMP-806]#1315

Open
justinegeffen wants to merge 24 commits into
enterprise-26.1-documentationfrom
justine-azure-get-well
Open

feat: Azure get-well [COMP-806]#1315
justinegeffen wants to merge 24 commits into
enterprise-26.1-documentationfrom
justine-azure-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 261fa1c
🔍 Latest deploy log https://app.netlify.com/projects/seqera-docs/deploys/69e0b89ced746c000860f47c
😎 Deploy Preview https://deploy-preview-1315--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:06
Comment thread platform-cloud/docs/studios/add-studio.md Outdated
Comment thread platform-enterprise_docs/compute-envs/azure-batch.md Outdated
Comment thread platform-cloud/docs/studios/add-studio.md Outdated
justinegeffen and others added 8 commits April 17, 2026 12:34
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Signed-off-by: Justine Geffen <justinegeffen@users.noreply.github.com>
Revert studios/add-studio.md to master version. The overview.md
whitespace fixes are enforced by pre-commit hooks and remain as-is.

Cloud changes ported to azure-getwell-cloud branch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Restore custom-roles.md and roles.md to master versions.
Cloud changes to be ported separately to azure-getwell-cloud branch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@justinegeffen
Copy link
Copy Markdown
Contributor Author

@MichaelTansiniSeqera, this is good to review.

@justinegeffen justinegeffen requested a review from jonmarti April 30, 2026 18:33
@justinegeffen justinegeffen added the 1. Dev/PM/SME Needs a review by a Dev/PM/SME label Apr 30, 2026
Comment thread platform-enterprise_docs/compute-envs/azure-batch.md Outdated
Comment thread platform-enterprise_docs/compute-envs/azure-batch.md
Comment thread platform-enterprise_docs/compute-envs/azure-batch.md Outdated
When you submit a pipeline to this compute environment, Nextflow will authenticate using the managed identity associated with the Azure Batch node it runs on, rather than relying on access keys.

:::caution
If a managed identity is misconfigured (e.g., invalid client ID or missing RBAC roles), the pipeline will fail with an explicit error. Seqera will not silently fall back to access key authentication.
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.

@adamrtalbot or @jonmarti correct me if I'm wrong but we fall back to the Entra Service Principal if the MI is wrong, but we DON'T do that for access keys right? If so, we should make that clear here

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.

The fallback model is a bit subtler than "MI wrong → fall back to SP". Two layers behave differently:

Control plane (Platform → Azure Batch / Storage): whatever credential is configured (access keys or Entra service principal) is what Platform uses. The two are alternatives, not a runtime chain. Bad keys, invalid/expired client secrets, or missing RBAC all fail loudly with no silent fallback. Some features (VNet/subnet, managed identity assignment) require Entra because the underlying operation only accepts AAD tokens.

Data plane on the VM (Nextflow head + tasks → Storage / ACR):

Credential Head MI configured? How the head VM authenticates
Access keys n/a Storage account key provisioned to the VM
Entra SP No SP credentials passed into the Nextflow config ⚠ secret on the VM
Entra SP Yes Short-lived token from the Azure metadata service (no creds on the VM)
Entra SP Yes, but invalid / missing RBAC Fails — no silent fallback to the SP at runtime

So the existing caution is correct for runtime. What's worth adding is the config-time half , that's where the "fallback" really lives:

When a head managed identity is not configured, Platform passes the service principal credentials to the head job so it can authenticate to Azure services. The managed identity removes the long-lived secret from the compute node, so configuring it is recommended for production deployments. The same applies to the pool managed identity used by compute tasks.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@jonmarti, I have updated the content - please could you review and LMK if you have any feedback. Thanks!

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.

@justinegeffen reviewed, looking good

Comment thread platform-enterprise_docs/compute-envs/azure-batch.md Outdated
justinegeffen and others added 8 commits May 4, 2026 20:21
Document the disable/enable compute environment feature in the
enterprise compute environment overview, mirroring the cloud docs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ty guidance

- Fix swapped Tenant ID / Client ID field labels in the Entra credential
  instructions (Tenant ID maps to Directory (tenant) ID; Client ID maps to
  Application (client) ID).
- Add Managed Identity Operator role assignment for the service principal,
  required to attach a managed identity to a Batch pool.
- Rename Azure Batch Data Contributor to Azure Batch Contributor (the
  built-in role sufficient for management-plane pool creation).
- Add AcrPull role guidance on the managed identity for ACR image pulls.
- Document why managed identities require Entra credentials (management-plane
  pool creation only accepts AAD tokens).
- Document the four managed identity fields (resource ID vs client ID, head
  vs worker pool) and how they work in single-pool and dual-pool topologies.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@jonmarti jonmarti left a comment

Choose a reason for hiding this comment

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

LGTM, minor suggestions

1. In Azure, create a user-assigned managed identity. See [Manage user-assigned managed identities][azure-managed-identity] for detailed steps. Take note of both the **client ID** and the **resource ID** of the managed identity when you create it.
2. Assign the following roles to the managed identity:
- **Storage Blob Data Contributor** on the Azure Storage account, so the pool VMs can read inputs and write outputs.
- **AcrPull** on any Azure Container Registry the pipeline pulls images from. Without thƒis role, container pulls fail when the pool VM authenticates via the managed identity.
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.

Suggested change
- **AcrPull** on any Azure Container Registry the pipeline pulls images from. Without thƒis role, container pulls fail when the pool VM authenticates via the managed identity.
- **AcrPull** on any Azure Container Registry the pipeline pulls images from. Without this role, container pulls fail when the pool VM authenticates via the managed identity.

1. Select **Review and Create**.
1. Select **Create** to create the Azure Storage account.
8. Select **Data protection**.
- Configure appropriate settings. All settings are supported Platform.
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.

Suggested change
- Configure appropriate settings. All settings are supported Platform.
- Configure appropriate settings. All settings are supported by Platform.

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 do not merge Do not merge until this label is removed enterprise-26.1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants