package
0.4.7
Repository: https://github.com/minio/controller-tools.git
Documentation: pkg.go.dev

# Packages

Package markers defines markers for generating schema valiation and CRD structure.

# Functions

AddKnownTypes registers the packages overrides in KnownPackages with the given parser.
AsVersion converts a CRD from the canonical internal form (currently v1) to some external form.
EditSchema walks the given schema using the given visitor.
FindKubeKinds locates all types that contain TypeMeta and ObjectMeta (and thus may be a Kubernetes object), and returns the corresponding group-kinds.
FindMetav1 locates the actual package representing metav1 amongst the imports of the roots.
FixTopLevelMetadata resets the schema for the top-level metadata field which is needed for CRD validation.
FlattenEmbedded flattens embedded fields (represented via AllOf) which have already had their references resolved into simple properties in the containing schema.
MergeIdenticalVersionInfo makes sure that components of the Versions field that are identical across all versions get merged into the top-level fields in v1beta1.
RefParts splits a reference produced by the schema generator into its component type name and package name (if it's a cross-package reference).
TruncateDescription truncates the description of fields in given schema if it exceeds maxLen.
TypeRefLink creates a definition link for the given type and package.

# Variables

KnownPackages overrides types in some comment packages that have custom validation but don't have validation markers on them (since they're from core Kubernetes).
ObjectMetaPackages overrides the ObjectMeta in all types.

# Structs

Flattener knows how to take a root type, and flatten all references in it into a single, flat type.
Generator generates CustomResourceDefinition objects.
Parser knows how to parse out CRD information and generate OpenAPI schemata from some collection of types and markers.
TypeIdent represents some type in a Package.

# Interfaces

ErrorRecorder knows how to record errors.
SchemaMarker is any marker that needs to modify the schema of the underlying type or field.
SchemaVisitor walks the nodes of a schema.
SpecMarker is a marker that knows how to apply itself to a particular version in a CRD.

# Type aliases

PackageOverride overrides the loading of some package (potentially setting custom schemata, etc).