cnb

package
v0.15.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2024 License: Apache-2.0 Imports: 37 Imported by: 8

Documentation

Index

Constants

View Source
const (
	MixinsLabel = "io.buildpacks.stack.mixins"
	StackLabel  = "io.buildpacks.stack.id"
)

Variables

This section is empty.

Functions

func CompressBuildMetadata

func CompressBuildMetadata(metadata *BuildMetadata) ([]byte, error)

func ProcessProjectDescriptor

func ProcessProjectDescriptor(appDir, descriptorPath, platformDir string, logger *log.Logger) error

func SetupPlatformEnvVars

func SetupPlatformEnvVars(dir string) error

Types

type APISet

type APISet []string

type APIVersions

type APIVersions struct {
	Deprecated APISet `toml:"deprecated" json:"deprecated"`
	Supported  APISet `toml:"supported" json:"supported"`
}

type BuildMetadata

type BuildMetadata struct {
	BuildpackMetadata corev1alpha1.BuildpackMetadataList `json:"buildpackMetadata"`
	LatestCacheImage  string                             `json:"latestCacheImage"`
	LatestImage       string                             `json:"latestImage"`
	StackID           string                             `json:"stackID"`
	StackRunImage     string                             `json:"stackRunImage"`
}

func DecompressBuildMetadata

func DecompressBuildMetadata(compressedMetadata string) (*BuildMetadata, error)

type BuilderImageMetadata

type BuilderImageMetadata struct {
	Description string                     `json:"description"`
	Stack       StackMetadata              `json:"stack"`
	Lifecycle   LifecycleMetadata          `json:"lifecycle"`
	CreatedBy   CreatorMetadata            `json:"createdBy"`
	Buildpacks  []DescriptiveBuildpackInfo `json:"buildpacks"`
}

type BuildpackLayerInfo

type BuildpackLayerInfo struct {
	API         string                        `json:"api"`
	LayerDiffID string                        `json:"layerDiffID"`
	Order       corev1alpha1.Order            `json:"order,omitempty"`
	Stacks      []corev1alpha1.BuildpackStack `json:"stacks,omitempty"`
	Homepage    string                        `json:"homepage,omitempty"`
}

type BuildpackLayerMetadata

type BuildpackLayerMetadata map[string]map[string]BuildpackLayerInfo

type BuildpackResolver

type BuildpackResolver interface {
	ClusterStoreObservedGeneration() int64
	// contains filtered or unexported methods
}

BuildpackResolver will attempt to resolve a Buildpack reference to a Buildpack from either the ClusterStore, Buildpacks, or ClusterBuildpacks

func NewBuildpackResolver

func NewBuildpackResolver(clusterStore *v1alpha2.ClusterStore, buildpacks []*v1alpha2.Buildpack, clusterBuildpacks []*v1alpha2.ClusterBuildpack) BuildpackResolver

type BuildpackageMetadata

type BuildpackageMetadata struct {
	Id       string `json:"id"`
	Version  string `json:"version"`
	Homepage string `json:"homepage"`
}

type CreatorMetadata

type CreatorMetadata struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

type DescriptiveBuildpackInfo

type DescriptiveBuildpackInfo struct {
	corev1alpha1.BuildpackInfo
	Homepage string `json:"homepage,omitempty"`
}

type ImageFetcher

type ImageFetcher interface {
	Fetch(keychain authn.Keychain, repoName string) (ggcrv1.Image, string, error)
}

type K8sRemoteBuildpack

type K8sRemoteBuildpack struct {
	Buildpack corev1alpha1.BuildpackStatus
	SecretRef registry.SecretRef
	// contains filtered or unexported fields
}

type LifecycleAPI

type LifecycleAPI struct {
	BuildpackVersion string `toml:"buildpack" json:"buildpack,omitempty"`
	PlatformVersion  string `toml:"platform" json:"platform,omitempty"`
}

type LifecycleAPIs

type LifecycleAPIs struct {
	Buildpack APIVersions `toml:"buildpack" json:"buildpack"`
	Platform  APIVersions `toml:"platform" json:"platform"`
}

type LifecycleDescriptor

type LifecycleDescriptor struct {
	Info LifecycleInfo `toml:"lifecycle"`

	// Deprecated: Use `LifecycleAPIs` instead
	API  LifecycleAPI  `toml:"api" json:"api,omitempty"`
	APIs LifecycleAPIs `toml:"apis" json:"apis,omitempty"`
}

