Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLocalAccessReconciler ¶
func NewLocalAccessReconciler(car clusteraccess.Reconciler) clusteraccess.Reconciler
NewLocalAccessReconciler returns a local cluster access reconciler that wraps the given cluster access reconciler
Types ¶
type ClusterContext ¶
type ClusterContext struct {
// MCPCluster is the managed control plane that belongs to the current reconcile request
MCPCluster *clusters.Cluster
// MCPAccessSecretKey provides the object key to retrieve the MCP kubeconfig secret
MCPAccessSecretKey client.ObjectKey
// WorkloadCluster is the workload cluster that belongs the current reconcile request
WorkloadCluster *clusters.Cluster
// WorkloadAccessSecretKey provides the object key to retrieve the workload cluster kubeconfig secret
WorkloadAccessSecretKey client.ObjectKey
}
ClusterContext provides access to request-scoped clusters. These clusters include the managed control plane and workload clusters associated with a specific reconcile request. (Static clusters like the platform and onboarding clusters are provided to the reconciler when it is initialized.)
More info on the deployment model: https://openmcp-project.github.io/docs/about/design/service-provider#deployment-model
type Provider ¶
type Provider interface {
// MCPCluster creates a Cluster for the MCP AccessRequest.
// This function will only be successful if the MCP AccessRequest is granted and Reconcile returned without an error
// and a reconcile.Result with no RequeueAfter value.
MCPCluster(ctx context.Context, request reconcile.Request) (*clusters.Cluster, error)
// MCPAccessRequest returns the AccessRequest for the MCP cluster.
MCPAccessRequest(ctx context.Context, request reconcile.Request) (*clustersv1alpha1.AccessRequest, error)
// WorkloadCluster creates a Cluster for the Workload AccessRequest.
// This function will only be successful if the Workload AccessRequest is granted and Reconcile returned without an error
// and a reconcile.Result with no RequeueAfter value.
WorkloadCluster(ctx context.Context, request reconcile.Request) (*clusters.Cluster, error)
// WorkloadAccessRequest returns the AccessRequest for the Workload cluster.
WorkloadAccessRequest(ctx context.Context, request reconcile.Request) (*clustersv1alpha1.AccessRequest, error)
// Reconcile creates the ClusterRequests and AccessRequests for the MCP and Workload clusters based on the reconciled object.
// This function should be called during all reconciliations of the reconciled object.
// ctx is the context for the reconciliation.
// request is the object that is being reconciled
// It returns a reconcile.Result and an error if the reconciliation failed.
// The reconcile.Result may contain a RequeueAfter value to indicate that the reconciliation should be retried after a certain duration.
Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error)
// ReconcileDelete deletes the AccessRequests and ClusterRequests for the MCP and Workload clusters based on the reconciled object.
// This function should be called during the deletion of the reconciled object.
// ctx is the context for the reconciliation.
// request is the object that is being reconciled.
// It returns a reconcile.Result and an error if the reconciliation failed.
// The reconcile.Result may contain a RequeueAfter value to indicate that the reconciliation should be retried after a certain duration.
ReconcileDelete(ctx context.Context, request reconcile.Request) (reconcile.Result, error)
}
Provider is a light weight version of the ClusterAccessReconciler
Click to show internal directories.
Click to hide internal directories.