Documentation
¶
Index ¶
Constants ¶
View Source
const ( ServiceBindingRootEnv = "SERVICE_BINDING_ROOT" Group = "projector.servicebinding.io" VolumePrefix = "servicebinding-" SecretAnnotationPrefix = Group + "/secret-" TypeAnnotationPrefix = Group + "/type-" ProviderAnnotationPrefix = Group + "/provider-" )
Variables ¶
This section is empty.
Functions ¶
func NewMetaPodTemplate ¶
func NewMetaPodTemplate(ctx context.Context, workload runtime.Object, mapping *servicebindingv1beta1.ClusterWorkloadResourceMappingTemplate) (*metaPodTemplate, error)
NewMetaPodTemplate coerces the workload object into a MetaPodTemplate following the mapping definition. The resulting MetaPodTemplate may have one or more service bindings applied to it at a time, but should not be reused. The workload must be JSON marshalable.
Types ¶
type MappingSource ¶
type MappingSource interface {
// LookupMapping the mapping template for the workload. Typically a ClusterWorkloadResourceMapping is defined for the workload's
// fully qualified resource `{resource}.{group}`. The workload's version is either directly matched, or the wildcard version `*`
// mapping template is returned. If no explicit mapping is found, a mapping appropriate for a PodSpecable resource may be used.
LookupMapping(ctx context.Context, workload runtime.Object) (*servicebindingv1beta1.ClusterWorkloadResourceMappingTemplate, error)
}
func NewStaticMapping ¶
func NewStaticMapping(mapping *servicebindingv1beta1.ClusterWorkloadResourceMappingTemplate) MappingSource
NewStaticMapping returns a single ClusterWorkloadResourceMappingTemplate for each lookup. It is useful for testing.
type ServiceBindingProjector ¶
type ServiceBindingProjector interface {
// Project the service into the workload as defined by the ServiceBinding.
Project(ctx context.Context, binding *servicebindingv1beta1.ServiceBinding, workload runtime.Object) error
// Unproject the serice from the workload as defined by the ServiceBinding.
Unproject(ctx context.Context, binding *servicebindingv1beta1.ServiceBinding, workload runtime.Object) error
}
func New ¶
func New(mappingSource MappingSource) ServiceBindingProjector
New creates a service binding projector configured for the mapping source. The binding projector is typically created once and applied to multiple workloads.
Click to show internal directories.
Click to hide internal directories.