type LifecycleInfo

type LifecycleInfo struct {
	Version string `toml:"version" json:"version"`
}

type LifecycleMetadata

type LifecycleMetadata struct {
	LifecycleInfo

	// Deprecated: Use `LifecycleAPIs` instead
	API  LifecycleAPI  `json:"api,omitempty"`
	APIs LifecycleAPIs `json:"apis,omitempty"`
}

type LifecycleProvider

type LifecycleProvider interface {
	LayerForOS(os string) (ggcrv1.Layer, LifecycleMetadata, error)
}

type Node

type Node struct {
	Buildpack *corev1alpha1.BuildpackStatus
	Children  []*Node
}

func NewTree

func NewTree(buildpacks []corev1alpha1.BuildpackStatus) []*Node

NewTree generates a list of dependency trees for the given buildpacks. A buildpack's dependency tree is just the buildpack's group[].order[] but in proper tree form.

type RegistryClient

type RegistryClient interface {
	Fetch(keychain authn.Keychain, repoName string) (ggcrv1.Image, string, error)
	Save(keychain authn.Keychain, tag string, image ggcrv1.Image) (string, error)
}

type RemoteBuilderCreator

type RemoteBuilderCreator struct {
	RegistryClient    RegistryClient
	LifecycleProvider LifecycleProvider
	KpackVersion      string
	KeychainFactory   registry.KeychainFactory
	ImageSigner       cosign.BuilderSigner
}

func (*RemoteBuilderCreator) CreateBuilder

func (r *RemoteBuilderCreator) CreateBuilder(
	ctx context.Context,
	builderKeychain authn.Keychain,
	stackKeychain authn.Keychain,
	fetcher RemoteBuildpackFetcher,
	clusterStack *buildapi.ClusterStack,
	spec buildapi.BuilderSpec,
	serviceAccountSecrets []*corev1.Secret,
	resolvedBuilderRef string,
) (buildapi.BuilderRecord, error)

type RemoteBuildpackFetcher

type RemoteBuildpackFetcher interface {
	BuildpackResolver
	ResolveAndFetch(context.Context, buildapi.BuilderBuildpackRef) (RemoteBuildpackInfo, error)
}

func NewRemoteBuildpackFetcher

func NewRemoteBuildpackFetcher(
	factory registry.KeychainFactory,
	clusterStore *buildapi.ClusterStore,
	buildpacks []*buildapi.Buildpack, clusterBuildpacks []*buildapi.ClusterBuildpack,
) RemoteBuildpackFetcher

type RemoteBuildpackInfo

type RemoteBuildpackInfo struct {
	BuildpackInfo DescriptiveBuildpackInfo
	Layers        []buildpackLayer
}

func (RemoteBuildpackInfo) Optional

func (i RemoteBuildpackInfo) Optional(optional bool) RemoteBuildpackRef

type RemoteBuildpackReader

type RemoteBuildpackReader struct {
	RegistryClient RegistryClient
}

func (*RemoteBuildpackReader) Read

type RemoteBuildpackRef

type RemoteBuildpackRef struct {
	DescriptiveBuildpackInfo DescriptiveBuildpackInfo
	Optional                 bool
	Layers                   []buildpackLayer
}

type RemoteMetadataRetriever

type RemoteMetadataRetriever struct {
	ImageFetcher ImageFetcher
}

func (*RemoteMetadataRetriever) GetBuildMetadata

func (r *RemoteMetadataRetriever) GetBuildMetadata(builtImageRef, cacheTag string, keychain authn.Keychain) (*BuildMetadata, error)

type RemoteStackReader

type RemoteStackReader struct {
	RegistryClient RegistryClient
}

func (*RemoteStackReader) Read

type RunImageAppMetadata

type RunImageAppMetadata struct {
	TopLayer  string `json:"topLayer" toml:"top-layer"`
	Reference string `json:"reference" toml:"reference"`
}

type RunImageMetadata

type RunImageMetadata struct {
	Image   string   `json:"image" toml:"image"`
	Mirrors []string `json:"mirrors" toml:"mirrors"`
}

type Stack

type Stack struct {
	ID     string   `json:"id"`
	Mixins []string `json:"mixins,omitempty"`
}

type StackMetadata

type StackMetadata struct {
	RunImage RunImageMetadata `json:"runImage" toml:"run-image"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL