Skip to content

Allow multiple Azure DevOps instances #23512

Description

@petrhavlak-ca

Is your enhancement related to a problem? Please describe

Feature Request:

Align MountAzureDevOpsOAuthConfig Functionality with MountGitHubOAuthConfig

Summary:

Request to refactor the MountAzureDevOpsOAuthConfig function in the Che Operator codebase so that it handles multiple Azure DevOps OAuth secrets in the same way as MountGitHubOAuthConfig does for GitHub. This would allow mounting and configuring multiple Azure DevOps OAuth endpoints, supporting scenarios where more than one integration is needed.

Describe the solution you'd like

Current Behavior:

MountAzureDevOpsOAuthConfig only processes a single secret for Azure DevOps OAuth configuration.
In contrast, MountGitHubOAuthConfig retrieves all matching secrets, sorts them, and mounts each with a unique suffix, supporting multiple GitHub integrations.

Requested Change:

Update MountAzureDevOpsOAuthConfig to:
Retrieve all Azure DevOps OAuth secrets matching the required labels and annotations.
Sort and iterate over them, mounting each secret and setting environment variables with appropriate suffixes (e.g., __1, __2, etc.), just like MountGitHubOAuthConfig.
Ensure endpoint and other relevant annotations are handled for each secret.

Benefits:

Enables support for multiple Azure DevOps OAuth configurations.
Provides consistency across SCM OAuth mounting logic.
Improves flexibility for users with complex integration requirements.
References:

MountGitHubOAuthConfig implementation for multi-secret handling.

Example Use Case:

A user needs to integrate Che with several Azure DevOps organizations, each requiring its own OAuth configuration. With this change, all relevant secrets can be mounted and configured automatically.

Please consider this enhancement for future releases. Thank you!

Describe alternatives you've considered

No response

Additional context

Exmples of different Azure Devops organization URLs:
new format: https://dev.azure.com/{organization}
legacy format: https://{organization}.visualstudio.com

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/che-operatorIssues and PRs related to Eclipse Che Kubernetes Operatorarea/che-serverhelp wantedCommunity, we are fully engaged on other issues. Feel free to take this one. We'll help you!kind/enhancementA feature request - must adhere to the feature request template.lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.severity/P2Has a minor but important impact to the usage or development of the system.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions