Documentation ¶
Overview ¶
Package manifests contains types and functionality around generating (rendering) the descriptors of the component's dependent resources. Most prominently, this is the Generator interface itself, and some tooling to enhance or transform existing generators.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MergeMapInto ¶ added in v0.3.41
Deep-merge second map (y) over first map (x) with the usual logic. The first map will be changed (unless y is empty or nil), the second map will not be changed. The first map must not be nil, the second map is allowed to be nil.
Types ¶
type DummyGenerator ¶
type DummyGenerator struct{}
DummyGenerator is a generator that does nothing.
func NewDummyGenerator ¶
func NewDummyGenerator() (*DummyGenerator, error)
Create a new DummyGenerator.
type Generator ¶
type Generator interface {
Generate(ctx context.Context, namespace string, name string, parameters types.Unstructurable) ([]client.Object, error)
}
Resource generator interface. When called from the reconciler, the arguments namespace and name will match the component's namespace and name or, if the component or its spec implement the PlacementConfiguration interface, the return values of the GetDeploymentNamespace(), GetDeploymentName() methods (if non-empty). The parameters argument will be assigned the return value of the component's GetSpec() method.
type ObjectTransformer ¶
type ObjectTransformer interface {
TransformObjects(namespace string, name string, objects []client.Object) ([]client.Object, error)
}
Object transformer interface. Allows to manipulate the parameters returned by an existing generator.
type ParameterTransformer ¶
type ParameterTransformer interface {
TransformParameters(namespace string, name string, parameters types.Unstructurable) (types.Unstructurable, error)
}
Parameter transformer interface. Allows to manipulate the parameters passed to an existing generator.
type TemplateParameterTransformer ¶
type TemplateParameterTransformer struct {
// contains filtered or unexported fields
}
TemplateParameterTransformer allows to transform parameters through a given go template. The template can use all functions from the sprig library, plus toYaml, fromYaml, toJson, fromJson, required.
func NewTemplateParameterTransformer ¶
func NewTemplateParameterTransformer(fsys fs.FS, path string) (*TemplateParameterTransformer, error)
Create a new TemplateParameterTransformer (reading the template from the given fsys and path). If fsys is nil, the local OS filesystem will be used.
func (*TemplateParameterTransformer) TransformParameters ¶
func (t *TemplateParameterTransformer) TransformParameters(namespace string, name string, parameters types.Unstructurable) (types.Unstructurable, error)
Transform parameters.
type TransformableGenerator ¶
type TransformableGenerator interface { Generator WithParameterTransformer(transformer ParameterTransformer) TransformableGenerator WithObjectTransformer(transformer ObjectTransformer) TransformableGenerator }
Interface for generators that can be enhanced with parameter/object transformers.
func NewGenerator ¶
func NewGenerator(generator Generator) TransformableGenerator
Wrap a given Generator into a TransformableGenerator, to allow to attach further parameter or object transformers to it.
Directories ¶
Path | Synopsis |
---|---|
Package manifests contains the HelmGenerator implementation of the Generator interface.
|
Package manifests contains the HelmGenerator implementation of the Generator interface. |
Package manifests contains the KustomizeGenerator implementation of the Generator interface.
|
Package manifests contains the KustomizeGenerator implementation of the Generator interface. |