The KubeCarrier API is implemented as a extension of the Kubernetes API as CustomResourceDefinitions
.
All available objects and their usage are described below.
The API consists of multiple API groups:
Core
The core kubecarrier.io
API group contains the basic buildings blocks of KubeCarrier and objects to setup cross-cluster management of resources.
CustomResourceDiscovery.kubecarrier.io/v1alpha1
CustomResourceDiscovery tells KubeCarrier to discover a CustomResource from a ServiceCluster, register it in the Management Cluster and start a new process to reconcile instances of this CRD.
New instances of the CRD will be reconciled by creating a matching instance in the ServiceCluster. Each Namespace in the Management Cluster needs a ServiceClusterAssignment object, mapping it to a Namespace in the ServiceCluster.
A CustomResourceDiscovery instance will be ready, if the CustomResource was found in the ServiceCluster and a clone of it is established in the Management Cluster. Deleting the instance will also remove the CRD and all instances of it.
Example
apiVersion: kubecarrier.io/v1alpha1
kind: CustomResourceDiscovery
metadata:
name: couchdb.eu-west-1
spec:
crd:
name: couchdbs.couchdb.io
serviceCluster:
name: eu-west-1
Back to Group
CustomResourceDiscoveryCondition.kubecarrier.io/v1alpha1
CustomResourceDiscoveryCondition contains details of the current state of this CustomResourceDiscovery.
Field | Description | Scheme | Required |
---|
lastTransitionTime | LastTransitionTime is the last time the condition transit from one status to another. | metav1.Time | true |
message | Message is the human readable message indicating details about last transition. | string | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
status | Status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.kubecarrier.io/v1alpha1 | true |
type | Type of the condition, currently (‘Ready’). | CustomResourceDiscoveryConditionType.kubecarrier.io/v1alpha1 | true |
Back to Group
CustomResourceDiscoveryList.kubecarrier.io/v1alpha1
CustomResourceDiscoveryList is a list of CustomResourceDiscovery.
Back to Group
CustomResourceDiscoverySpec.kubecarrier.io/v1alpha1
CustomResourceDiscoverySpec describes the desired state of a CustomResourceDiscovery.
Field | Description | Scheme | Required |
---|
crd | CRD references a CustomResourceDefinition within the ServiceCluster. | ObjectReference.kubecarrier.io/v1alpha1 | true |
serviceCluster | ServiceCluster references a ServiceCluster to search the CustomResourceDefinition on. | ObjectReference.kubecarrier.io/v1alpha1 | true |
webhookStrategy | WebhookStrategy configs the webhook of the CRD which is registered in the management cluster by this CustomResourceDiscovery. There are two possible values for this configuration {None (by default), ServiceCluster} None (by default): Webhook will only check if there is an available ServiceClusterAssignment in the current Namespace. ServiceCluster: Webhook will call webhooks of the CRD in the ServiceCluster with dry-run flag. | WebhookStrategyType.kubecarrier.io/v1alpha1 | false |
Back to Group
CustomResourceDiscoveryStatus.kubecarrier.io/v1alpha1
CustomResourceDiscoveryStatus represents the observed state of a CustomResourceDiscovery.
Field | Description | Scheme | Required |
---|
crd | CRD defines the original CustomResourceDefinition specification from the service cluster. | *apiextensionsv1.CustomResourceDefinition | false |
managementClusterCRD | ManagementClusterCRD references the CustomResourceDefinition that is created by a CustomResourceDiscovery. | *ObjectReference.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to a string when printing the property is only present for display purposes, for everything else use conditions | CustomResourceDiscoveryPhaseType.kubecarrier.io/v1alpha1 | false |
conditions | Conditions is a list of all conditions this CustomResourceDiscovery is in. | []CustomResourceDiscoveryCondition.kubecarrier.io/v1alpha1 | false |
observedGeneration | The most recent generation observed by the controller. | int64 | false |
Back to Group
CustomResourceDiscoverySet.kubecarrier.io/v1alpha1
CustomResourceDiscoverySet manages multiple CustomResourceDiscovery objects for a set of ServiceClusters.
Example
apiVersion: kubecarrier.io/v1alpha1
kind: CustomResourceDiscoverySet
metadata:
name: couchdb
spec:
crd:
name: couchdbs.couchdb.io
serviceClusterSelector: {}
Back to Group
CustomResourceDiscoverySetCRDReference.kubecarrier.io/v1alpha1
CustomResourceDiscoverySetCRDReference references a discovered CustomResourceDefinition.
Back to Group
CustomResourceDiscoverySetCondition.kubecarrier.io/v1alpha1
CustomResourceDiscoverySetCondition contains details for the current condition of this CustomResourceDiscoverySet.
Field | Description | Scheme | Required |
---|
lastTransitionTime | LastTransitionTime is the last time the condition transit from one status to another. | metav1.Time | true |
message | Message is the human readable message indicating details about last transition. | string | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
status | Status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.kubecarrier.io/v1alpha1 | true |
type | Type of the condition, currently (‘Ready’). | CustomResourceDiscoverySetConditionType.kubecarrier.io/v1alpha1 | true |
Back to Group
CustomResourceDiscoverySetList.kubecarrier.io/v1alpha1
CustomResourceDiscoverySetList is a list of CustomResourceDiscoverySet.
Back to Group
CustomResourceDiscoverySetSpec.kubecarrier.io/v1alpha1
CustomResourceDiscoverySetSpec describes the desired state of a CustomResourceDiscoverySet.
Field | Description | Scheme | Required |
---|
crd | CRD references a CustomResourceDefinition within the ServiceCluster. | ObjectReference.kubecarrier.io/v1alpha1 | true |
serviceClusterSelector | ServiceClusterSelector references a set of ServiceClusters to search the CustomResourceDefinition on. | metav1.LabelSelector | true |
webhookStrategy | WebhookStrategy configs the webhooks of the CRDs which are registered in the management cluster by this CustomResourceDiscoverySet. There are two possible values for this configuration {None (by default), ServiceCluster} None (by default): Webhook will only check if there is an available ServiceClusterAssignment in the current Namespace. ServiceCluster: Webhook will call webhooks of the CRD in the ServiceCluster with dry-run flag. | WebhookStrategyType.kubecarrier.io/v1alpha1 | false |
Back to Group
CustomResourceDiscoverySetStatus.kubecarrier.io/v1alpha1
CustomResourceDiscoverySetStatus represents the observed state of a CustomResourceDiscoverySet.
Field | Description | Scheme | Required |
---|
managementClusterCRDs | ManagementClusterCRDs contains the CRDs information that created by the CustomResourceDiscovery objects of this CustomResourceDiscoverySet. | []CustomResourceDiscoverySetCRDReference.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to a string when printing the property is only present for display purposes, for everything else use conditions | CustomResourceDiscoverySetPhaseType.kubecarrier.io/v1alpha1 | false |
conditions | Conditions is a list of all conditions this CustomResourceDiscovery is in. | []CustomResourceDiscoverySetCondition.kubecarrier.io/v1alpha1 | false |
observedGeneration | The most recent generation observed by the controller. | int64 | false |
Back to Group
ServiceCluster.kubecarrier.io/v1alpha1
ServiceCluster represents a Kubernets Cluster registered into KubeCarrier.
Example
apiVersion: kubecarrier.io/v1alpha1
kind: ServiceCluster
metadata:
name: eu-west-1
spec:
metadata:
displayName: EU West 1
kubeconfigSecret:
name: eu-west-1-kubeconfig
Back to Group
ServiceClusterCondition.kubecarrier.io/v1alpha1
ServiceClusterCondition contains details for the current condition of this ServiceCluster.
Field | Description | Scheme | Required |
---|
lastHeartbeatTime | LastHeartbeatTime is the timestamp corresponding to the last update of this condition. | metav1.Time | true |
lastTransitionTime | LastTransitionTime is the last time the condition transit from one status to another. | metav1.Time | true |
message | Message is the human readable message indicating details about last transition. | string | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
status | Status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.kubecarrier.io/v1alpha1 | true |
type | Type of the condition, currently (‘Ready’). | ServiceClusterConditionType.kubecarrier.io/v1alpha1 | true |
Back to Group
ServiceClusterList.kubecarrier.io/v1alpha1
ServiceClusterList contains a list of ServiceCluster.
Back to Group
ServiceClusterMetadata describes metadata of the ServiceCluster for the Service Catalog.
Field | Description | Scheme | Required |
---|
displayName | DisplayName is the human-readable name of this ServiceCluster. | string | false |
description | Description is the human-readable description of this ServiceCluster. | string | false |
Back to Group
ServiceClusterSpec.kubecarrier.io/v1alpha1
ServiceClusterSpec describes the desired state of a ServiceCluster.
Back to Group
ServiceClusterStatus.kubecarrier.io/v1alpha1
ServiceClusterStatus represents the observed state of a ServiceCluster.
Field | Description | Scheme | Required |
---|
phase | DEPRECATED. Phase represents the current lifecycle state of this object consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to a string when printing the property is only present for display purposes, for everything else use conditions | ServiceClusterPhaseType.kubecarrier.io/v1alpha1 | false |
conditions | Conditions is a list of all conditions this ServiceCluster is in. | []ServiceClusterCondition.kubecarrier.io/v1alpha1 | false |
observedGeneration | The most recent generation observed by the controller. | int64 | false |
kubernetesVersion | KubernetesVersion of the service cluster API Server | *version.Info | false |
Back to Group
ServiceClusterAssignment.kubecarrier.io/v1alpha1
ServiceClusterAssignment is assigning a Namespace in the Management cluster with a Namespace on the ServiceCluster.
The Namespace in the ServiceCluster will be created automatically and is reported in the instance status.
Example
apiVersion: kubecarrier.io/v1alpha1
kind: ServiceClusterAssignment
metadata:
name: example1.eu-west-1
spec:
serviceCluster:
name: eu-west-1
managementNamespace:
name: example1
Back to Group
ServiceClusterAssignmentCondition.kubecarrier.io/v1alpha1
ServiceClusterAssignmentCondition contains details for the current condition of this ServiceClusterAssignment.
Field | Description | Scheme | Required |
---|
lastTransitionTime | LastTransitionTime is the last time the condition transit from one status to another. | metav1.Time | true |
message | Message is the human readable message indicating details about last transition. | string | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
status | Status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.kubecarrier.io/v1alpha1 | true |
type | Type of the condition, currently (‘Ready’). | ServiceClusterAssignmentConditionType.kubecarrier.io/v1alpha1 | true |
Back to Group
ServiceClusterAssignmentList.kubecarrier.io/v1alpha1
ServiceClusterAssignmentList contains a list of ServiceClusterAssignment.
Back to Group
ServiceClusterAssignmentSpec.kubecarrier.io/v1alpha1
ServiceClusterAssignmentSpec describes the desired state of ServiceClusterAssignment.
Back to Group
ServiceClusterAssignmentStatus.kubecarrier.io/v1alpha1
ServiceClusterAssignmentStatus represents the observed state of ServiceClusterAssignment.
Field | Description | Scheme | Required |
---|
phase | DEPRECATED. Phase represents the current lifecycle state of this object consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to a string when printing the property is only present for display purposes, for everything else use conditions | ServiceClusterAssignmentPhaseType.kubecarrier.io/v1alpha1 | false |
conditions | Conditions is a list of all conditions this ServiceClusterAssignment is in. | []ServiceClusterAssignmentCondition.kubecarrier.io/v1alpha1 | false |
observedGeneration | The most recent generation observed by the controller. | int64 | false |
serviceClusterNamespace | ServiceClusterNamespace references the Namespace on the ServiceCluster that was assigned. | *ObjectReference.kubecarrier.io/v1alpha1 | false |
Back to Group
ObjectReference.kubecarrier.io/v1alpha1
ObjectReference describes the link to another object in the same Namespace.
Field | Description | Scheme | Required |
---|
name | | string | true |
Back to Group
Catalog
The catalog.kubecarrier.io
API group contains all objects that are used to setup service hubs in KubeCarrier.
Account.catalog.kubecarrier.io/v1alpha1
Account represents an actor in KubeCarrier. Depending on it’s roles, it can provide services, consume offered services or both.
KubeCarrier creates a new Namespace for each Account. The Account Metadata is exposed to users that are offered services from this Account.
Example
apiVersion: catalog.kubecarrier.io/v1alpha1
kind: Account
metadata:
name: team-a
spec:
metadata:
displayName: The A Team
description: In 1972, a crack commando unit was sent to prison by a military court...
roles:
- Provider
- Tenant
Back to Group
AccountCondition.catalog.kubecarrier.io/v1alpha1
AccountCondition contains details for the current condition of this Account.
Field | Description | Scheme | Required |
---|
type | Type is the type of the Account condition, currently (‘Ready’). | AccountConditionType.catalog.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.catalog.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
AccountList.catalog.kubecarrier.io/v1alpha1
AccountList contains a list of Account.
Back to Group
AccountMetadata contains the metadata of the Account.
Field | Description | Scheme | Required |
---|
Back to Group
AccountSpec.catalog.kubecarrier.io/v1alpha1
AccountSpec describes the desired state of Account.
Field | Description | Scheme | Required |
---|
metadata | Metadata\tcontains additional human readable account details. | AccountMetadata.catalog.kubecarrier.io/v1alpha1 | false |
roles | Roles this account uses. | []AccountRole.catalog.kubecarrier.io/v1alpha1 | true |
subjects | Subjects holds references to the objects that manged RBAC roles should apply to. | []rbacv1.Subject | true |
Back to Group
AccountStatus.catalog.kubecarrier.io/v1alpha1
AccountStatus represents the observed state of Account.
Field | Description | Scheme | Required |
---|
namespace | NamespaceName is the name of the Namespace that the Account manages. | *ObjectReference.catalog.kubecarrier.io/v1alpha1 | false |
observedGeneration | ObservedGeneration is the most recent generation observed for this Account by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a Account’s current state. | []AccountCondition.catalog.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | AccountPhaseType.catalog.kubecarrier.io/v1alpha1 | false |
Back to Group
Catalog.catalog.kubecarrier.io/v1alpha1
Catalog publishes a selection of CatalogEntries to a selection of Tenants.
KubeCarrier will automatically create ServiceClusterAssignment objects for each Tenant selected by the Catalog.
Example
apiVersion: catalog.kubecarrier.io/v1alpha1
kind: Catalog
metadata:
name: default
spec:
tenantSelector: {}
catalogEntrySelector: {}
Back to Group
CatalogCondition.catalog.kubecarrier.io/v1alpha1
CatalogCondition contains details for the current condition of this Catalog.
Field | Description | Scheme | Required |
---|
type | Type is the type of the Catalog condition, currently (‘Ready’). | CatalogConditionType.catalog.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.catalog.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
CatalogList.catalog.kubecarrier.io/v1alpha1
CatalogList contains a list of Catalog.
Back to Group
CatalogSpec.catalog.kubecarrier.io/v1alpha1
CatalogSpec describes the desired contents of a Catalog.
Field | Description | Scheme | Required |
---|
catalogEntrySelector | CatalogEntrySelector selects CatalogEntry objects that should be part of this catalog. | *metav1.LabelSelector | false |
tenantSelector | TenantSelector selects Tenant objects that the catalog should be published to. | *metav1.LabelSelector | false |
Back to Group
CatalogStatus.catalog.kubecarrier.io/v1alpha1
CatalogStatus represents the observed state of Catalog.
Field | Description | Scheme | Required |
---|
tenants | Tenants is the list of the Tenants(Tenant) that selected by this Catalog. | []ObjectReference.catalog.kubecarrier.io/v1alpha1 | false |
entries | Entries is the list of the CatalogEntries that selected by this Catalog. | []ObjectReference.catalog.kubecarrier.io/v1alpha1 | false |
observedGeneration | ObservedGeneration is the most recent generation observed for this Catalog by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a Catalog’s current state. | []CatalogCondition.catalog.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | CatalogPhaseType.catalog.kubecarrier.io/v1alpha1 | false |
Back to Group
CatalogEntry.catalog.kubecarrier.io/v1alpha1
CatalogEntry controls how to offer a CRD to other Tenants.
A CatalogEntry references a single CRD, adds metadata to it and allows to limit field access for Tenants.
Simple Example
apiVersion: catalog.kubecarrier.io/v1alpha1
kind: CatalogEntry
metadata:
name: couchdbs.eu-west-1
spec:
metadata:
displayName: CouchDB
description: The compfy database
baseCRD:
name: couchdbs.eu-west-1.kubermatic
Example with limited fields
apiVersion: catalog.kubecarrier.io/v1alpha1
kind: CatalogEntry
metadata:
name: couchdbs.eu-west-1
spec:
metadata:
displayName: CouchDB
description: The compfy database
baseCRD:
name: couchdbs.eu-west-1.kubermatic
derive:
expose:
- versions:
- v1alpha1
fields:
- jsonPath: .spec.username
- jsonPath: .spec.password
- jsonPath: .status.phase
- jsonPath: .status.fauxtonAddress
- jsonPath: .status.address
- jsonPath: .status.observedGeneration
Back to Group
CatalogEntryCondition.catalog.kubecarrier.io/v1alpha1
CatalogEntryCondition contains details for the current condition of this CatalogEntry.
Field | Description | Scheme | Required |
---|
type | Type is the type of the CatalogEntry condition, currently (‘Ready’). | CatalogEntryConditionType.catalog.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.catalog.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
CatalogEntryList.catalog.kubecarrier.io/v1alpha1
CatalogEntryList contains a list of CatalogEntry.
Back to Group
CatalogEntryMetadata.catalog.kubecarrier.io/v1alpha1
CatalogEntryMetadata contains metadata of the CatalogEntry.
Field | Description | Scheme | Required |
---|
Back to Group
CatalogEntrySpec.catalog.kubecarrier.io/v1alpha1
CatalogEntrySpec describes the desired state of CatalogEntry.
Back to Group
CatalogEntryStatus.catalog.kubecarrier.io/v1alpha1
CatalogEntryStatus represents the observed state of CatalogEntry.
Field | Description | Scheme | Required |
---|
tenantCRD | TenantCRD holds the information about the Tenant facing CRD that is offered by this CatalogEntry. | *CRDInformation.catalog.kubecarrier.io/v1alpha1 | false |
providerCRD | ProviderCRD holds the information about the Provider facing CRD that is offered by this CatalogEntry. | *CRDInformation.catalog.kubecarrier.io/v1alpha1 | false |
observedGeneration | ObservedGeneration is the most recent generation observed for this CatalogEntry by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a CatalogEntry’s current state. | []CatalogEntryCondition.catalog.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | CatalogEntryPhaseType.catalog.kubecarrier.io/v1alpha1 | false |
Back to Group
DerivedConfig.catalog.kubecarrier.io/v1alpha1
DerivedConfig can be used to limit fields that should be exposed to a Tenant.
Back to Group
CatalogEntrySet.catalog.kubecarrier.io/v1alpha1
CatalogEntrySet manages a CustomResourceDiscoverySet and creates CatalogEntries for each CRD discovered from the selected ServiceClusters.
Example
See CatalogEntry documentation for more configuration details.
apiVersion: catalog.kubecarrier.io/v1alpha1
kind: CatalogEntrySet
metadata:
name: couchdbs
spec:
metadata:
displayName: CouchDB
description: The compfy database
discoverySet:
crd:
name: couchdbs.couchdb.io
serviceClusterSelector: {}
Back to Group
CatalogEntrySetCondition.catalog.kubecarrier.io/v1alpha1
CatalogEntrySetCondition contains details for the current condition of this CatalogEntrySet.
Field | Description | Scheme | Required |
---|
type | Type is the type of the CatalogEntrySet condition, currently (‘Ready’). | CatalogEntrySetConditionType.catalog.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.catalog.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
CatalogEntrySetList.catalog.kubecarrier.io/v1alpha1
CatalogEntrySetList contains a list of CatalogEntrySet.
Back to Group
CatalogEntrySetMetadata.catalog.kubecarrier.io/v1alpha1
CatalogEntrySetMetadata contains the metadata (display name, description, etc) of the CatalogEntrySet.
Field | Description | Scheme | Required |
---|
Back to Group
CatalogEntrySetSpec.catalog.kubecarrier.io/v1alpha1
CatalogEntrySetSpec defines the desired state of CatalogEntrySet.
Back to Group
CatalogEntrySetStatus.catalog.kubecarrier.io/v1alpha1
CatalogEntrySetStatus defines the observed state of CatalogEntrySet.
Field | Description | Scheme | Required |
---|
observedGeneration | ObservedGeneration is the most recent generation observed for this CatalogEntrySet by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a CatalogEntrySet’s current state. | []CatalogEntrySetCondition.catalog.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | CatalogEntrySetPhaseType.catalog.kubecarrier.io/v1alpha1 | false |
Back to Group
CustomResourceDiscoverySetConfig.catalog.kubecarrier.io/v1alpha1
Field | Description | Scheme | Required |
---|
crd | CRD references a CustomResourceDefinition within the ServiceCluster. | ObjectReference.catalog.kubecarrier.io/v1alpha1 | true |
serviceClusterSelector | ServiceClusterSelector references a set of ServiceClusters to search the CustomResourceDefinition on. | metav1.LabelSelector | true |
webhookStrategy | WebhookStrategy configs the webhook of the CRD which is registered in the management cluster by CustomResourceDiscovery object. There are two possible values for this configuration {None (by default), ServiceCluster} None (by default): Webhook will only check if there is an available ServiceClusterAssignment in the current Namespace. ServiceCluster: Webhook will call webhooks of the CRD in the ServiceCluster with dry-run flag. | corev1alpha1.WebhookStrategyType | false |
Back to Group
CRDInformation contains type information about the CRD.
Back to Group
CRDVersion.catalog.kubecarrier.io/v1alpha1
CRDVersion holds CRD version specific details.
Field | Description | Scheme | Required |
---|
name | Name of this version, for example: v1, v1alpha1, v1beta1 | string | true |
schema | Schema of this CRD version. | *apiextensionsv1.CustomResourceValidation | false |
storage | Storage indicates this version should be used when persisting custom resources to storage. There must be exactly one version with storage=true. | bool | false |
Back to Group
DerivedCustomResource.catalog.kubecarrier.io/v1alpha1
DerivedCustomResource derives a new CRD from a existing one.
Back to Group
DerivedCustomResourceCondition.catalog.kubecarrier.io/v1alpha1
DerivedCustomResourceCondition contains details for the current condition of this DerivedCustomResource.
Field | Description | Scheme | Required |
---|
type | Type is the type of the DerivedCustomResource condition, currently (‘Ready’). | DerivedCustomResourceConditionType.catalog.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.catalog.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
DerivedCustomResourceList.catalog.kubecarrier.io/v1alpha1
DerivedCustomResourceList contains a list of DerivedCustomResource.
Back to Group
DerivedCustomResourceSpec.catalog.kubecarrier.io/v1alpha1
DerivedCustomResourceSpec defines the desired state of DerivedCustomResource.
Back to Group
DerivedCustomResourceStatus.catalog.kubecarrier.io/v1alpha1
DerivedCustomResourceStatus defines the observed state of DerivedCustomResource.
Field | Description | Scheme | Required |
---|
observedGeneration | ObservedGeneration is the most recent generation observed for this DerivedCustomResource by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a DerivedCustomResource’s current state. | []DerivedCustomResourceCondition.catalog.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | DerivedCustomResourcePhaseType.catalog.kubecarrier.io/v1alpha1 | false |
derivedCR | DerivedCR holds information about the derived CRD. | *ObjectReference.catalog.kubecarrier.io/v1alpha1 | false |
Back to Group
FieldPath.catalog.kubecarrier.io/v1alpha1
FieldPath is specifying how to address a certain field.
Field | Description | Scheme | Required |
---|
jsonPath | JSONPath e.g. .spec.somefield.somesubfield | string | true |
Back to Group
VersionExposeConfig.catalog.kubecarrier.io/v1alpha1
VersionExposeConfig specifies which fields to expose in the derived CRD.
Field | Description | Scheme | Required |
---|
versions | specifies the versions of the referenced CRD, that this expose config applies to. The same version may not be specified in multiple VersionExposeConfigs. | []string | true |
fields | specifies the fields that should be present in the derived CRD. | []FieldPath.catalog.kubecarrier.io/v1alpha1 | true |
Back to Group
Offering.catalog.kubecarrier.io/v1alpha1
Offering is used for Tenants to discover services that have been made available to them.
Offering objects are created automatically by KubeCarrier in Account namespaces, that have a service offered to them via a Catalog.
Back to Group
OfferingList.catalog.kubecarrier.io/v1alpha1
OfferingList contains a list of Offering.
Back to Group
OfferingMetadata contains the metadata (display name, description, etc) of the Offering.
Field | Description | Scheme | Required |
---|
Back to Group
OfferingSpec.catalog.kubecarrier.io/v1alpha1
OfferingSpec defines the data (metadata, provider, crds, etc.) of Offering.
Back to Group
Provider.catalog.kubecarrier.io/v1alpha1
Provider exposes information of an Account with the Provider role.
Provider objects are created automatically by KubeCarrier in Account namespaces, that have a service offered to them via a Catalog.
Back to Group
ProviderList.catalog.kubecarrier.io/v1alpha1
ProviderList contains a list of Provider.
Back to Group
ProviderSpec.catalog.kubecarrier.io/v1alpha1
ProviderSpec defines the desired state of Provider
Back to Group
Region.catalog.kubecarrier.io/v1alpha1
Region exposes information about a Providers Cluster.
Region objects are created automatically by KubeCarrier in Account namespaces, that have a service offered to them via a Catalog.
Back to Group
RegionList.catalog.kubecarrier.io/v1alpha1
RegionList contains a list of Region.
Back to Group
RegionSpec.catalog.kubecarrier.io/v1alpha1
RegionSpec defines the desired state of Region
Field | Description | Scheme | Required |
---|
metadata | Metadata contains the metadata (display name, description, etc) of the ServiceCluster. | corev1alpha1.ServiceClusterMetadata | false |
provider | Provider references the Provider that this ServiceCluster belongs to. | ObjectReference.catalog.kubecarrier.io/v1alpha1 | true |
Back to Group
Tenant.catalog.kubecarrier.io/v1alpha1
Tenant exposes information about available Tenants on the platform and allows a Provider to set custom labels on them.
Tenant objects will be created for all Accounts with the role "Tenant" in all Account Namespaces with the role "Provider".
Back to Group
TenantList.catalog.kubecarrier.io/v1alpha1
TenantList contains a list of Tenant.
Back to Group
TenantSpec.catalog.kubecarrier.io/v1alpha1
TenantSpec defines the desired state of Tenant
Field | Description | Scheme | Required |
---|
Back to Group
CommonMetadata contains human-readable information shared for all catalog related objects.
Field | Description | Scheme | Required |
---|
displayName | DisplayName is the human-readable name of this Service. | string | true |
description | Description is the long and detailed description of the Service. | string | false |
shortDescription | ShortDescription is a single line short description of the Service. | string | true |
logo | Logo is the full sized logo of the service. | *Image.catalog.kubecarrier.io/v1alpha1 | false |
icon | Icon is a small squared logo of the service. | *Image.catalog.kubecarrier.io/v1alpha1 | false |
Back to Group
Image.catalog.kubecarrier.io/v1alpha1
Image describes an inlined image.
Field | Description | Scheme | Required |
---|
mediaType | MediaType of the included image in data. e.g. image/png, image/jpeg, image/svg | string | true |
data | Data is the image data. | []byte.catalog.kubecarrier.io/v1alpha1 | true |
Back to Group
ObjectReference.catalog.kubecarrier.io/v1alpha1
ObjectReference describes the link to another object in the same namespace.
Field | Description | Scheme | Required |
---|
name | | string | true |
Back to Group
Operator
The operator.kubecarrier.io
API group contains objects to interact with the KubeCarrier installation.
APIServer.operator.kubecarrier.io/v1alpha1
APIServer manages the deployment of the KubeCarrier central API server.
Back to Group
APIServerCondition.operator.kubecarrier.io/v1alpha1
APIServerCondition contains details for the current condition of this APIServer.
Field | Description | Scheme | Required |
---|
type | Type is the type of the APIServer condition, currently (‘Ready’). | APIServerConditionType.operator.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.operator.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
APIServerList.operator.kubecarrier.io/v1alpha1
APIServerList contains a list of APIServer
Back to Group
APIServerOIDCConfig.operator.kubecarrier.io/v1alpha1
Field | Description | Scheme | Required |
---|
issuerURL | IssuerURL is the URL the provider signs ID Tokens as. This will be the "iss" field of all tokens produced by the provider and is used for configuration discovery.\n\nThe URL is usually the provider’s URL without a path, for example "https://accounts.google.com" or "https://login.salesforce.com".\n\nThe provider must implement configuration discovery. See: https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig | string | true |
clientID | ClientID the JWT must be issued for, the "sub" field. This plugin only trusts a single client to ensure the plugin can be used with public providers.\n\nThe plugin supports the "authorized party" OpenID Connect claim, which allows specialized providers to issue tokens to a client for a different client. See: https://openid.net/specs/openid-connect-core-1_0.html#IDToken | string | true |
certificateAuthority | CertificateAuthority references the secret containing issuer’s CA in a PEM encoded root certificate of the provider. | ObjectReference.operator.kubecarrier.io/v1alpha1 | true |
usernameClaim | UsernameClaim is the JWT field to use as the user’s username. | string | true |
usernamePrefix | UsernamePrefix, if specified, causes claims mapping to username to be prefix with the provided value. A value "oidc:" would result in usernames like "oidc:john". | string | false |
groupsClaim | GroupsClaim, if specified, causes the OIDCAuthenticator to try to populate the user’s groups with an ID Token field. If the GroupsClaim field is present in an ID Token the value must be a string or list of strings. | string | false |
groupsPrefix | GroupsPrefix, if specified, causes claims mapping to group names to be prefixed with the value. A value "oidc:" would result in groups like "oidc:engineering" and "oidc:marketing". | string | false |
supportedSigningAlgs | SupportedSigningAlgs sets the accepted set of JOSE signing algorithms that can be used by the provider to sign tokens.\n\nhttps://tools.ietf.org/html/rfc7518#section-3.1\n\nThis value defaults to RS256, the value recommended by the OpenID Connect spec:\n\nhttps://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation | []string | false |
requiredClaims | RequiredClaims, if specified, causes the OIDCAuthenticator to verify that all the required claims key value pairs are present in the ID Token. | map[string]string | false |
Back to Group
APIServerSpec.operator.kubecarrier.io/v1alpha1
APIServerSpec defines the desired state of APIServer
Field | Description | Scheme | Required |
---|
tlsSecretRef | TLSSecretRef references the TLS certificate and private key for serving the KubeCarrier API. | *ObjectReference.operator.kubecarrier.io/v1alpha1 | false |
authentication | Authentication configuration | Authentication.operator.kubecarrier.io/v1alpha1 | false |
logLevel | LogLevel | *int.operator.kubecarrier.io/v1alpha1 | false |
Back to Group
APIServerStatus.operator.kubecarrier.io/v1alpha1
APIServerStatus defines the observed state of APIServer
Field | Description | Scheme | Required |
---|
observedGeneration | ObservedGeneration is the most recent generation observed for this APIServer by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a APIServer’s current state. | []APIServerCondition.operator.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | APIServerPhaseType.operator.kubecarrier.io/v1alpha1 | false |
Back to Group
Anonymous.operator.kubecarrier.io/v1alpha1
Field | Description | Scheme | Required |
---|
Back to Group
AuthenticationConfig.operator.kubecarrier.io/v1alpha1
Back to Group
ServiceAccount.operator.kubecarrier.io/v1alpha1
Field | Description | Scheme | Required |
---|
Back to Group
StaticUsers.operator.kubecarrier.io/v1alpha1
Back to Group
Catapult.operator.kubecarrier.io/v1alpha1
Catapult manages the deployment of the Catapult controller manager.
A Catapult instance is started for each CustomResourceDiscovery instance and responsible for reconciling CRD instances across Kubernetes Clusters.
Back to Group
CatapultCondition.operator.kubecarrier.io/v1alpha1
CatapultCondition contains details for the current condition of this Catapult.
Field | Description | Scheme | Required |
---|
type | Type is the type of the Catapult condition, currently (‘Ready’). | CatapultConditionType.operator.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.operator.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
CatapultList.operator.kubecarrier.io/v1alpha1
CatapultList contains a list of Catapult.
Back to Group
CatapultSpec.operator.kubecarrier.io/v1alpha1
CatapultSpec defines the desired state of Catapult.
Field | Description | Scheme | Required |
---|
managementClusterCRD | References the CRD in the Management Cluster. | CRDReference.operator.kubecarrier.io/v1alpha1 | true |
serviceClusterCRD | References the CRD in the ServiceCluster. | CRDReference.operator.kubecarrier.io/v1alpha1 | true |
serviceCluster | References the ServiceCluster object that this object belongs to. | ObjectReference.operator.kubecarrier.io/v1alpha1 | true |
webhookStrategy | WebhookStrategy configs the webhook of the CRD which is registered in the management cluster by this Catapult. There are two possible values for this configuration {None (by default), ServiceCluster} None (by default): Webhook will only check if there is an available ServiceClusterAssignment in the current Namespace. ServiceCluster: Webhook will call webhooks of the CRD in the ServiceCluster with dry-run flag. | corev1alpha1.WebhookStrategyType | false |
paused | Paused tell controller to pause reconciliation process and assume that Catapult is ready | PausedFlagType.operator.kubecarrier.io/v1alpha1 | false |
logLevel | LogLevel | *int.operator.kubecarrier.io/v1alpha1 | false |
Back to Group
CatapultStatus.operator.kubecarrier.io/v1alpha1
CatapultStatus defines the observed state of Catapult.
Field | Description | Scheme | Required |
---|
observedGeneration | ObservedGeneration is the most recent generation observed for this Catapult by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a Catapult’s current state. | []CatapultCondition.operator.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | CatapultPhaseType.operator.kubecarrier.io/v1alpha1 | false |
Back to Group
Elevator.operator.kubecarrier.io/v1alpha1
Elevator manages the deployment of the Elevator controller manager.
For each DerivedCustomResource
a Elevator instance is launched to propagate the derived CRD instance into the Namespace of it’s provider.
Back to Group
ElevatorCondition.operator.kubecarrier.io/v1alpha1
ElevatorCondition contains details for the current condition of this Elevator.
Field | Description | Scheme | Required |
---|
type | Type is the type of the Elevator condition, currently (‘Ready’). | ElevatorConditionType.operator.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.operator.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
ElevatorList.operator.kubecarrier.io/v1alpha1
ElevatorList contains a list of Elevator.
Back to Group
ElevatorSpec.operator.kubecarrier.io/v1alpha1
ElevatorSpec defines the desired state of Elevator.
Back to Group
ElevatorStatus.operator.kubecarrier.io/v1alpha1
ElevatorStatus defines the observed state of Elevator.
Field | Description | Scheme | Required |
---|
observedGeneration | ObservedGeneration is the most recent generation observed for this Elevator by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a Elevator’s current state. | []ElevatorCondition.operator.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | ElevatorPhaseType.operator.kubecarrier.io/v1alpha1 | false |
Back to Group
Ferry.operator.kubecarrier.io/v1alpha1
Ferry manages the deployment of the Ferry controller manager.
Ferry lives in the Provider Namespace. For each ferry the KubeCarrier operator spins up
the ferry controller deployment, necessary roles, service accounts, and role bindings.
The reason for ferry controller deployment are multiples:
- security –> KubeCarrier operator has greater privileges then ferry controller
- resource isolation –> each ferry controller pod operates only on a single service cluster,
thus resource allocation and monitoring is separate per ferry. This allows finer grade
resource tuning and monitoring
- flexibility –> If needed different ferries could have different deployments depending on
their specific need (e.g. KubeCarrier image version for gradual rolling upgrade, different resource allocation, etc),
Back to Group
FerryCondition.operator.kubecarrier.io/v1alpha1
FerryCondition contains details for the current condition of this Ferry.
Field | Description | Scheme | Required |
---|
lastTransitionTime | LastTransitionTime is the last time the condition transit from one status to another. | metav1.Time | true |
message | Message is the human readable message indicating details about last transition. | string | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
status | Status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.operator.kubecarrier.io/v1alpha1 | true |
type | Type of the condition, currently (‘Ready’). | FerryConditionType.operator.kubecarrier.io/v1alpha1 | true |
Back to Group
FerryList.operator.kubecarrier.io/v1alpha1
FerryList contains a list of Ferry.
Back to Group
FerrySpec.operator.kubecarrier.io/v1alpha1
FerrySpec defines the desired state of Ferry.
Field | Description | Scheme | Required |
---|
kubeconfigSecret | KubeconfigSecret specifies the Kubeconfig to use when connecting to the ServiceCluster. | ObjectReference.operator.kubecarrier.io/v1alpha1 | true |
paused | Paused tell controller to pause reconciliation process and assume that Ferry is ready | PausedFlagType.operator.kubecarrier.io/v1alpha1 | false |
logLevel | LogLevel | *int.operator.kubecarrier.io/v1alpha1 | false |
Back to Group
FerryStatus.operator.kubecarrier.io/v1alpha1
FerryStatus defines the observed state of Ferry.
Field | Description | Scheme | Required |
---|
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | FerryPhaseType.operator.kubecarrier.io/v1alpha1 | false |
conditions | Conditions is a list of all conditions this Ferry is in. | []FerryCondition.operator.kubecarrier.io/v1alpha1 | false |
observedGeneration | The most recent generation observed by the controller. | int64 | false |
Back to Group
KubeCarrier.operator.kubecarrier.io/v1alpha1
KubeCarrier manages the deployment of the KubeCarrier controller manager.
Back to Group
KubeCarrierCondition.operator.kubecarrier.io/v1alpha1
KubeCarrierCondition contains details for the current condition of this KubeCarrier.
Field | Description | Scheme | Required |
---|
type | Type is the type of the KubeCarrier condition, currently (‘Ready’). | KubeCarrierConditionType.operator.kubecarrier.io/v1alpha1 | true |
status | Status is the status of the condition, one of (‘True’, ‘False’, ‘Unknown’). | ConditionStatus.operator.kubecarrier.io/v1alpha1 | true |
lastTransitionTime | LastTransitionTime is the last time the condition transits from one status to another. | metav1.Time | true |
reason | Reason is the (brief) reason for the condition’s last transition. | string | true |
message | Message is the human readable message indicating details about last transition. | string | true |
Back to Group
KubeCarrierList.operator.kubecarrier.io/v1alpha1
KubeCarrierList contains a list of KubeCarrier
Back to Group
KubeCarrierSpec.operator.kubecarrier.io/v1alpha1
KubeCarrierSpec defines the desired state of KubeCarrier
Field | Description | Scheme | Required |
---|
api | | APIServerSpec.operator.kubecarrier.io/v1alpha1 | false |
paused | Paused tell controller to pause reconciliation process and assume that KubaCarrier is ready | PausedFlagType.operator.kubecarrier.io/v1alpha1 | false |
logLevel | LogLevel | int.operator.kubecarrier.io/v1alpha1 | false |
Back to Group
KubeCarrierStatus.operator.kubecarrier.io/v1alpha1
KubeCarrierStatus defines the observed state of KubeCarrier
Field | Description | Scheme | Required |
---|
observedGeneration | ObservedGeneration is the most recent generation observed for this KubeCarrier by the controller. | int64 | false |
conditions | Conditions represents the latest available observations of a KubeCarrier’s current state. | []KubeCarrierCondition.operator.kubecarrier.io/v1alpha1 | false |
phase | DEPRECATED. Phase represents the current lifecycle state of this object. Consider this field DEPRECATED, it will be removed as soon as there is a mechanism to map conditions to strings when printing the property. This is only for display purpose, for everything else use conditions. | KubeCarrierPhaseType.operator.kubecarrier.io/v1alpha1 | false |
Back to Group
CRDReference.operator.kubecarrier.io/v1alpha1
CRDReference references a CustomResourceDefitition.
Field | Description | Scheme | Required |
---|
kind | | string | true |
version | | string | true |
group | | string | true |
plural | | string | true |
Back to Group
ObjectReference.operator.kubecarrier.io/v1alpha1
ObjectReference describes the link to another object in the same namespace
Field | Description | Scheme | Required |
---|
name | | string | true |
Back to Group