cnbutils

package
v0.0.0-...-40d4f7c Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package cnbutils provides utility functions to interact with Buildpacks

Index

Constants

View Source
const DefaultOrderPath = "/cnb/order.toml"

Variables

This section is empty.

Functions

func CnbUserInfo

func CnbUserInfo() (int, int, error)

func CopyProject

func CopyProject(source, target string, include, exclude *ignore.GitIgnore, utils BuildUtils) error

func CreateEnvFiles

func CreateEnvFiles(utils BuildUtils, platformPath string, env map[string]interface{}) error
func CreateVersionSymlinks(basePath, buildpackDir string, utils BuildUtils) error

func DigestFromReport

func DigestFromReport(utils BuildUtils) (string, error)

func DownloadBuildpacks

func DownloadBuildpacks(path string, bpacks []string, dockerCreds string, utils BuildUtils) error

func GenerateCnbAuth

func GenerateCnbAuth(config string, utils BuildUtils) (string, error)

Types

type BuildPackMetadata

type BuildPackMetadata struct {
	ID          string    `toml:"id,omitempty" json:"id,omitempty" yaml:"id,omitempty"`
	Name        string    `toml:"name,omitempty" json:"name,omitempty" yaml:"name,omitempty"`
	Version     string    `toml:"version,omitempty" json:"version,omitempty" yaml:"version,omitempty"`
	Description string    `toml:"description,omitempty" json:"description,omitempty" yaml:"description,omitempty"`
	Homepage    string    `toml:"homepage,omitempty" json:"homepage,omitempty" yaml:"homepage,omitempty"`
	Keywords    []string  `toml:"keywords,omitempty" json:"keywords,omitempty" yaml:"keywords,omitempty"`
	Licenses    []License `toml:"licenses,omitempty" json:"licenses,omitempty" yaml:"licenses,omitempty"`
}

func GetMetadata

func GetMetadata(bpacks []string, utils BuildUtils) ([]BuildPackMetadata, error)

type BuildSummary

type BuildSummary struct {
	Builder          string
	LifecycleVersion string

	Images []*ImageSummary
}

func NewBuildSummary

func NewBuildSummary(builder string, utils BuildUtils) *BuildSummary

func (*BuildSummary) Print

func (bs *BuildSummary) Print()

type BuildUtils

type BuildUtils interface {
	command.ExecRunner
	piperutils.FileUtils
	docker.Download
}

type ImageSummary

type ImageSummary struct {
	ImageRef          string
	ProjectDescriptor string
	Buildpacks        []string
	EnvVars           []string
}

func (*ImageSummary) AddEnv

func (is *ImageSummary) AddEnv(env map[string]interface{})

func (*ImageSummary) Print

func (is *ImageSummary) Print()

type License

type License struct {
	Type string `toml:"type" json:"type"`
	URI  string `toml:"uri" json:"uri"`
}

type MockUtils

type MockUtils struct {
	*mock.ExecMockRunner
	*mock.FilesMock
	*mock.DownloadMock
}

func (*MockUtils) GetFileUtils

func (c *MockUtils) GetFileUtils() piperutils.FileUtils

type Order

type Order struct {
	Order []OrderEntry `toml:"order"`
	Utils BuildUtils   `toml:"-"`
}

func CreateOrder

func CreateOrder(bpacks, preBpacks, postBpacks []string, dockerCreds string, utils BuildUtils) (Order, error)

func (Order) Save

func (o Order) Save(path string) error

type OrderEntry

type OrderEntry struct {
	Group []BuildPackMetadata `toml:"group" json:"group"`
}

type TargetImage

type TargetImage struct {
	ContainerImageName string
	ContainerImageTag  string
	ContainerRegistry  *url.URL
}

func GetTargetImage

func GetTargetImage(imageRegistry, imageName, imageTag, projectID, envRootPath string) (*TargetImage, error)

Directories

Path Synopsis
Package bindings provides utility function to create buildpack bindings folder structures
Package bindings provides utility function to create buildpack bindings folder structures
Package project handles project.toml parsing
Package project handles project.toml parsing
metadata
Package metadata handles generation of the project-metadata.toml
Package metadata handles generation of the project-metadata.toml
types
Source: https://github.com/buildpacks/pack/blob/main/pkg/project/types/types.go
Source: https://github.com/buildpacks/pack/blob/main/pkg/project/types/types.go
v01
Source: https://github.com/buildpacks/pack/blob/main/pkg/project/v01/project.go
Source: https://github.com/buildpacks/pack/blob/main/pkg/project/v01/project.go
v02
Source: https://github.com/buildpacks/pack/blob/main/pkg/project/v02/project.go
Source: https://github.com/buildpacks/pack/blob/main/pkg/project/v02/project.go
Package registry provides utilities to search buildpacks using registry API
Package registry provides utilities to search buildpacks using registry API

Jump to

Keyboard shortcuts

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