This PR adds the following two (alpha) commands to connect to an MCP from an application cluster:
up alpha ctp connect cp --token $API_TOKEN: Creates a K8s secret with MCP Kubeconfig and installs MCP connector into the kube-system namespace (by default)
up alpha ctp bind storage.starter.org/v1alpha1: Creates APIService for a given API version/group aggregating them from the connected MCP.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR, as appropriate.
How has this code been tested
Tested against my MCP in production as a result of FRE.
❯ up alpha ctp list
NAME ID STATUS
cp 5b2e4d3e-58bf-4747-b91a-0337e8049aba ready
❯ up alpha ctp connect cp --token $API_TOKEN
Connected to the MCP "cp", ready for binding APIs!
❯ up alpha ctp bind database.starter.org/v1alpha1
APIs under database.starter.org/v1alpha1 were bound to the Managed Control Plane!
❯ kubectl api-resources |grep starter
postgresqlinstances database.starter.org/v1alpha1 true PostgreSQLInstance
Description of your changes
This PR adds the following two (alpha) commands to connect to an MCP from an application cluster:
up alpha ctp connect cp --token $API_TOKEN
: Creates a K8s secret with MCP Kubeconfig and installs MCP connector into thekube-system
namespace (by default)up alpha ctp bind storage.starter.org/v1alpha1
: CreatesAPIService
for a given API version/group aggregating them from the connected MCP.I have:
make reviewable
to ensure this PR is ready for review.backport release-x.y
labels to auto-backport this PR, as appropriate.How has this code been tested
Tested against my MCP in production as a result of FRE.