Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // KnownCompositeAnnotations are annotations that will be registered by // default KnownCompositeAnnotations = []string{} // KnownCompositeLabels are labels that will be registered by default. KnownCompositeLabels = []string{ labelKeyClaimName, labelKeyClaimNamespace, } // KnownResourceAnnotations are annotations that will be registered by // default KnownResourceAnnotations = []string{ meta.AnnotationKeyExternalName, meta.AnnotationKeyExternalCreatePending, meta.AnnotationKeyExternalCreateSucceeded, meta.AnnotationKeyExternalCreateFailed, } // KnownResourceLabels are labels that will be registered by default. KnownResourceLabels = []string{} )
Functions ¶
Types ¶
type ComposedTemplateSkeleton ¶
type ComposedTemplateSkeleton interface { // WithName sets the name of this composeTemplateSkeleton. WithName(name string) ComposedTemplateSkeleton // WithPatches adds the following patches to this composeTemplateSkeleton. WithPatches(patches ...xapiextv1.Patch) ComposedTemplateSkeleton // WithUnsafePatches is similar to WithPatches but the field paths of the // composeTemplateSkeletons will not be validated. WithUnsafePatches(patches ...xapiextv1.Patch) ComposedTemplateSkeleton // WithConnectionDetails adds the following connection details to this // composeTemplateSkeleton. WithConnectionDetails(connectionDetails ...xapiextv1.ConnectionDetail) ComposedTemplateSkeleton // WithReadinessChecks adds the following readiness checks to this // composeTemplateSkeleton. WithReadinessChecks(checks ...xapiextv1.ReadinessCheck) ComposedTemplateSkeleton // RegisterAnnotations marks the given resource annotations as safe // so they will be treated as a valid field in patch paths. RegisterAnnotations(annotationKeys ...string) ComposedTemplateSkeleton // RegisterLabels marks the given resource label as safe // so they will be treated as a valid field in patch paths. RegisterLabels(labelsKeys ...string) ComposedTemplateSkeleton // RegisterFieldPaths marks the given resource paths as safe so ti will // be treated a valid in patch paths. RegisterFieldPaths(paths ...string) ComposedTemplateSkeleton }
ComposedTemplateSkeleton represents the draft for a compositionSkeleton composeTemplateSkeleton.
type CompositionBuildRunner ¶
type CompositionBuildRunner interface { // Build generates all compositions from the builder delegates and sends // them to the output writer. Build() error }
CompositionBuildRunner specifies the interface for a composition builder.
func NewRunner ¶
func NewRunner(config RunnerConfig) CompositionBuildRunner
NewRunner creates a new CompositionBuildRunner instance.
type CompositionBuilder ¶
type CompositionBuilder interface { // GetCompositeTypeRef returns the CompositeTypeReference for the // composition to be build. GetCompositeTypeRef() ObjectKindReference // Build builds a composition using the type. Build(composition CompositionSkeleton) }
CompositionBuilder specifies the interface for user defined type that is able to build a composition.
type CompositionSkeleton ¶
type CompositionSkeleton interface { // WithName sets the metadata.name of the composition to be built. WithName(name string) CompositionSkeleton // NewResource creates a new ComposedTemplateSkeleton with the given base. NewResource(base ObjectKindReference) ComposedTemplateSkeleton // WithPublishConnectionDetailsWithStoreConfig sets the // PublishConnectionDetailsWithStoreConfig of this CompositionSkeleton. WithPublishConnectionDetailsWithStoreConfig(ref *xapiextv1.StoreConfigReference) CompositionSkeleton // WithWriteConnectionSecretsToNamespace sets the // WriteConnectionSecretsToNamespace of this compositionSkeleton. WithWriteConnectionSecretsToNamespace(namespace *string) CompositionSkeleton // RegisterCompositeAnnotations marks the given composite annotations as safe // so it will be treated as a valid field in patch paths. RegisterCompositeAnnotations(annotationKeys ...string) CompositionSkeleton // RegisterCompositeLabels marks the given composite labels as safe // so it will be treated as a valid field in patch paths. RegisterCompositeLabels(labelKeys ...string) CompositionSkeleton // RegisterCompositeFieldPaths marks the given composite paths as safe so // they will be treated a valid in patch paths. RegisterCompositeFieldPaths(paths ...string) CompositionSkeleton }
CompositionSkeleton represents the build time state of a composition.
type CompositionWriter ¶
type CompositionWriter interface { // Write writes the given composition to the destintation output. Write(c xapiextv1.Composition) error }
CompositionWriter specifies the interface for a delegate that writes the generated composition to the target destination.
func NewDirectoryWriter ¶
func NewDirectoryWriter(dir string) CompositionWriter
NewDirectoryWriter creates a new CompositionWriter that writes each composition to the given directory using the objects name as filename.
func NewWriterWriter ¶
func NewWriterWriter(w io.Writer) CompositionWriter
NewWriterWriter creates a CompositionWriter that writes to the given io.Writer.
type Object ¶
type Object interface { runtime.Object SetGroupVersionKind(gvk schema.GroupVersionKind) }
Object is an extension of the k8s runtime.Object with additional functions that are required by Crossbuildec.
type ObjectKindReference ¶
type ObjectKindReference struct { // GroupVersionKind is the GroupVersionKind for the composite type. GroupVersionKind schema.GroupVersionKind // Object is an instance of the composite type. Object Object }
ObjectKindReference contains the group version kind and instance of a runtime.Object.
type RunnerConfig ¶
type RunnerConfig struct { Builder []CompositionBuilder Writer CompositionWriter }
RunnerConfig specifies a new composition runner config.