- 
                Notifications
    
You must be signed in to change notification settings  - Fork 12
 
OCPMCP-9: add acm cluster provider #58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OCPMCP-9: add acm cluster provider #58
Conversation
Signed-off-by: Calum Murray <[email protected]>
Signed-off-by: Calum Murray <[email protected]>
Signed-off-by: Calum Murray <[email protected]>
| 
           /hold Let's wait to get containers#377 merged upstream first, and then I will rebase this PR on top of those changes  | 
    
Signed-off-by: Calum Murray <[email protected]>
Signed-off-by: Calum Murray <[email protected]>
| 
           /unhold  | 
    
Signed-off-by: Calum Murray <[email protected]>
1b82cd1    to
    1bccb73      
    Compare
  
    | 
           Thanks for the rebase and updating the PR. I will take a look here tomorrow!  | 
    
| 
           /assign @matzew  | 
    
        
          
                pkg/kubernetes/provider_acm_hub.go
              
                Outdated
          
        
      | err := c.ACMProviderConfig.Validate() | ||
| 
               | 
          ||
| if c.ContextName == "" { | ||
| err = errors.Join(err, fmt.Errorf("context_name is required is acm-kubeconfig strategy is used")) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if acm-kubeconfig strategy is used
| 
           LGTM ✅ Tested the   | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve
| 
           [APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Cali0707, matzew The full list of commands accepted by this bot can be found here. The pull request process is described here 
Needs approval from an approver in each of these files:
 
      
 Approvers can indicate their approval by writing   | 
    
| 
           @ardaguclu I guess the invalid JIRA reference, is that there is no colon (  | 
    
| 
           /retitle OCPMCP-9: add acm cluster provide  | 
    
| 
           @Cali0707: This pull request references OCPMCP-9 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set. In response to this: 
 Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.  | 
    
          
 @matzew    | 
    
| 
           /retest  | 
    
Signed-off-by: Calum Murray <[email protected]>
| 
           /cc @matzew can you re-review?  | 
    
Signed-off-by: Calum Murray <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
| 
           /hold  | 
    
Signed-off-by: Calum Murray <[email protected]>
| 
           /unhold  | 
    
| 
           /lgtm  | 
    
| 
           @Cali0707: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.  | 
    
| manager, err := p.managerForCluster(target) | ||
| if err != nil { | ||
| return nil, nil, fmt.Errorf("failed to get manager for cluster '%s', unable to verify token", target) | ||
| } | ||
| return manager.VerifyToken(ctx, token, audience) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now verifies tokens against the correct target cluster (should)
Add detailed documentation for the ACM (Advanced Cluster Management) cluster provider feature, including: - Overview and architecture of ACM multi-cluster support - Configuration guide for both acm-kubeconfig and acm strategies - Step-by-step setup instructions with examples - Prerequisites and RBAC requirements - Troubleshooting guide for common issues - Security considerations and best practices - Production deployment examples This documentation complements the ACM cluster provider implementation merged in PR openshift#58. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
This PR adds a cluster provider that uses ACM and the cluster proxy addon to communicate with all the clusters managed by the hub cluster. This allows users to configure the connection in two ways:
acm-kubeconfig- this uses a specified context from the users kubeconfig to connect to a remote hub cluster, and uses the route to the cluster proxy addon to connect to any managed clustersacm- this assumes that the mcp server is deployed within the hub cluster, and uses the cluster proxy addon service (instead of route) to talk to managed clustersAn example configuration for the
acm-kubeconfigstrategy which verifies TLS is as follows:An example configuration for the
acmstrategy which does not verify TLS is as follows: