Documentation ¶
Index ¶
- Constants
- func Build(ctx context.Context, b parser.Backend, p parser.Parser, l parser.Linter) (v1.Image, 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 PackageCrossplaneCompatible(v version.Operations) parser.ObjectLinterFn
- func PackageValidSemver(o runtime.Object) error
- func ParseNameFromMeta(fs afero.Fs, path string) (string, error)
- type Cache
- type Fetcher
- type ImageCache
- type K8sFetcher
- type NopCache
- type NopFetcher
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, l parser.Linter) (v1.Image, 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 maximum 63 character string made up of the name of a package and its image digest. It expects the first string to be a valid DNS subdomain name and the second to be a valid OCI 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 PackageCrossplaneCompatible ¶ added in v0.14.0
func PackageCrossplaneCompatible(v version.Operations) parser.ObjectLinterFn
PackageCrossplaneCompatible checks that the current Crossplane version is compatible with the package constraints.
func PackageValidSemver ¶ added in v0.14.0
PackageValidSemver checks that the package uses valid semver ranges.
Types ¶
type Cache ¶
type Cache interface { Get(tag string, id string) (v1.Image, error) Store(tag string, id string, img v1.Image) error Delete(id string) error }
A Cache caches OCI images.
type Fetcher ¶
type Fetcher interface { Fetch(ctx context.Context, ref name.Reference, secrets []string) (v1.Image, error) Head(ctx context.Context, ref name.Reference, secrets []string) (*v1.Descriptor, error) }
Fetcher fetches package images.
type ImageCache ¶
type ImageCache struct {
// contains filtered or unexported fields
}
ImageCache stores and retrieves OCI images in a filesystem-backed cache in a thread-safe manner.
func NewImageCache ¶
func NewImageCache(dir string, fs afero.Fs) *ImageCache
NewImageCache creates a new ImageCache.
func (*ImageCache) Delete ¶
func (c *ImageCache) Delete(id string) error
Delete removes an image from the ImageCache.
type K8sFetcher ¶
type K8sFetcher struct {
// contains filtered or unexported fields
}
K8sFetcher uses kubernetes credentials to fetch package images.
func NewK8sFetcher ¶
func NewK8sFetcher(client kubernetes.Interface, namespace string) *K8sFetcher
NewK8sFetcher creates a new K8sFetcher.
type NopCache ¶
type NopCache struct{}
NopCache is a cache implementation that does not store anything and always returns an error on get.