v1alpha3

package
v1.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha3 contains API Schema definitions for the spec v1alpha3 API group +kubebuilder:object:generate=true +groupName=servicebinding.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "servicebinding.io", Version: "v1alpha3"}

	// 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
)
View Source
var DefaultTemplate = ClusterWorkloadResourceMappingTemplate{
	Version:     "*",
	Annotations: ".spec.template.spec.annotations",
	Volumes:     ".spec.template.spec.volumes",
	Containers: []ClusterWorkloadResourceMappingContainer{
		{
			Path:         ".spec.template.spec.containers[*]",
			Name:         ".name",
			Env:          ".env",
			VolumeMounts: ".volumeMounts",
		},
		{
			Path:         ".spec.template.spec.initContainers[*]",
			Name:         ".name",
			Env:          ".env",
			VolumeMounts: ".volumeMounts",
		},
	},
}

Functions

This section is empty.

Types

type ClusterWorkloadResourceMapping added in v1.1.0

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

func (*ClusterWorkloadResourceMapping) DeepCopy added in v1.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkloadResourceMapping.

func (*ClusterWorkloadResourceMapping) DeepCopyInto added in v1.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterWorkloadResourceMapping) DeepCopyObject added in v1.1.0

func (in *ClusterWorkloadResourceMapping) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterWorkloadResourceMappingContainer added in v1.1.0

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.
	// +optional
	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`.
	// +optional
	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`.
	// +optional
	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.

func (*ClusterWorkloadResourceMappingContainer) DeepCopy added in v1.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkloadResourceMappingContainer.

func (*ClusterWorkloadResourceMappingContainer) DeepCopyInto added in v1.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterWorkloadResourceMappingList added in v1.1.0

type ClusterWorkloadResourceMappingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []ClusterWorkloadResourceMapping `json:"items"`
}

ClusterWorkloadResourceMappingList contains a list of ClusterWorkloadResourceMapping

func (*ClusterWorkloadResourceMappingList) DeepCopy added in v1.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkloadResourceMappingList.

func (*ClusterWorkloadResourceMappingList) DeepCopyInto added in v1.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterWorkloadResourceMappingList) DeepCopyObject added in v1.1.0

func (in *ClusterWorkloadResourceMappingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterWorkloadResourceMappingSpec added in v1.1.0

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

func (*ClusterWorkloadResourceMappingSpec) DeepCopy added in v1.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkloadResourceMappingSpec.

func (*ClusterWorkloadResourceMappingSpec) DeepCopyInto added in v1.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterWorkloadResourceMappingTemplate added in v1.1.0

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`.
	// +optional
	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.
	// +optional
	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`.
	// +optional
	Volumes string `json:"volumes,omitempty"`
}

ClusterWorkloadResourceMappingTemplate defines the mapping for a specific version of an workload resource to a logical PodTemplateSpec-like structure.

func (*ClusterWorkloadResourceMappingTemplate) DeepCopy added in v1.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterWorkloadResourceMappingTemplate.

func (*ClusterWorkloadResourceMappingTemplate) DeepCopyInto added in v1.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

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

func (*EnvMapping) DeepCopy

func (in *EnvMapping) DeepCopy() *EnvMapping

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvMapping.

func (*EnvMapping) DeepCopyInto

func (in *EnvMapping) DeepCopyInto(out *EnvMapping)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

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

func (*ServiceBinding) DeepCopy

func (in *ServiceBinding) DeepCopy() *ServiceBinding

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBinding.

func (*ServiceBinding) DeepCopyInto

func (in *ServiceBinding) DeepCopyInto(out *ServiceBinding)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServiceBinding) DeepCopyObject

func (in *ServiceBinding) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ServiceBinding) GetSpec

func (sb *ServiceBinding) GetSpec() interface{}

func (*ServiceBinding) HasDeletionTimestamp

func (sb *ServiceBinding) HasDeletionTimestamp() bool

func (*ServiceBinding) StatusConditions

func (r *ServiceBinding) StatusConditions() []metav1.Condition

type ServiceBindingList

type ServiceBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []ServiceBinding `json:"items"`
}

ServiceBindingList contains a list of ServiceBinding

func (*ServiceBindingList) DeepCopy

func (in *ServiceBindingList) DeepCopy() *ServiceBindingList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBindingList.

func (*ServiceBindingList) DeepCopyInto

func (in *ServiceBindingList) DeepCopyInto(out *ServiceBindingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServiceBindingList) DeepCopyObject

func (in *ServiceBindingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

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

func (*ServiceBindingSecretReference) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBindingSecretReference.

func (*ServiceBindingSecretReference) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

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

func (*ServiceBindingServiceReference) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBindingServiceReference.

func (*ServiceBindingServiceReference) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceBindingSpec

type ServiceBindingSpec struct {
	// Name is the name of the service as projected into the workload container.  Defaults to .metadata.name.
	// +kubebuilder:validation:Pattern=`^[a-z0-9\-\.]*$`
	// +kubebuilder:validation:MaxLength=253
	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

func (*ServiceBindingSpec) DeepCopy

func (in *ServiceBindingSpec) DeepCopy() *ServiceBindingSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBindingSpec.

func (*ServiceBindingSpec) DeepCopyInto

func (in *ServiceBindingSpec) DeepCopyInto(out *ServiceBindingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

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

func (*ServiceBindingStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBindingStatus.

func (*ServiceBindingStatus) DeepCopyInto

func (in *ServiceBindingStatus) DeepCopyInto(out *ServiceBindingStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

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

func (*ServiceBindingWorkloadReference) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceBindingWorkloadReference.

func (*ServiceBindingWorkloadReference) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL