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 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.
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.
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)
}
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.
type NopFetcher ¶
type NopFetcher struct{}
NopFetcher always returns an empty image and never returns error.