Documentation ¶
Overview ¶
Package xpkg contains utilities for building and linting UXP packages.
Index ¶
- Constants
- func Build(ctx context.Context, b parser.Backend, p parser.Parser) (v1.Image, runtime.Object, error)
- func BuildMetaScheme() (*runtime.Scheme, error)
- func BuildObjectScheme() (*runtime.Scheme, error)
- func BuildPath(path, name string) string
- func FindXpkgInDir(fs afero.Fs, root string) (string, error)
- func FriendlyID(name, hash string) string
- func IsCRD(o runtime.Object) error
- func IsComposition(o runtime.Object) error
- func IsConfiguration(o runtime.Object) error
- func IsProvider(o runtime.Object) error
- func IsXRD(o runtime.Object) error
- func NewConfigurationLinter() parser.Linter
- func NewProviderLinter() parser.Linter
- func OneMeta(pkg *parser.Package) error
- func PackageValidSemver(o runtime.Object) error
- func ToDNSLabel(s string) string
- func TryConvert(obj runtime.Object, candidates ...conversion.Hub) (runtime.Object, bool)
- func TryConvertToPkg(obj runtime.Object, candidates ...conversion.Hub) (pkgmetav1.Pkg, bool)
Constants ¶
const ( // MetaFile is the name of a Crossplane package metadata file. MetaFile string = "crossplane.yaml" // StreamFile is the name of the file in a Crossplane package image that // contains its YAML stream. StreamFile string = "package.yaml" // StreamFileMode determines the permissions on the stream file. StreamFileMode os.FileMode = 0o644 // XpkgExtension is the extension for compiled Crossplane packages. XpkgExtension string = ".xpkg" // XpkgMatchPattern is the match pattern for identifying compiled Crossplane packages. XpkgMatchPattern string = "*" + XpkgExtension )
Variables ¶
This section is empty.
Functions ¶
func Build ¶
func Build(ctx context.Context, b parser.Backend, p parser.Parser) (v1.Image, runtime.Object, error)
Build compiles a Crossplane package from an on-disk package.
func BuildMetaScheme ¶
BuildMetaScheme builds the default scheme used for identifying metadata in a Crossplane package.
func BuildObjectScheme ¶
BuildObjectScheme builds the default scheme used for identifying objects in a Crossplane package.
func BuildPath ¶
BuildPath builds a path for a compiled Crossplane package. If file name has extension it will be replaced.
func FindXpkgInDir ¶
FindXpkgInDir finds compiled Crossplane packages in a directory.
func FriendlyID ¶
FriendlyID builds a valid DNS label string made up of the name of a package and its image digest.
func IsComposition ¶
IsComposition checks that an object is a Composition.
func IsConfiguration ¶
IsConfiguration checks that an object is a Configuration meta type.
func IsProvider ¶
IsProvider checks that an object is a Provider meta type.
func NewConfigurationLinter ¶
NewConfigurationLinter is a convenience function for creating a package linter for configurations.
func NewProviderLinter ¶
NewProviderLinter is a convenience function for creating a package linter for providers.
func PackageValidSemver ¶
PackageValidSemver checks that the package uses valid semver ranges.
func ToDNSLabel ¶
ToDNSLabel converts the string to a valid DNS label.
func TryConvert ¶
TryConvert converts the supplied object to the first supplied candidate that does not return an error. Returns the converted object and true when conversion succeeds, or the original object and false if it does not.
func TryConvertToPkg ¶
TryConvertToPkg converts the supplied object to a pkgmeta.Pkg, if possible.
Types ¶
This section is empty.