Documentation ¶
Index ¶
- Variables
- func ObjectsFromBytes(ctx context.Context, path string, content []byte) (objects []unstructured.Unstructured, err error)
- func TransformEachObject(ctx context.Context, packageContent *PackageContent, ...) error
- func ValidateEachObject(ctx context.Context, mm ManifestMap, validate ValidateEachObjectFn) error
- type CommonObjectLabelsTransformer
- type Loader
- func (l *Loader) LoadFromFS(ctx context.Context, fs fs.FS, opts ...LoaderOption) (*PackageContent, error)
- func (l *Loader) LoadFromFileMap(ctx context.Context, fileMap map[string][]byte, opts ...LoaderOption) (*PackageContent, error)
- func (l *Loader) LoadFromImage(ctx context.Context, image v1.Image, opts ...LoaderOption) (*PackageContent, error)
- func (l *Loader) LoadFromPath(ctx context.Context, path string, opts ...LoaderOption) (*PackageContent, error)
- type LoaderOption
- type LoaderOptions
- type ManifestMap
- type ManifestMapLoader
- type ObjectGVKValidator
- type ObjectLabelsValidator
- type ObjectPhaseAnnotationValidator
- type PackageContent
- type PackageManifestLoader
- type PackageScopeValidator
- type TransformEachObjectFn
- type Transformer
- type TransformerList
- type ValidateEachObjectFn
- type Validator
- type ValidatorList
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // DefaultValidators that don't require any inputs. DefaultValidators = ValidatorList{ &ObjectGVKValidator{}, &ObjectLabelsValidator{}, &ObjectPhaseAnnotationValidator{}, } )
Functions ¶
func ObjectsFromBytes ¶
func ObjectsFromBytes(ctx context.Context, path string, content []byte) ( objects []unstructured.Unstructured, err error, )
func TransformEachObject ¶
func TransformEachObject(ctx context.Context, packageContent *PackageContent, transform TransformEachObjectFn) error
func ValidateEachObject ¶
func ValidateEachObject(ctx context.Context, mm ManifestMap, validate ValidateEachObjectFn) error
Types ¶
type CommonObjectLabelsTransformer ¶
func (CommonObjectLabelsTransformer) Transform ¶
func (t CommonObjectLabelsTransformer) Transform(ctx context.Context, packageContent *PackageContent) error
type Loader ¶
type Loader struct {
// contains filtered or unexported fields
}
func (*Loader) LoadFromFS ¶
func (l *Loader) LoadFromFS(ctx context.Context, fs fs.FS, opts ...LoaderOption) (*PackageContent, error)
func (*Loader) LoadFromFileMap ¶
func (l *Loader) LoadFromFileMap(ctx context.Context, fileMap map[string][]byte, opts ...LoaderOption) (*PackageContent, error)
func (*Loader) LoadFromImage ¶
func (l *Loader) LoadFromImage(ctx context.Context, image v1.Image, opts ...LoaderOption) (*PackageContent, error)
func (*Loader) LoadFromPath ¶
func (l *Loader) LoadFromPath(ctx context.Context, path string, opts ...LoaderOption) (*PackageContent, error)
type LoaderOption ¶
type LoaderOption func(opt *LoaderOptions)
func WithByteTransformers ¶
func WithByteTransformers(transformer ...packagebytes.Transformer) LoaderOption
func WithByteValidators ¶
func WithByteValidators(validators ...packagebytes.Validator) LoaderOption
func WithManifestTransformers ¶
func WithManifestTransformers(transformer ...Transformer) LoaderOption
func WithManifestValidators ¶
func WithManifestValidators(validators ...Validator) LoaderOption
type LoaderOptions ¶
type LoaderOptions struct {
// contains filtered or unexported fields
}
type ManifestMap ¶
type ManifestMap map[string][]unstructured.Unstructured
Maps filenames to kubernetes manifests.
func (ManifestMap) ToFileMap ¶
func (mm ManifestMap) ToFileMap() (packagebytes.FileMap, error)
Converts the PackageImage back into a FileMap.
type ManifestMapLoader ¶
type ManifestMapLoader struct{}
func NewManifestMapLoader ¶
func NewManifestMapLoader() *ManifestMapLoader
func (*ManifestMapLoader) FromFileMap ¶
func (l *ManifestMapLoader) FromFileMap(ctx context.Context, fileMap packagebytes.FileMap) (ManifestMap, error)
type ObjectGVKValidator ¶
type ObjectGVKValidator struct{}
func (*ObjectGVKValidator) Validate ¶
func (v *ObjectGVKValidator) Validate(ctx context.Context, packageContent *PackageContent) error
type ObjectLabelsValidator ¶
type ObjectLabelsValidator struct{}
func (*ObjectLabelsValidator) Validate ¶
func (v *ObjectLabelsValidator) Validate(ctx context.Context, packageContent *PackageContent) error
type ObjectPhaseAnnotationValidator ¶
type ObjectPhaseAnnotationValidator struct{}
func (*ObjectPhaseAnnotationValidator) Validate ¶
func (v *ObjectPhaseAnnotationValidator) Validate(ctx context.Context, packageContent *PackageContent) error
type PackageContent ¶
type PackageContent struct { PackageManifest *manifestsv1alpha1.PackageManifest Manifests ManifestMap }
PackageContent represents the parsed content of an PKO package.
func (*PackageContent) ToFileMap ¶
func (pc *PackageContent) ToFileMap() (packagebytes.FileMap, error)
Converts the PackageContent back into a FileMap.
func (*PackageContent) ToTemplateSpec ¶
func (pc *PackageContent) ToTemplateSpec() (templateSpec corev1alpha1.ObjectSetTemplateSpec)
type PackageManifestLoader ¶
type PackageManifestLoader struct {
// contains filtered or unexported fields
}
PackageManifestLoader implements parsing of PackageManifest object from bytes or files. This loader can handle GVK mismatches gracefully for forward and backwards compatibility.
func NewPackageManifestLoader ¶
func NewPackageManifestLoader(scheme *runtime.Scheme) *PackageManifestLoader
func (*PackageManifestLoader) FromFileMap ¶
func (l *PackageManifestLoader) FromFileMap(ctx context.Context, fm packagebytes.FileMap) ( *manifestsv1alpha1.PackageManifest, error, )
Load PackageManifest from the given FileMap.
type PackageScopeValidator ¶
type PackageScopeValidator manifestsv1alpha1.PackageManifestScope
func (PackageScopeValidator) Validate ¶
func (scope PackageScopeValidator) Validate(ctx context.Context, packageContent *PackageContent) error
type TransformEachObjectFn ¶
type TransformEachObjectFn func( ctx context.Context, path string, index int, packageManifest *manifestsv1alpha1.PackageManifest, obj *unstructured.Unstructured, ) error
type Transformer ¶
type Transformer interface {
Transform(ctx context.Context, packageContent *PackageContent) error
}
type TransformerList ¶
type TransformerList []Transformer
Runs a list of Transformer over the given content.
func (TransformerList) Transform ¶
func (l TransformerList) Transform(ctx context.Context, packageContent *PackageContent) error
type ValidateEachObjectFn ¶
type ValidateEachObjectFn func( ctx context.Context, path string, index int, obj unstructured.Unstructured, ) error
type Validator ¶
type Validator interface {
Validate(ctx context.Context, packageContent *PackageContent) error
}
type ValidatorList ¶
type ValidatorList []Validator
Runs a list of Validator over the given content.
func (ValidatorList) Validate ¶
func (l ValidatorList) Validate(ctx context.Context, packageContent *PackageContent) error
Click to show internal directories.
Click to hide internal directories.