build

package
v0.0.0-...-8c519d9 Latest Latest
Warning

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

Go to latest
Published: May 29, 2024 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllParentSourcesIncluded

func AllParentSourcesIncluded(parentSourceImage, builtSourceImage string) (bool, error)

func DeleteImageRepo

func DeleteImageRepo(imageName string) (bool, error)

func DoesImageRepoExistInQuay

func DoesImageRepoExistInQuay(quayImageRepoName string) (bool, error)

func DoesQuayOrgSupportPrivateRepo

func DoesQuayOrgSupportPrivateRepo() (bool, error)

func DoesRobotAccountExistInQuay

func DoesRobotAccountExistInQuay(robotAccountName string) (bool, error)

func DoesTagExistsInQuay

func DoesTagExistsInQuay(imageURL string) (bool, error)

imageURL format example: quay.io/redhat-appstudio-qe/devfile-go-rhtap-uvv7:build-66d4e-1685533053

func ExtractImage

func ExtractImage(image string) (string, error)

func FetchImageConfig

func FetchImageConfig(imagePullspec string) (*v1.ConfigFile, error)

FetchImageConfig fetches image config from remote registry. It uses the registry authentication credentials stored in default place ~/.docker/config.json

func FetchImageDigest

func FetchImageDigest(imagePullspec string) (string, error)

FetchImageDigest fetches image manifest digest. Digest is returned as a hex string without sha256: prefix.

func GetBinaryImage

func GetBinaryImage(pr *pipeline.PipelineRun) string

func GetImageTag

func GetImageTag(organization, repository, tagName string) (quay.Tag, error)

func GetParsedSbomFilesContentFromImage

func GetParsedSbomFilesContentFromImage(image string) (*SbomPurl, *SbomCyclonedx, error)

func GetPrefetchValue

func GetPrefetchValue(pr *pipeline.PipelineRun) string

func GetQuayImageName

func GetQuayImageName(annotations map[string]string) (string, error)

func GetRobotAccountInfoFromSecret

func GetRobotAccountInfoFromSecret(secret *corev1.Secret) (string, string)

GetRobotAccountInfoFromSecret gets robot account name and token from secret data

func GetRobotAccountName

func GetRobotAccountName(imageName string) string

func GetRobotAccountToken

func GetRobotAccountToken(robotAccountName string) (string, error)

GetRobotAccountToken gets the robot account token from a given robot account name

func ImageFromPipelineRun

func ImageFromPipelineRun(pipelineRun *pipeline.PipelineRun) (*imageInfo.Image, error)

func ImageRepoCreationSucceeded

func ImageRepoCreationSucceeded(annotations map[string]string) bool

func IsDockerBuild

func IsDockerBuild(pr *pipeline.PipelineRun) bool

func IsFBCBuild

func IsFBCBuild(pr *pipeline.PipelineRun) bool

func IsHermeticBuildEnabled

func IsHermeticBuildEnabled(pr *pipeline.PipelineRun) bool

func IsImageAnnotationPresent

func IsImageAnnotationPresent(annotations map[string]string) bool

func IsImagePulledFromAllowedRegistry

func IsImagePulledFromAllowedRegistry(imagePullspec string) (bool, error)

func IsImageRepoPublic

func IsImageRepoPublic(quayImageRepoName string) (bool, error)

func IsPreFetchDependenciesFilesExists

func IsPreFetchDependenciesFilesExists(gitUrl, absExtraSourceDirPath string, isHermetic bool, prefetchValue string) (bool, error)

func IsSourceBuildEnabled

func IsSourceBuildEnabled(pr *pipeline.PipelineRun) bool

func IsSourceFilesExistsInSourceImage

func IsSourceFilesExistsInSourceImage(srcImage string, gitUrl string, isHermetic bool, prefetchValue string) (bool, error)

func NewGithubClient

func NewGithubClient(organization string) (*github.Github, error)

NewGithubClient creates a GitHub client with custom organization. The token is retrieved in the same way as what SuiteController does.

func ReadDockerfileUsedForBuild

func ReadDockerfileUsedForBuild(c client.Client, tektonController *tekton.TektonController, pr *pipeline.PipelineRun) ([]byte, error)

ReadDockerfileUsedForBuild reads the Dockerfile and return its content.

func ReadFileFromGitRepo

func ReadFileFromGitRepo(repoUrl, filePath, branch string) (string, error)

