Every ManagedService names three catalog entries that the provider defines:
a class, a plan and a connectivity class. They decide what kind of service you
get, what it may do, and how your workloads reach it.
Catalog entry
Field on ManagedService
What it decides
Class (ManagedServiceClass)
spec.classRef.name
The service family and its contract: the parameter schema, which parameters can change after creation, the operations the family implements, its credential roles and its endpoint names
Plan (ManagedServicePlan)
spec.planRef.name
The provider's versioned offering for a class: engine version, instance, storage and compute bounds, allowed operations and approvals, backups, and entitlements
Connectivity class (ConnectivityClass)
spec.connectivity.classRef.name
How workloads reach the service
The class, plan, placement and connectivity of a service cannot change after
creation.
tenant-native publishes the service as internal Services inside your
Project's network. Workloads in the same Project connect to them directly. It
allocates no public address.
You cannot list the catalog
Classes, plans and connectivity classes are cluster-scoped, and no Project role
grants access to them. kubectl get managedserviceplans is refused for tenant
identities. Ask your provider for the names to use. Plan names and plan
contents can differ between Kube-DC installations.
A plan is revisioned, and its values differ between installations. The tables
below list the plan fields that decide what your service may do. Where a
feature depends on a field, your plan must allow it before you can use it. Ask
your provider for the current values of your plan.
The ServiceOperation types you may request. Other types are refused with reason PlanNotEntitled
operations.autoApprove
Allowed types that run without approval. Any other allowed type waits in phase AwaitingApproval until the provider approves it
maintenance
The recurring maintenance window used by operations that set execution.window: NextPlanWindow. Without a window, such operations are refused
You cannot approve your own operations. A ServiceCredentialPolicy does not
bypass approval either: its scheduled rotations wait for approval when the plan
does not auto-approve RotateCredentials.
A service keeps the class and plan revisions it was created with. When the
provider changes the catalog, a running service does not move automatically:
its CatalogPinned condition turns False with reason
CatalogRevisionChanged, and it keeps running on its pinned revisions until
the provider moves it to the new ones. Ask your provider if you need a newer
plan revision for an existing service.