Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the service binding v1 API group +kubebuilder:object:generate=true +groupName=servicebinding.io
Index ¶
- Constants
- Variables
- type ClusterWorkloadResourceMapping
- type ClusterWorkloadResourceMappingContainer
- type ClusterWorkloadResourceMappingList
- type ClusterWorkloadResourceMappingSpec
- type ClusterWorkloadResourceMappingTemplate
- type EnvMapping
- type ServiceBinding
- type ServiceBindingList
- type ServiceBindingSecretReference
- type ServiceBindingServiceReference
- type ServiceBindingSpec
- type ServiceBindingStatus
- type ServiceBindingWorkloadReference
Constants ¶
const ( // ServiceBindingReady means the ServiceBinding has projected the ProvisionedService // secret and the Workload is ready to start. It does not indicate the condition // of either the Service or the Workload resources referenced. ServiceBindingConditionReady = "Ready" )
These are valid conditions of ServiceBinding.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "servicebinding.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ClusterWorkloadResourceMapping ¶
type ClusterWorkloadResourceMapping struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterWorkloadResourceMappingSpec `json:"spec,omitempty"` }
ClusterWorkloadResourceMapping is the Schema for the clusterworkloadresourcemappings API
type ClusterWorkloadResourceMappingContainer ¶
type ClusterWorkloadResourceMappingContainer struct { // Path is the JSONPath within the workload resource that matches an existing fragment that is container-like. Path string `json:"path"` // Name is a Restricted JSONPath that references the name of the container with the container-like workload resource // fragment. If not defined, container name filtering is ignored. Name string `json:"name,omitempty"` // Env is a Restricted JSONPath that references the slice of environment variables for the container with the // container-like workload resource fragment. The referenced location is created if it does not exist. Defaults // to `.envs`. Env string `json:"env,omitempty"` // VolumeMounts is a Restricted JSONPath that references the slice of volume mounts for the container with the // container-like workload resource fragment. The referenced location is created if it does not exist. Defaults // to `.volumeMounts`. VolumeMounts string `json:"volumeMounts,omitempty"` }
ClusterWorkloadResourceMappingContainer defines the mapping for a specific fragment of an workload resource to a Container-like structure.
Each mapping defines exactly one path that may match multiple container-like fragments within the workload resource. For each object matching the path the name, env and volumeMounts expressions are resolved to find those structures.
type ClusterWorkloadResourceMappingList ¶
type ClusterWorkloadResourceMappingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterWorkloadResourceMapping `json:"items"` }
ClusterWorkloadResourceMappingList contains a list of ClusterWorkloadResourceMapping
type ClusterWorkloadResourceMappingSpec ¶
type ClusterWorkloadResourceMappingSpec struct { // Versions is the collection of versions for a given resource, with mappings. Versions []ClusterWorkloadResourceMappingTemplate `json:"versions,omitempty"` }
ClusterWorkloadResourceMappingSpec defines the desired state of ClusterWorkloadResourceMapping
type ClusterWorkloadResourceMappingTemplate ¶
type ClusterWorkloadResourceMappingTemplate struct { // Version is the version of the workload resource that this mapping is for. Version string `json:"version"` // Annotations is a Restricted JSONPath that references the annotations map within the workload resource. These // annotations must end up in the resulting Pod, and are generally not the workload resource's annotations. // Defaults to `.spec.template.metadata.annotations`. Annotations string `json:"annotations,omitempty"` // Containers is the collection of mappings to container-like fragments of the workload resource. Defaults to // mappings appropriate for a PodSpecable resource. Containers []ClusterWorkloadResourceMappingContainer `json:"containers,omitempty"` // Volumes is a Restricted JSONPath that references the slice of volumes within the workload resource. Defaults to // `.spec.template.spec.volumes`. Volumes string `json:"volumes,omitempty"` }
ClusterWorkloadResourceMappingTemplate defines the mapping for a specific version of an workload resource to a logical PodTemplateSpec-like structure.
type EnvMapping ¶
type EnvMapping struct { // Name is the name of the environment variable Name string `json:"name"` // Key is the key in the Secret that will be exposed Key string `json:"key"` }
EnvMapping defines a mapping from the value of a Secret entry to an environment variable
type ServiceBinding ¶
type ServiceBinding struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ServiceBindingSpec `json:"spec,omitempty"` Status ServiceBindingStatus `json:"status,omitempty"` }
ServiceBinding is the Schema for the servicebindings API
type ServiceBindingList ¶
type ServiceBindingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ServiceBinding `json:"items"` }
ServiceBindingList contains a list of ServiceBinding
type ServiceBindingSecretReference ¶
type ServiceBindingSecretReference struct { // Name of the referent secret. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Name string `json:"name"` }
ServiceBindingSecretReference defines a mirror of corev1.LocalObjectReference
type ServiceBindingServiceReference ¶
type ServiceBindingServiceReference struct { // API version of the referent. APIVersion string `json:"apiVersion"` // Kind of the referent. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds Kind string `json:"kind"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Name string `json:"name"` }
ServiceBindingServiceReference defines a subset of corev1.ObjectReference
type ServiceBindingSpec ¶
type ServiceBindingSpec struct { // Name is the name of the service as projected into the workload container. Defaults to .metadata.name. Name string `json:"name,omitempty"` // Type is the type of the service as projected into the workload container Type string `json:"type,omitempty"` // Provider is the provider of the service as projected into the workload container Provider string `json:"provider,omitempty"` // Workload is a reference to an object Workload ServiceBindingWorkloadReference `json:"workload"` // Service is a reference to an object that fulfills the ProvisionedService duck type Service ServiceBindingServiceReference `json:"service"` // Env is the collection of mappings from Secret entries to environment variables Env []EnvMapping `json:"env,omitempty"` }
ServiceBindingSpec defines the desired state of ServiceBinding
type ServiceBindingStatus ¶
type ServiceBindingStatus struct { // ObservedGeneration is the 'Generation' of the ServiceBinding that // was last processed by the controller. ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions are the conditions of this ServiceBinding Conditions []metav1.Condition `json:"conditions,omitempty"` // Binding exposes the projected secret for this ServiceBinding Binding *ServiceBindingSecretReference `json:"binding,omitempty"` }
ServiceBindingStatus defines the observed state of ServiceBinding
type ServiceBindingWorkloadReference ¶
type ServiceBindingWorkloadReference struct { // API version of the referent. APIVersion string `json:"apiVersion"` // Kind of the referent. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds Kind string `json:"kind"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Name string `json:"name,omitempty"` // Selector is a query that selects the workload or workloads to bind the service to Selector *metav1.LabelSelector `json:"selector,omitempty"` // Containers describes which containers in a Pod should be bound to Containers []string `json:"containers,omitempty"` }
ServiceBindingWorkloadReference defines a subset of corev1.ObjectReference with extensions