ReadFileFromGitRepo reads a file from a remote Git repository hosted in GitHub. The filePath should be a relative path to the root of the repository. File content is returned. If error occurs, the error will be returned and empty string is returned as nothing is read. If branch is omitted, file is read from the "main" branch.

func ReadRequirements

func ReadRequirements(repoUrl string) ([]string, error)

ReadRequirements reads dependencies from compiled requirements.txt by pip-compile, and it assumes the requirements.txt is simple in the root of the repository. The requirements are returned a list of strings, each of them is in form name==version.

func ResolveGitDetails

func ResolveGitDetails(repoUrlENV, repoRevisionENV string) (string, string, error)

resolve the git url and revision from a pull request. If not found, return a default that is set from environment variables.

func ResolveKonfluxSourceImage

func ResolveKonfluxSourceImage(image string) (string, error)

func ResolveSourceImageByVersionRelease

func ResolveSourceImageByVersionRelease(image string) (string, error)

func SourceBuildTaskRunLogsContain

func SourceBuildTaskRunLogsContain(
	tektonController *tekton.TektonController, pr *pipeline.PipelineRun, message string) (bool, error)

func ValidateBuildPipelineTestResults

func ValidateBuildPipelineTestResults(pipelineRun *pipeline.PipelineRun, c crclient.Client) error

Types

type ClairScanResult

type ClairScanResult struct {
	Vulnerabilities Vulnerabilities `json:"vulnerabilities"`
}

type Dockerfile

type Dockerfile struct {
	// contains filtered or unexported fields
}

func ParseDockerfile

func ParseDockerfile(content []byte) (*Dockerfile, error)

func (*Dockerfile) ConvertParentImagesToBaseImagesDigestsForm

func (d *Dockerfile) ConvertParentImagesToBaseImagesDigestsForm() ([]string, error)

ConvertParentImagesToBaseImagesDigestsForm is a helper function for testing the order is matched between BASE_IMAGES_DIGESTS and parent images within Dockerfile. ConvertParentImagesToBaseImagesDigestsForm de-duplicates the images what buildah task does for BASE_IMAGES_DIGESTS.

func (*Dockerfile) IsBuildFromScratch

func (d *Dockerfile) IsBuildFromScratch() bool

func (*Dockerfile) ParentImages

func (d *Dockerfile) ParentImages() []string

type PipelineBuildInfo

type PipelineBuildInfo struct {
	// contains filtered or unexported fields
}

func GetPipelineBuildInfo

func GetPipelineBuildInfo(pr *pipeline.PipelineRun) PipelineBuildInfo

type SbomCyclonedx

type SbomCyclonedx struct {
	BomFormat   string
	SpecVersion string
	Version     int
	Components  []struct {
		Name    string `json:"name"`
		Purl    string `json:"purl"`
		Type    string `json:"type"`
		Version string `json:"version"`
	} `json:"components"`
}

type SbomPurl

type SbomPurl struct {
	ImageContents struct {
		Dependencies []struct {
			Purl string `json:"purl"`
		} `json:"dependencies"`
	} `json:"image_contents"`
}

type SourceBuildResult

type SourceBuildResult struct {
	Status                  string `json:"status"`
	Message                 string `json:"message,omitempty"`
	DependenciesIncluded    bool   `json:"dependencies_included"`
	BaseImageSourceIncluded bool   `json:"base_image_source_included"`
	ImageUrl                string `json:"image_url"`
	ImageDigest             string `json:"image_digest"`
}

func ReadSourceBuildResult

func ReadSourceBuildResult(c client.Client, tektonController *tekton.TektonController, pr *pipeline.PipelineRun) (*SourceBuildResult, error)

ReadSourceBuildResult reads source-build task result BUILD_RESULT and returns the decoded data.

type TestOutput

type TestOutput struct {
	Result    string `json:"result"`
	Timestamp string `json:"timestamp"`
	Note      string `json:"note"`
	Namespace string `json:"namespace"`
	Successes int    `json:"successes"`
	Failures  int    `json:"failures"`
	Warnings  int    `json:"warnings"`
}

type Vulnerabilities

type Vulnerabilities struct {
	Critical int `json:"critical"`
	High     int `json:"high"`
	Medium   int `json:"medium"`
	Low      int `json:"low"`
}

Jump to

Keyboard shortcuts

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