Documentation ¶
Overview ¶
+groupName=ci.openshift.io
Index ¶
- Constants
- Variables
- func Artifacts() (string, bool)
- func BuildsAnyOfficialImages(configSpec *ReleaseBuildConfiguration, includeOKD OKDInclusion) bool
- func BuildsOfficialImages(configSpec PromotionTarget, includeOKD OKDInclusion) bool
- func BundleName(index int) string
- func Comparer() cmp.Option
- func DomainForService(service Service) string
- func FlavorForBranch(branch string) string
- func GetDefaultClusterProfileSecretName(profile ClusterProfile) string
- func GitHubUserGroup(username string) string
- func HasAllLinks(needles, haystack []StepLink) bool
- func HasAnyLinks(steps, candidates []StepLink) bool
- func ImageTargets(c *ReleaseBuildConfiguration) sets.Set[string]
- func ImageVersionLabel(fromTag PipelineImageStreamTagReference) string
- func IndexName(bundleName string) string
- func IsCiopConfigCM(name string) bool
- func IsCreatedForClusterBotJob(namespace string) bool
- func IsIndexImage(imageName string) bool
- func IsPromotionJob(jobLabels map[string]string) bool
- func IsReleasePayloadStream(stream string) bool
- func IsReleaseStream(stream string) bool
- func LeaseTypeFromClusterType(t string) (string, error)
- func LogFieldsFor(metadata Metadata) logrus.Fields
- func PromotesOfficialImage(configSpec *ReleaseBuildConfiguration, includeOKD OKDInclusion, ...) bool
- func PromotesOfficialImages(configSpec *ReleaseBuildConfiguration, includeOKD OKDInclusion) bool
- func QuayImage(tag ImageStreamTagReference) string
- func QuayImageReference(tag ImageStreamTagReference) string
- func RefersToOfficialImage(namespace string, includeOKD OKDInclusion) bool
- func RegistryDomainForClusterName(clusterName string) (string, error)
- func ReleaseNameFrom(stream string) string
- func ReleaseStreamFor(name string) string
- func ResolveConsoleHost(ctx context.Context, client ctrlruntimeclient.Client) (string, error)
- func ResolveImageRegistryHost(ctx context.Context, client ctrlruntimeclient.Client) (string, error)
- func ResolveMultiArch(nodes []*StepNode)
- func SaveArtifact(censor secretutil.Censorer, relPath string, data []byte) error
- func StepGraphJSONURL(baseJobURL string) string
- func URLForService(service Service) string
- func ValidClusterName(clusterName string) bool
- type BuildArg
- type BuildRootImageConfiguration
- type Bundle
- type BundleSourceStepConfiguration
- type CIOperatorInrepoConfig
- type CIOperatorStepDetailInfo
- type CIOperatorStepDetails
- type CIOperatorStepGraph
- type Candidate
- type ClaimRelease
- type Cloud
- type Cluster
- type ClusterClaim
- type ClusterClaimDetails
- type ClusterClaimOwnerDetails
- type ClusterClaimOwnersMap
- type ClusterProfile
- type ClusterProfileDetails
- type ClusterProfileOwners
- type ClusterProfilesList
- type ClusterProfilesMap
- type ClusterTestConfiguration
- type CommonStep
- type ContainerTestConfiguration
- type CredentialReference
- type DeferredParameters
- func (p *DeferredParameters) Add(name string, fn func() (string, error))
- func (p *DeferredParameters) Get(name string) (string, error)
- func (p *DeferredParameters) Has(name string) bool
- func (p *DeferredParameters) HasInput(name string) bool
- func (p *DeferredParameters) Map() (map[string]string, error)
- func (p *DeferredParameters) Set(name, value string)
- type DependencyOverrides
- type GraphConfiguration
- type ImageBuildInputs
- type ImageSourcePath
- type ImageStreamSource
- type ImageStreamSourceType
- type ImageStreamTagReference
- type IndexGeneratorStepConfiguration
- type IndexUpdate
- type InputConfiguration
- type InputDefinition
- type InputImage
- type InputImageTagStepConfiguration
- func (config *InputImageTagStepConfiguration) AddSources(sources ...ImageStreamSource)
- func (in *InputImageTagStepConfiguration) DeepCopy() *InputImageTagStepConfiguration
- func (in *InputImageTagStepConfiguration) DeepCopyInto(out *InputImageTagStepConfiguration)
- func (config InputImageTagStepConfiguration) FormattedSources() string
- func (config InputImageTagStepConfiguration) Matches(other InputImage) bool
- func (config InputImageTagStepConfiguration) TargetName() string
- type Integration
- type JobSpec
- func (s *JobSpec) Inputs() InputDefinition
- func (s JobSpec) JobNameHash() string
- func (s *JobSpec) Namespace() string
- func (s *JobSpec) Owner() *meta.OwnerReference
- func (s *JobSpec) RawSpec() string
- func (s *JobSpec) SetNamespace(namespace string)
- func (s *JobSpec) SetOwner(owner *meta.OwnerReference)
- func (s JobSpec) UniqueHash() string
- type LiteralTestStep
- type MemoryBackedVolume
- type Metadata
- func (m *Metadata) AsString() string
- func (m *Metadata) Basename() string
- func (m *Metadata) ConfigMapName() string
- func (in *Metadata) DeepCopy() *Metadata
- func (in *Metadata) DeepCopyInto(out *Metadata)
- func (m *Metadata) IsComplete() error
- func (m *Metadata) JobFilePath(suffix string) string
- func (m *Metadata) JobName(prefix, name string) string
- func (m *Metadata) RelativePath() string
- func (m *Metadata) SimpleJobName(prefix, name string) string
- func (m *Metadata) TestName(testName string) string
- func (m *Metadata) TestNameFromJobName(jobName, prefix string) string
- type MetadataWithTest
- type MultiArchStep
- type MultiStageTestConfiguration
- type MultiStageTestConfigurationLiteral
- type NodeArchitecture
- type OKDInclusion
- type Observer
- type Observers
- type OpenshiftAnsible40ClusterTestConfiguration
- type OpenshiftAnsibleClusterTestConfiguration
- type OpenshiftAnsibleCustomClusterTestConfiguration
- type OpenshiftAnsibleSrcClusterTestConfiguration
- type OpenshiftInstallerClusterTestConfiguration
- type OpenshiftInstallerConsoleClusterTestConfiguration
- type OpenshiftInstallerCustomTestImageClusterTestConfiguration
- type OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration
- func (in *OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration) DeepCopy() *OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration
- func (in *OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration)
- type OpenshiftInstallerRandomClusterTestConfiguration
- type OpenshiftInstallerSrcClusterTestConfiguration
- type OpenshiftInstallerUPIClusterTestConfiguration
- type OpenshiftInstallerUPISrcClusterTestConfiguration
- type OperatorStepConfiguration
- type OrderedStepList
- type OutputImageTagStepConfiguration
- type ParameterMap
- type Parameters
- type PipelineImageCacheStepConfiguration
- type PipelineImageStreamTagReference
- type Prerelease
- type ProjectDirectoryImageBuildInputs
- type ProjectDirectoryImageBuildStepConfiguration
- func (in *ProjectDirectoryImageBuildStepConfiguration) DeepCopy() *ProjectDirectoryImageBuildStepConfiguration
- func (in *ProjectDirectoryImageBuildStepConfiguration) DeepCopyInto(out *ProjectDirectoryImageBuildStepConfiguration)
- func (p *ProjectDirectoryImageBuildStepConfiguration) IsBundleImage() bool
- func (config ProjectDirectoryImageBuildStepConfiguration) TargetName() string
- func (p *ProjectDirectoryImageBuildStepConfiguration) WithBundleImage(isBundleImage bool) *ProjectDirectoryImageBuildStepConfiguration
- type PromotionConfiguration
- type PromotionTarget
- type PullSpecSubstitution
- type RPMImageInjectionStepConfiguration
- type RPMServeStepConfiguration
- type RefCommands
- type RefLocation
- type RefRepository
- type RegistryChain
- type RegistryChainConfig
- type RegistryInfo
- type RegistryMetadata
- type RegistryObserver
- type RegistryObserverConfig
- type RegistryReference
- type RegistryReferenceConfig
- type RegistryWorkflow
- type RegistryWorkflowConfig
- type Release
- type ReleaseArchitecture
- type ReleaseBuildConfiguration
- func (config ReleaseBuildConfiguration) BuildsImage(name string) bool
- func (in *ReleaseBuildConfiguration) DeepCopy() *ReleaseBuildConfiguration
- func (in *ReleaseBuildConfiguration) DeepCopyInto(out *ReleaseBuildConfiguration)
- func (config *ReleaseBuildConfiguration) Default()
- func (config *ReleaseBuildConfiguration) DependencyParts(dependency StepDependency, claimRelease *ClaimRelease) (stream string, name string, explicit bool)
- func (config ReleaseBuildConfiguration) DeterminePathAlias(org, repo string) string
- func (config *ReleaseBuildConfiguration) ImageStreamFor(image string) (string, bool)
- func (config ReleaseBuildConfiguration) IsBaseImage(name string) bool
- func (config ReleaseBuildConfiguration) IsBundleImage(imageName string) bool
- func (config ReleaseBuildConfiguration) IsPipelineImage(name string) bool
- func (config *ReleaseBuildConfiguration) WithPresubmitFrom(source *ReleaseBuildConfiguration, test string) (*ReleaseBuildConfiguration, error)
- type ReleaseChannel
- type ReleaseConfiguration
- type ReleaseDescriptor
- type ReleaseProduct
- type ReleaseStream
- type ReleaseTagConfiguration
- type ResourceConfiguration
- type ResourceList
- type ResourceRequirements
- type Secret
- type Service
- type SourceStepConfiguration
- type Step
- type StepConfiguration
- type StepDNSConfig
- type StepDependency
- type StepGraph
- type StepLease
- type StepLink
- func AllStepsLink() StepLink
- func ExternalImageLink(ref ImageStreamTagReference) StepLink
- func ImagesReadyLink() StepLink
- func InternalImageLink(tag PipelineImageStreamTagReference, o ...StepLinkOption) StepLink
- func LinkForImage(imageStream, tag string) StepLink
- func RPMRepoLink() StepLink
- func ReleaseImageTagLink(name, tag string) StepLink
- func ReleaseImagesLink(name string) StepLink
- func ReleasePayloadImageLink(tag string) StepLink
- type StepLinkOption
- type StepLinkOptions
- type StepNode
- type StepParameter
- type TestDependencies
- type TestEnvironment
- type TestStep
- type TestStepConfiguration
- func (in *TestStepConfiguration) DeepCopy() *TestStepConfiguration
- func (in *TestStepConfiguration) DeepCopyInto(out *TestStepConfiguration)
- func (config TestStepConfiguration) GetClusterProfileName() string
- func (config TestStepConfiguration) IsPeriodic() bool
- func (config TestStepConfiguration) TargetName() string
- type UnresolvedRelease
- type VersionBounds
Constants ¶
const ( RegistryPullCredentialsSecret = "registry-pull-credentials" RegistryPushCredentialsCICentralSecret = "registry-push-credentials-ci-central" RegistryPushCredentialsCICentralSecretMountPath = "/etc/push-secret" GCSUploadCredentialsSecret = "gce-sa-credentials-gcs-publisher" GCSUploadCredentialsSecretMountPath = "/secrets/gcs" ManifestToolLocalPusherSecret = "manifest-tool-local-pusher" ManifestToolLocalPusherSecretMountPath = "/secrets/manifest-tool" ReleaseAnnotationSoftDelete = "release.openshift.io/soft-delete" // DPTPRequesterLabel is the label on a Kubernates CR whose value indicates the automated tool that requests the CR DPTPRequesterLabel = "dptp.openshift.io/requester" KVMDeviceLabel = "devices.kubevirt.io/kvm" ClusterLabel = "ci-operator.openshift.io/cluster" CloudLabel = "ci-operator.openshift.io/cloud" CloudClusterProfileLabel = "ci-operator.openshift.io/cloud-cluster-profile" NoBuildsLabel = "ci.openshift.io/no-builds" NoBuildsValue = "true" // HiveCluster is the cluster where Hive is deployed HiveCluster = ClusterHive // HiveAdminKubeconfigSecret is the name of the secret in ci-op-<hash> namespace that stores the Admin's kubeconfig for the ephemeral cluster provisioned by Hive. HiveAdminKubeconfigSecret = "hive-admin-kubeconfig" // HiveAdminKubeconfigSecretKey is the key to the kubeconfig in the secret HiveAdminKubeconfigSecret HiveAdminKubeconfigSecretKey = "kubeconfig" // HiveAdminPasswordSecret the name of the secret in ci-op-<hash> namespace that stores the password for the user "kubeadmin" for the ephemeral cluster provisioned by Hive. HiveAdminPasswordSecret = "hive-admin-password" // HiveAdminPasswordSecretKey is the key to the password in the secret HiveAdminKubeconfigSecret HiveAdminPasswordSecretKey = "password" // HiveControlPlaneKubeconfigSecret is the name of the secret that stores kubeconfig to contact the cluster where Hive is deployed HiveControlPlaneKubeconfigSecret = "hive-hive-credentials" // HiveControlPlaneKubeconfigSecretArg is the flag to ci-operator HiveControlPlaneKubeconfigSecretArg = "--hive-kubeconfig=/secrets/hive-hive-credentials/kubeconfig" AutoScalePodsLabel = "ci.openshift.io/scale-pods" NamespaceDir = "build-resources" APPCIKubeAPIURL = "https://api.ci.l2s4.p1.openshiftapps.com:6443" // ReasonPending is the error reason for pods not scheduled in time. // It is generated when pods are for whatever reason not scheduled before // `podStartTimeout`. ReasonPending = "pod_pending" // CliEnv if the env we use to expose the path to the cli CliEnv = "CLI_DIR" DefaultLeaseEnv = "LEASED_RESOURCE" DefaultIPPoolLeaseEnv = "IP_POOL_AVAILABLE" // SkipCensoringLabel is the label we use to mark a secret as not needing to be censored SkipCensoringLabel = "ci.openshift.io/skip-censoring" OauthTokenSecretKey = "oauth" OauthTokenSecretName = "github-credentials-openshift-ci-robot-private-git-cloner" CIAdminsGroupName = "test-platform-ci-admins" ShmResource = "ci-operator.openshift.io/shm" NvidiaGPUResource = "nvidia.com/gpu" // ReleaseConfigAnnotation is the name of annotation created by the release controller. // ci-operator uses the release controller configuration to determine // the version of OpenShift we create from the ImageStream, so we need // to copy the annotation if it exists ReleaseConfigAnnotation = "release.openshift.io/config" ImageStreamImportRetries = 6 )
const ( // ServiceDomain is the domain under which services are // routed for the current service cluster. ServiceDomainCI = "ci.openshift.org" ServiceDomainAPPCI = "apps.ci.l2s4.p1.openshiftapps.com" ServiceDomainGCS = "googleapis.com" ServiceDomainAPPCIRegistry = "registry.ci.openshift.org" ServiceDomainVSphere02Registry = "registry.apps.build02.vmc.ci.openshift.org" ServiceDomainArm01Registry = "registry.arm-build01.arm-build.devcluster.openshift.com" ServiceDomainMulti01Registry = "registry.multi-build01.arm-build.devcluster.openshift.com" QuayOpenShiftCIRepo = "quay.io/openshift/ci" QuayOpenShiftNetworkEdgeRepo = "quay.io/openshift/network-edge-testing" QCIAPPCIDomain = "quay-proxy.ci.openshift.org" QCICacheDomain = "qci-pull-through-cache-us-east-1-ci.apps.ci.l2s4.p1.openshiftapps.com" )
const ( WithOKD OKDInclusion = true WithoutOKD OKDInclusion = false PromotionStepName = "promotion" PromotionQuayStepName = "promotion-quay" )
const ( PipelineImageStreamTagSourceRoot = "build_root" PipelineImageStreamTagSourceBinaries = "binary_build_commands" PipelineImageStreamTagSourceTestBinaries = "test_binary_build_commands" PipelineImageStreamTagSourceRPMs = "rpm_build_commands" )
The fields in ReleaseBuildConfiguration which originate each pipeline image
const ( IndexUpdateSemver = "semver" IndexUpdateReplaces = "replaces" IndexUpdateSemverSkippatch = "semver-skippatch" )
const ( // PipelineImageStream is the name of the // ImageStream used to hold images built // to cache build steps in the pipeline. PipelineImageStream = "pipeline" // DefaultRPMLocation is the default relative // directory for Origin-based projects to put // their built RPMs. DefaultRPMLocation = "_output/local/releases/rpms/" // RPMServeLocation is the location from which // we will serve RPMs after they are built. RPMServeLocation = "/srv/repo" // StableImageStream is the ImageStream used to hold // build outputs from the repository under test and // the associated images imported from integration streams StableImageStream = "stable" // LatestReleaseName is the name of the special latest // stable stream, images in this stream are held in // the StableImageStream. Images for other versions of // the stream are held in similarly-named streams. LatestReleaseName = "latest" // InitialReleaseName is the name of the special initial // stream we copy at import to keep for upgrade tests. // TODO(skuznets): remove these when they're not implicit InitialReleaseName = "initial" // ReleaseImageStream is the name of the ImageStream // used to hold built or imported release payload images ReleaseImageStream = "release" ComponentFormatReplacement = "${component}" )
const BundlePrefix = "ci-bundle"
BundlePrefix is the prefix used by ci-operator for bundle images without an explicitly configured name
const CIOperatorStepGraphJSONFilename = "ci-operator-step-graph.json"
const ( // PromotionJobLabelKey marks promotion jobs as such. Only its presence is // relevant, its value is not. PromotionJobLabelKey = "ci-operator.openshift.io/is-promotion" )
Variables ¶
var ( // DefaultMirrorFunc is the default mirroring function DefaultMirrorFunc = func(source, target string, _ ImageStreamTagReference, _ string, mirror map[string]string) { mirror[target] = source } // QuayMirrorFunc is the mirroring function for quay.io QuayMirrorFunc = func(source, target string, tag ImageStreamTagReference, time string, mirror map[string]string) { if time == "" { logrus.Warn("Found time is empty string and skipped the promotion to quay for this image") } else { t := QuayImage(tag) mirror[t] = source mirror[quayImageWithTime(time, tag)] = t } } // DefaultTargetNameFunc is the default target name function DefaultTargetNameFunc = func(registry string, config PromotionTarget) string { if len(config.Name) > 0 { return fmt.Sprintf("%s/%s/%s:${component}", registry, config.Namespace, config.Name) } return fmt.Sprintf("%s/%s/${component}:%s", registry, config.Namespace, config.Tag) } // QuayTargetNameFunc is the target name function for quay.io QuayTargetNameFunc = func(_ string, config PromotionTarget) string { if len(config.Name) > 0 { return fmt.Sprintf("%s:%s_%s_${component}", QuayOpenShiftCIRepo, config.Namespace, config.Name) } return fmt.Sprintf("%s:%s_${component}_%s", QuayOpenShiftCIRepo, config.Namespace, config.Tag) } )
Functions ¶
func BuildsAnyOfficialImages ¶
func BuildsAnyOfficialImages(configSpec *ReleaseBuildConfiguration, includeOKD OKDInclusion) bool
BuildsAnyOfficialImages determines if a configuration will result in official images being built.
func BuildsOfficialImages ¶
func BuildsOfficialImages(configSpec PromotionTarget, includeOKD OKDInclusion) bool
BuildsOfficialImages determines if a configuration will result in official images being built.
func BundleName ¶
func DomainForService ¶
DomainForService returns the DNS domain name for the service
func FlavorForBranch ¶
func GetDefaultClusterProfileSecretName ¶
func GetDefaultClusterProfileSecretName(profile ClusterProfile) string
GetDefaultClusterProfileSecretName returns the default secret name for the profile
func GitHubUserGroup ¶
GitHubUserGroup returns the group name for a GitHub user
func HasAllLinks ¶
func HasAnyLinks ¶
func ImageTargets ¶
func ImageTargets(c *ReleaseBuildConfiguration) sets.Set[string]
ImageTargets returns image targets
func ImageVersionLabel ¶
func ImageVersionLabel(fromTag PipelineImageStreamTagReference) string
func IsCiopConfigCM ¶
IsCiopConfigCM returns true if a given name is a valid ci-operator config ConfigMap
func IsCreatedForClusterBotJob ¶
IsCreatedForClusterBotJob returns true if the given namespace is created for a job from the cluster bot
func IsIndexImage ¶
func IsPromotionJob ¶
IsPromotionJob determines if a given ProwJob is a PromotionJob
func IsReleasePayloadStream ¶
IsReleasePayloadStream determines if the ImageStream holds release payload images.
func IsReleaseStream ¶
IsReleaseStream determines if the ImageStream was created from an import or assembly of a release.
func LeaseTypeFromClusterType ¶
LeaseTypeFromClusterType maps cluster types to lease types
func LogFieldsFor ¶
func PromotesOfficialImage ¶
func PromotesOfficialImage(configSpec *ReleaseBuildConfiguration, includeOKD OKDInclusion, promotionName string) bool
PromotesOfficialImage determines if a configuration will promote promotionName and if it belongs to any official stream.
func PromotesOfficialImages ¶
func PromotesOfficialImages(configSpec *ReleaseBuildConfiguration, includeOKD OKDInclusion) bool
PromotesOfficialImages determines if a configuration will result in official images being promoted. This is a proxy for determining if a configuration contributes to the release payload.
func QuayImage ¶
func QuayImage(tag ImageStreamTagReference) string
QuayImage returns the image in quay.io for an image stream tag which is used to push the image
func QuayImageReference ¶
func QuayImageReference(tag ImageStreamTagReference) string
QuayImageReference returns the image in quay.io for an image stream tag which is used to pull the image
func RefersToOfficialImage ¶
func RefersToOfficialImage(namespace string, includeOKD OKDInclusion) bool
RefersToOfficialImage determines if an image is official
func ReleaseNameFrom ¶
ReleaseNameFrom determines the named release that was imported or assembled into an ImageStream.
func ReleaseStreamFor ¶
ReleaseStreamFor determines the ImageStream into which a named release will be imported or assembled.
func ResolveConsoleHost ¶
ResolveConsoleHost resolves the console host
func ResolveImageRegistryHost ¶
ResolveImageRegistryHost resolves the image registry host
func ResolveMultiArch ¶
func ResolveMultiArch(nodes []*StepNode)
ResolveMultiArch traverses the graph of StepNodes and updates the multiArch field of each node. If a node has a child that is multi-arch, the node itself is marked as multi-arch by adding the child's architecture to the node. This function is used to propagate the multi-arch property up the graph, ensuring that any step that depends on a multi-arch step is also considered multi-arch.
func SaveArtifact ¶
func SaveArtifact(censor secretutil.Censorer, relPath string, data []byte) error
SaveArtifact saves the data under the path relative to the artifact directory. If no artifact directory is set, we no-op. A note on censoring: SaveArtifact will ensure that the raw data being written to an artifact file is censored, but care must be taken by the callers of this utility to pre-censor fields that get materially changed or reformatted during encoding. For example, if a secret value contains newlines or quotes, then is used as a field in a JSON or XML representation, when the value is encoded into the `data []byte` that's passed here, censoring the raw bytes will not be sufficient as they will be materially different from the actual secret value. (A literal newline in the raw secret will be an escaped `\n` in the encoded bytes.)
func StepGraphJSONURL ¶
StepGraphJSONURL takes a base url like https://storage.googleapis.com/test-platform-results/pr-logs/pull/openshift_ci-tools/999/pull-ci-openshift-ci-tools-master-validate-vendor/1283812971092381696 and returns the full url for the step graph json document.
func URLForService ¶
URLForService returns the URL for the service including scheme
func ValidClusterName ¶
ValidClusterName checks if a cluster name is valid
Types ¶
type BuildArg ¶
type BuildArg struct { // Name of the build arg. Name string `json:"name,omitempty"` // Value of the build arg. Value string `json:"value,omitempty"` }
func (*BuildArg) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildArg.
func (*BuildArg) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildRootImageConfiguration ¶
type BuildRootImageConfiguration struct { ImageStreamTagReference *ImageStreamTagReference `json:"image_stream_tag,omitempty"` ProjectImageBuild *ProjectDirectoryImageBuildInputs `json:"project_image,omitempty"` // If the BuildRoot images pullspec should be read from a file in the repository (BuildRootImageFileName). FromRepository bool `json:"from_repository,omitempty"` // UseBuildCache enables the import and use of the prior `bin` image // as a build cache, if the underlying build root has not changed since // the previous cache was published. UseBuildCache bool `json:"use_build_cache,omitempty"` }
BuildRootImageConfiguration holds the two ways of using a base image that the pipeline will caches on.
func (*BuildRootImageConfiguration) DeepCopy ¶
func (in *BuildRootImageConfiguration) DeepCopy() *BuildRootImageConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildRootImageConfiguration.
func (*BuildRootImageConfiguration) DeepCopyInto ¶
func (in *BuildRootImageConfiguration) DeepCopyInto(out *BuildRootImageConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Bundle ¶
type Bundle struct { // As defines the name for this bundle. If not set, a name will be automatically generated for the bundle. As string `json:"as,omitempty"` // DockerfilePath defines where the dockerfile for build the bundle exists relative to the contextdir DockerfilePath string `json:"dockerfile_path,omitempty"` // ContextDir defines the source directory to build the bundle from relative to the repository root ContextDir string `json:"context_dir,omitempty"` // BaseIndex defines what index image to use as a base when adding the bundle to an index BaseIndex string `json:"base_index,omitempty"` // UpdateGraph defines the update mode to use when adding the bundle to the base index. // Can be: semver (default), semver-skippatch, or replaces UpdateGraph IndexUpdate `json:"update_graph,omitempty"` // Skip building the index image for this bundle. Default to false. // This field works only for named bundles, i.e., "as" is not empty. SkipBuildingIndex bool `json:"skip_building_index,omitempty"` // Optional indicates that the job's status context, that is generated from the corresponding test, should not be required for merge. Optional bool `json:"optional,omitempty"` }
Bundle contains the data needed to build a bundle from the bundle source image and update an index to include the new bundle
func (*Bundle) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bundle.
func (*Bundle) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleSourceStepConfiguration ¶
type BundleSourceStepConfiguration struct { // Substitutions contains pullspecs that need to be replaced by images // in the CI cluster for operator bundle images Substitutions []PullSpecSubstitution `json:"substitutions,omitempty"` }
BundleSourceStepConfiguration describes a step that performs a set of substitutions on all yaml files in the `src` image so that the pullspecs in the operator manifests point to images inside the CI registry. It is intended to be used as the source image for bundle image builds.
func (*BundleSourceStepConfiguration) DeepCopy ¶
func (in *BundleSourceStepConfiguration) DeepCopy() *BundleSourceStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleSourceStepConfiguration.
func (*BundleSourceStepConfiguration) DeepCopyInto ¶
func (in *BundleSourceStepConfiguration) DeepCopyInto(out *BundleSourceStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (BundleSourceStepConfiguration) TargetName ¶
func (config BundleSourceStepConfiguration) TargetName() string
type CIOperatorInrepoConfig ¶
type CIOperatorInrepoConfig struct {
BuildRootImage ImageStreamTagReference `json:"build_root_image"`
}
func (*CIOperatorInrepoConfig) DeepCopy ¶
func (in *CIOperatorInrepoConfig) DeepCopy() *CIOperatorInrepoConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CIOperatorInrepoConfig.
func (*CIOperatorInrepoConfig) DeepCopyInto ¶
func (in *CIOperatorInrepoConfig) DeepCopyInto(out *CIOperatorInrepoConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CIOperatorStepDetailInfo ¶
type CIOperatorStepDetailInfo struct { StepName string `json:"name"` Description string `json:"description"` Dependencies []string `json:"dependencies"` StartedAt *time.Time `json:"started_at"` FinishedAt *time.Time `json:"finished_at"` Duration *time.Duration `json:"duration,omitempty"` Manifests []ctrlruntimeclient.Object `json:"manifests,omitempty"` LogURL string `json:"log_url,omitempty"` Failed *bool `json:"failed,omitempty"` }
+k8s:deepcopy-gen=false
func (*CIOperatorStepDetailInfo) UnmarshalJSON ¶
func (c *CIOperatorStepDetailInfo) UnmarshalJSON(data []byte) error
type CIOperatorStepDetails ¶
type CIOperatorStepDetails struct { CIOperatorStepDetailInfo `json:",inline"` Substeps []CIOperatorStepDetailInfo `json:"substeps,omitempty"` }
+k8s:deepcopy-gen=false
type CIOperatorStepGraph ¶
type CIOperatorStepGraph []CIOperatorStepDetails
+k8s:deepcopy-gen=false
func (*CIOperatorStepGraph) MergeFrom ¶
func (graph *CIOperatorStepGraph) MergeFrom(from ...CIOperatorStepDetails)
MergeFrom merges two CIOperatorStepGraphs together using StepNames as merge keys. The merging logic will never ovewrwrite data and only set unset fields. Steps that do not exist in the first graph get appended.
type Candidate ¶
type Candidate struct { ReleaseDescriptor // ReleaseStream is the stream from which we pick the latest candidate Stream ReleaseStream `json:"stream"` // Version is the minor version to search for Version string `json:"version"` }
Candidate describes a validated candidate release payload
func (*Candidate) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Candidate.
func (*Candidate) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClaimRelease ¶
func (*ClaimRelease) DeepCopy ¶
func (in *ClaimRelease) DeepCopy() *ClaimRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClaimRelease.
func (*ClaimRelease) DeepCopyInto ¶
func (in *ClaimRelease) DeepCopyInto(out *ClaimRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cloud ¶
type Cloud string
Cloud is the name of a cloud provider, e.g., aws cluster topology, etc.
type ClusterClaim ¶
type ClusterClaim struct { // As is the name to use when importing the cluster claim release payload. // If unset, claim release will be imported as `latest`. As string `json:"as,omitempty"` // Product is the name of the product being released. // Defaults to ocp. Product ReleaseProduct `json:"product,omitempty"` // Version is the version of the product Version string `json:"version"` // Architecture is the architecture for the product. // Defaults to amd64. Architecture ReleaseArchitecture `json:"architecture,omitempty"` // Cloud is the cloud where the product is installed, e.g., aws. Cloud Cloud `json:"cloud"` // Owner is the owner of cloud account used to install the product, e.g., dpp. Owner string `json:"owner"` // Labels is the labels to select the cluster pools Labels map[string]string `json:"labels,omitempty"` // Timeout is how long ci-operator will wait for the cluster to be ready. // Defaults to 1h. Timeout *prowv1.Duration `json:"timeout,omitempty"` }
ClusterClaim claims an OpenShift cluster for the job.
func (*ClusterClaim) ClaimRelease ¶
func (c *ClusterClaim) ClaimRelease(testName string) *ClaimRelease
func (*ClusterClaim) DeepCopy ¶
func (in *ClusterClaim) DeepCopy() *ClusterClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaim.
func (*ClusterClaim) DeepCopyInto ¶
func (in *ClusterClaim) DeepCopyInto(out *ClusterClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterClaimDetails ¶
type ClusterClaimDetails struct { Claim string `yaml:"claim"` Owners []ClusterClaimOwnerDetails `yaml:"owners,omitempty"` }
func (*ClusterClaimDetails) DeepCopy ¶
func (in *ClusterClaimDetails) DeepCopy() *ClusterClaimDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimDetails.
func (*ClusterClaimDetails) DeepCopyInto ¶
func (in *ClusterClaimDetails) DeepCopyInto(out *ClusterClaimDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterClaimOwnerDetails ¶
type ClusterClaimOwnerDetails struct { Org string `yaml:"org"` Repos []string `yaml:"repos,omitempty"` }
func (*ClusterClaimOwnerDetails) DeepCopy ¶
func (in *ClusterClaimOwnerDetails) DeepCopy() *ClusterClaimOwnerDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimOwnerDetails.
func (*ClusterClaimOwnerDetails) DeepCopyInto ¶
func (in *ClusterClaimOwnerDetails) DeepCopyInto(out *ClusterClaimOwnerDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterClaimOwnersMap ¶
type ClusterClaimOwnersMap map[string]ClusterClaimDetails
func (ClusterClaimOwnersMap) DeepCopy ¶
func (in ClusterClaimOwnersMap) DeepCopy() ClusterClaimOwnersMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimOwnersMap.
func (ClusterClaimOwnersMap) DeepCopyInto ¶
func (in ClusterClaimOwnersMap) DeepCopyInto(out *ClusterClaimOwnersMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterProfile ¶
type ClusterProfile string
ClusterProfile is the name of a set of input variables provided to the installer defining the target cloud, cluster topology, etc.
const ( ClusterProfileAWS ClusterProfile = "aws" ClusterProfileAWSCSPIQE ClusterProfile = "aws-cspi-qe" ClusterProfileAWSQE ClusterProfile = "aws-qe" ClusterProfileAWSC2SQE ClusterProfile = "aws-c2s-qe" ClusterProfileAWSChinaQE ClusterProfile = "aws-china-qe" ClusterProfileAWSGovCloudQE ClusterProfile = "aws-usgov-qe" ClusterProfileAWSSC2SQE ClusterProfile = "aws-sc2s-qe" ClusterProfileAWSSCPQE ClusterProfile = "aws-scp-qe" ClusterProfileAWS1QE ClusterProfile = "aws-1-qe" ClusterProfileAWSAutoreleaseQE ClusterProfile = "aws-autorelease-qe" ClusterProfileAWSSdQE ClusterProfile = "aws-sd-qe" ClusterProfileAWSPerfScale ClusterProfile = "aws-perfscale" ClusterProfileAWSPerfQE ClusterProfile = "aws-perf-qe" ClusterProfileAWSPerfScaleQE ClusterProfile = "aws-perfscale-qe" ClusterProfileAWSPerfScaleLRCQE ClusterProfile = "aws-perfscale-lrc-qe" ClusterProfileAWSOutpostQE ClusterProfile = "aws-outpost-qe" ClusterProfileAWSChaos ClusterProfile = "aws-chaos" ClusterProfileAWSManagedCSPIQE ClusterProfile = "aws-managed-cspi-qe" ClusterProfileAWSOSDMSP ClusterProfile = "aws-osd-msp" ClusterProfileAWSINTEROPQE ClusterProfile = "aws-interop-qe" ClusterProfileAWSTerraformQE ClusterProfile = "aws-terraform-qe" ClusterProfileAWSPipelinesPerf ClusterProfile = "aws-pipelines-performance" ClusterProfileAWSRHTAPQE ClusterProfile = "aws-rhtap-qe" ClusterProfileAWSKonfluxQE ClusterProfile = "aws-konflux-qe" ClusterProfileAWSRHTAPPerformance ClusterProfile = "aws-rhtap-performance" ClusterProfileAWSRHDHPerf ClusterProfile = "aws-rhdh-performance" ClusterProfileAWSServerless ClusterProfile = "aws-serverless" ClusterProfileAWSTelco ClusterProfile = "aws-telco" ClusterProfileAWSOpendatahub ClusterProfile = "aws-opendatahub" ClusterProfileAWSDevfile ClusterProfile = "aws-devfile" ClusterProfileAWSSPLAT ClusterProfile = "aws-splat" ClusterProfileAWSSustAutoRel412 ClusterProfile = "aws-sustaining-autorelease-412" ClusterProfileAWSKubeVirt ClusterProfile = "aws-kubevirt" ClusterProfileAWSOVNPerfScale ClusterProfile = "aws-ovn-perfscale" ClusterProfileAlibabaCloud ClusterProfile = "alibabacloud" ClusterProfileAlibabaCloudQE ClusterProfile = "alibabacloud-qe" ClusterProfileAlibabaCloudCNQE ClusterProfile = "alibabacloud-cn-qe" ClusterProfileAzure ClusterProfile = "azure" ClusterProfileAzure2 ClusterProfile = "azure-2" ClusterProfileAzure4 ClusterProfile = "azure4" ClusterProfileAzureArc ClusterProfile = "azure-arc" ClusterProfileAzureArm64 ClusterProfile = "azure-arm64" ClusterProfileAzurePerfScale ClusterProfile = "azure-perfscale" ClusterProfileAzureStack ClusterProfile = "azurestack" ClusterProfileAzureStackQE ClusterProfile = "azurestack-qe" ClusterProfileAzureMag ClusterProfile = "azuremag" ClusterProfileAzureQE ClusterProfile = "azure-qe" ClusterProfileAzureHCPQE ClusterProfile = "azure-hcp-qe" ClusterProfileAzureHCPHAQE ClusterProfile = "azure-hcp-ha-qe" ClusterProfileAzureAutoreleaseQE ClusterProfile = "azure-autorelease-qe" ClusterProfileAzureArm64QE ClusterProfile = "azure-arm64-qe" ClusterProfileAzureMagQE ClusterProfile = "azuremag-qe" ClusterProfileAzureSustAutoRel412 ClusterProfile = "azure-sustaining-autorelease-412" ClusterProfileEquinixOcpMetal ClusterProfile = "equinix-ocp-metal" ClusterProfileEquinixOcpMetalQE ClusterProfile = "equinix-ocp-metal-qe" ClusterProfileEquinixOcpHCP ClusterProfile = "equinix-ocp-hcp" ClusterProfileFleetManagerQE ClusterProfile = "fleet-manager-qe" ClusterProfileGCPQE ClusterProfile = "gcp-qe" ClusterProfileGCPAutoReleaseQE ClusterProfile = "gcp-autorelease-qe" ClusterProfileGCPArm64 ClusterProfile = "gcp-arm64" ClusterProfileGCP ClusterProfile = "gcp" ClusterProfileGCP3 ClusterProfile = "gcp-3" ClusterProfileGCP2 ClusterProfile = "gcp-openshift-gce-devel-ci-2" ClusterProfileGCPOpendatahub ClusterProfile = "gcp-opendatahub" ClusterProfileGCPTelco ClusterProfile = "gcp-telco" ClusterProfileGCPChaos ClusterProfile = "gcp-chaos" ClusterProfileIBMCloud ClusterProfile = "ibmcloud" ClusterProfileIBMCloudCSPIQE ClusterProfile = "ibmcloud-cspi-qe" ClusterProfileIBMCloudQE ClusterProfile = "ibmcloud-qe" ClusterProfileIBMCloudQE2 ClusterProfile = "ibmcloud-qe-2" ClusterProfileIBMCloudMultiPpc64le ClusterProfile = "ibmcloud-multi-ppc64le" ClusterProfileIBMCloudMultiS390x ClusterProfile = "ibmcloud-multi-s390x" ClusterProfilePOWERVSMulti1 ClusterProfile = "powervs-multi-1" ClusterProfilePOWERVS1 ClusterProfile = "powervs-1" ClusterProfilePOWERVS2 ClusterProfile = "powervs-2" ClusterProfilePOWERVS3 ClusterProfile = "powervs-3" ClusterProfilePOWERVS4 ClusterProfile = "powervs-4" ClusterProfilePOWERVS5 ClusterProfile = "powervs-5" ClusterProfilePOWERVS6 ClusterProfile = "powervs-6" ClusterProfilePOWERVS7 ClusterProfile = "powervs-7" ClusterProfileLibvirtPpc64le ClusterProfile = "libvirt-ppc64le" ClusterProfileLibvirtS390x ClusterProfile = "libvirt-s390x" ClusterProfileLibvirtS390x1 ClusterProfile = "libvirt-s390x-1" ClusterProfileLibvirtS390x2 ClusterProfile = "libvirt-s390x-2" ClusterProfileLibvirtS390xAmd64 ClusterProfile = "libvirt-s390x-amd64" ClusterProfileMetalPerfscaleCPT ClusterProfile = "metal-perscale-cpt" ClusterProfileMetalPerfscaleJetlag ClusterProfile = "metal-perfscale-jetlag" ClusterProfileMetalTelco5G ClusterProfile = "metal-telco5g" ClusterProfileMetalTelco5GPTP ClusterProfile = "metal-telco5g-ptp" ClusterProfileNutanix ClusterProfile = "nutanix" ClusterProfileNutanixQE ClusterProfile = "nutanix-qe" ClusterProfileNutanixQEDis ClusterProfile = "nutanix-qe-dis" ClusterProfileNutanixQEZone ClusterProfile = "nutanix-qe-zone" ClusterProfileNutanixQEGPU ClusterProfile = "nutanix-qe-gpu" ClusterProfileOpenStackHwoffload ClusterProfile = "openstack-hwoffload" ClusterProfileOpenStackIBMOSP ClusterProfile = "openstack-ibm-osp" ClusterProfileOpenStackNFV ClusterProfile = "openstack-nfv" ClusterProfileOpenStackMechaCentral ClusterProfile = "openstack-vh-mecha-central" ClusterProfileOpenStackMechaAz0 ClusterProfile = "openstack-vh-mecha-az0" ClusterProfileOpenStackOsuosl ClusterProfile = "openstack-osuosl" ClusterProfileOpenStackVexxhost ClusterProfile = "openstack-vexxhost" ClusterProfileOpenStackPpc64le ClusterProfile = "openstack-ppc64le" ClusterProfileOpenStackOpVexxhost ClusterProfile = "openstack-operators-vexxhost" ClusterProfileOpenStackNercDev ClusterProfile = "openstack-nerc-dev" ClusterProfileRHOSOGiant28 ClusterProfile = "rhoso-giant28" ClusterProfileOvirt ClusterProfile = "ovirt" ClusterProfilePacket ClusterProfile = "packet" ClusterProfilePacketAssisted ClusterProfile = "packet-assisted" ClusterProfilePacketSNO ClusterProfile = "packet-sno" ClusterProfileVSphereDis2 ClusterProfile = "vsphere-dis-2" ClusterProfileVSphereMultizone2 ClusterProfile = "vsphere-multizone-2" ClusterProfileVSphereConnected2 ClusterProfile = "vsphere-connected-2" ClusterProfileVSphereElastic ClusterProfile = "vsphere-elastic" ClusterProfileKubevirt ClusterProfile = "kubevirt" ClusterProfileAWSCPaaS ClusterProfile = "aws-cpaas" ClusterProfileOSDEphemeral ClusterProfile = "osd-ephemeral" ClusterProfileAWS2 ClusterProfile = "aws-2" ClusterProfileHyperShift ClusterProfile = "hypershift" ClusterProfileAWS3 ClusterProfile = "aws-3" ClusterProfileGCPVirtualization ClusterProfile = "gcp-virtualization" ClusterProfileAWSVirtualization ClusterProfile = "aws-virtualization" ClusterProfileAzureVirtualization ClusterProfile = "azure-virtualization" ClusterProfileOCIAssisted ClusterProfile = "oci-assisted" ClusterProfileHypershiftPowerVS ClusterProfile = "hypershift-powervs" ClusterProfileHypershiftPowerVSCB ClusterProfile = "hypershift-powervs-cb" ClusterProfileOSSM ClusterProfile = "ossm-aws" ClusterProfileMedik8sAWS ClusterProfile = "medik8s-aws" ClusterProfileGitOpsAWS ClusterProfile = "gitops-aws" ClusterProfileCheAWS ClusterProfile = "che-aws" ClusterProfileOSLGCP ClusterProfile = "osl-gcp" ClusterProfileDevSandboxCIAWS ClusterProfile = "devsandboxci-aws" ClusterProfileQuayAWS ClusterProfile = "quay-aws" ClusterProfileAWSEdgeInfra ClusterProfile = "aws-edge-infra" ClusterProfileRHOpenShiftEcosystem ClusterProfile = "rh-openshift-ecosystem" ClusterProfileODFAWS ClusterProfile = "odf-aws" ClusterProfileKonfluxWorkspacesAWS ClusterProfile = "konfluxworkspaces-aws" ClusterProfileAWSObservabiltity ClusterProfile = "aws-observability" ClusterProfileAWSStackrox ClusterProfile = "aws-stackrox" ClusterProfileAWSSDCICD ClusterProfile = "aws-sd-cicd" ClusterProfileGCPSDCICD ClusterProfile = "gcp-sd-cicd" ClusterProfileAroRH ClusterProfile = "aro-redhat-tenant" )
func ClusterProfiles ¶
func ClusterProfiles() []ClusterProfile
ClusterProfiles are all valid cluster profiles
func (ClusterProfile) ClusterType ¶
func (p ClusterProfile) ClusterType() string
ClusterType maps profiles to the type string used by tests.
func (ClusterProfile) IPPoolLeaseShouldValidateBranch ¶
func (p ClusterProfile) IPPoolLeaseShouldValidateBranch() bool
IPPoolLeaseShouldValidateBranch declares whether the ip-pool leases should only be applied to branches matching a specific OpenShift validation model. returns true by default, but should return false for any cluster-profiles that don't want this validation
func (ClusterProfile) IPPoolLeaseType ¶
func (p ClusterProfile) IPPoolLeaseType() string
func (ClusterProfile) LeaseType ¶
func (p ClusterProfile) LeaseType() string
LeaseType maps profiles to the type string used in leases.
func (ClusterProfile) Name ¶
func (p ClusterProfile) Name() string
type ClusterProfileDetails ¶
type ClusterProfileDetails struct { Profile ClusterProfile `yaml:"profile" json:"profile"` Owners []ClusterProfileOwners `yaml:"owners,omitempty" json:"owners,omitempty"` ClusterType string `yaml:"cluster_type,omitempty" json:"cluster_type,omitempty"` LeaseType string `yaml:"lease_type,omitempty" json:"lease_type,omitempty"` Secret string `yaml:"secret,omitempty" json:"secret,omitempty"` ConfigMap string `yaml:"config_map,omitempty" json:"config_map,omitempty"` }
func (*ClusterProfileDetails) DeepCopy ¶
func (in *ClusterProfileDetails) DeepCopy() *ClusterProfileDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProfileDetails.
func (*ClusterProfileDetails) DeepCopyInto ¶
func (in *ClusterProfileDetails) DeepCopyInto(out *ClusterProfileDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterProfileOwners ¶
type ClusterProfileOwners struct { Org string `yaml:"org" json:"org"` Repos []string `yaml:"repos,omitempty" json:"repos,omitempty"` }
func (*ClusterProfileOwners) DeepCopy ¶
func (in *ClusterProfileOwners) DeepCopy() *ClusterProfileOwners
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProfileOwners.
func (*ClusterProfileOwners) DeepCopyInto ¶
func (in *ClusterProfileOwners) DeepCopyInto(out *ClusterProfileOwners)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterProfilesList ¶
type ClusterProfilesList []ClusterProfileDetails
func (ClusterProfilesList) DeepCopy ¶
func (in ClusterProfilesList) DeepCopy() ClusterProfilesList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProfilesList.
func (ClusterProfilesList) DeepCopyInto ¶
func (in ClusterProfilesList) DeepCopyInto(out *ClusterProfilesList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterProfilesMap ¶
type ClusterProfilesMap map[ClusterProfile]ClusterProfileDetails
func (ClusterProfilesMap) DeepCopy ¶
func (in ClusterProfilesMap) DeepCopy() ClusterProfilesMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProfilesMap.
func (ClusterProfilesMap) DeepCopyInto ¶
func (in ClusterProfilesMap) DeepCopyInto(out *ClusterProfilesMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTestConfiguration ¶
type ClusterTestConfiguration struct {
ClusterProfile ClusterProfile `json:"cluster_profile"`
}
ClusterTestConfiguration describes a test that provisions a cluster and runs a command in it.
func (*ClusterTestConfiguration) DeepCopy ¶
func (in *ClusterTestConfiguration) DeepCopy() *ClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTestConfiguration.
func (*ClusterTestConfiguration) DeepCopyInto ¶
func (in *ClusterTestConfiguration) DeepCopyInto(out *ClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonStep ¶
type CommonStep interface { Inputs() (InputDefinition, error) // Validate checks inputs of steps that are part of the execution graph. Validate() error Run(ctx context.Context) error // Name is the name of the stage, used to target it. // If this is the empty string the stage cannot be targeted. Name() string // Description is a short, human readable description of this step. Description() string Requires() []StepLink Creates() []StepLink Provides() ParameterMap // Objects returns all objects the client for this step has seen Objects() []ctrlruntimeclient.Object }
CommonStep is a self-contained bit of work that the build pipeline needs to do. +k8s:deepcopy-gen=false
type ContainerTestConfiguration ¶
type ContainerTestConfiguration struct { // From is the image stream tag in the pipeline to run this // command in. From PipelineImageStreamTagReference `json:"from"` // MemoryBackedVolume mounts a volume of the specified size into // the container at /tmp/volume. MemoryBackedVolume *MemoryBackedVolume `json:"memory_backed_volume,omitempty"` // If the step should clone the source code prior to running the command. // Defaults to `true` for `base_images`, `false` otherwise. Clone *bool `json:"clone,omitempty"` }
ContainerTestConfiguration describes a test that runs a command in one of the previously built images.
func (*ContainerTestConfiguration) DeepCopy ¶
func (in *ContainerTestConfiguration) DeepCopy() *ContainerTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerTestConfiguration.
func (*ContainerTestConfiguration) DeepCopyInto ¶
func (in *ContainerTestConfiguration) DeepCopyInto(out *ContainerTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CredentialReference ¶
type CredentialReference struct { // Namespace is where the source secret exists. Namespace string `json:"namespace"` // Names is which source secret to mount. Name string `json:"name"` // MountPath is where the secret should be mounted. MountPath string `json:"mount_path"` }
CredentialReference defines a secret to mount into a step and where to mount it.
func (*CredentialReference) DeepCopy ¶
func (in *CredentialReference) DeepCopy() *CredentialReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialReference.
func (*CredentialReference) DeepCopyInto ¶
func (in *CredentialReference) DeepCopyInto(out *CredentialReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeferredParameters ¶
type DeferredParameters struct {
// contains filtered or unexported fields
}
+k8s:deepcopy-gen=false
func NewDeferredParameters ¶
func NewDeferredParameters(params Parameters) *DeferredParameters
func (*DeferredParameters) Add ¶
func (p *DeferredParameters) Add(name string, fn func() (string, error))
func (*DeferredParameters) Has ¶
func (p *DeferredParameters) Has(name string) bool
Has returns true if the named parameter exists. Use HasInput if you need to know whether the value comes from outside the graph.
func (*DeferredParameters) HasInput ¶
func (p *DeferredParameters) HasInput(name string) bool
HasInput returns true if the named parameter is an input from outside the graph, rather than provided either by the graph caller or another node.
func (*DeferredParameters) Set ¶
func (p *DeferredParameters) Set(name, value string)
type DependencyOverrides ¶
func (DependencyOverrides) DeepCopy ¶
func (in DependencyOverrides) DeepCopy() DependencyOverrides
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependencyOverrides.
func (DependencyOverrides) DeepCopyInto ¶
func (in DependencyOverrides) DeepCopyInto(out *DependencyOverrides)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GraphConfiguration ¶
type GraphConfiguration struct { // Steps accumulates step configuration as the configuration is parsed. Steps []StepConfiguration }
GraphConfiguration contains step data used to build the execution graph.
func (*GraphConfiguration) DeepCopy ¶
func (in *GraphConfiguration) DeepCopy() *GraphConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GraphConfiguration.
func (*GraphConfiguration) DeepCopyInto ¶
func (in *GraphConfiguration) DeepCopyInto(out *GraphConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GraphConfiguration) InputImages ¶
func (c *GraphConfiguration) InputImages() (ret []*InputImageTagStepConfiguration)
type ImageBuildInputs ¶
type ImageBuildInputs struct { // Paths is a list of paths to copy out of this image and into the // context directory. Paths []ImageSourcePath `json:"paths,omitempty"` // As is a list of multi-stage step names or image names that will // be replaced by the image reference from this step. For instance, // if the Dockerfile defines FROM nginx:latest AS base, specifying // either "nginx:latest" or "base" in this array will replace that // image with the pipeline input. As []string `json:"as,omitempty"` }
ImageBuildInputs is a subset of the v1 OpenShift Build API object defining an input source.
func (*ImageBuildInputs) DeepCopy ¶
func (in *ImageBuildInputs) DeepCopy() *ImageBuildInputs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageBuildInputs.
func (*ImageBuildInputs) DeepCopyInto ¶
func (in *ImageBuildInputs) DeepCopyInto(out *ImageBuildInputs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageSourcePath ¶
type ImageSourcePath struct { // SourcePath is a file or directory in the source image to copy from. SourcePath string `json:"source_path"` // DestinationDir is the directory in the destination image to copy // to. DestinationDir string `json:"destination_dir"` }
ImageSourcePath maps a path in the source image into a destination path in the context. See the v1 OpenShift Build API for more info.
func (*ImageSourcePath) DeepCopy ¶
func (in *ImageSourcePath) DeepCopy() *ImageSourcePath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSourcePath.
func (*ImageSourcePath) DeepCopyInto ¶
func (in *ImageSourcePath) DeepCopyInto(out *ImageSourcePath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageStreamSource ¶
type ImageStreamSource struct { SourceType ImageStreamSourceType Name string }
func (*ImageStreamSource) DeepCopy ¶
func (in *ImageStreamSource) DeepCopy() *ImageStreamSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamSource.
func (*ImageStreamSource) DeepCopyInto ¶
func (in *ImageStreamSource) DeepCopyInto(out *ImageStreamSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageStreamSourceType ¶
type ImageStreamSourceType string
const ( ImageStreamSourceRoot ImageStreamSourceType = "root" ImageStreamSourceBase ImageStreamSourceType = "base_image" ImageStreamSourceBaseRpm ImageStreamSourceType = "base_rpm_image" ImageStreamSourceTest ImageStreamSourceType = "test step" )
type ImageStreamTagReference ¶
type ImageStreamTagReference struct { Namespace string `json:"namespace"` Name string `json:"name"` Tag string `json:"tag"` // As is an optional string to use as the intermediate name for this reference. As string `json:"as,omitempty"` }
ImageStreamTagReference identifies an ImageStreamTag
func BuildCacheFor ¶
func BuildCacheFor(metadata Metadata) ImageStreamTagReference
func (*ImageStreamTagReference) DeepCopy ¶
func (in *ImageStreamTagReference) DeepCopy() *ImageStreamTagReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamTagReference.
func (*ImageStreamTagReference) DeepCopyInto ¶
func (in *ImageStreamTagReference) DeepCopyInto(out *ImageStreamTagReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImageStreamTagReference) ISTagName ¶
func (i *ImageStreamTagReference) ISTagName() string
type IndexGeneratorStepConfiguration ¶
type IndexGeneratorStepConfiguration struct { To PipelineImageStreamTagReference `json:"to,omitempty"` // OperatorIndex is a list of the names of the bundle images that the // index will contain in its database. OperatorIndex []string `json:"operator_index,omitempty"` // BaseIndex is the index image to add the bundle(s) to. If unset, a new index is created BaseIndex string `json:"base_index,omitempty"` // UpdateGraph defines the mode to us when updating the index graph UpdateGraph IndexUpdate `json:"update_graph,omitempty"` }
IndexGeneratorStepConfiguration describes a step that creates an index database and Dockerfile to build an operator index that uses the generated database based on bundle names provided in OperatorIndex
func (*IndexGeneratorStepConfiguration) DeepCopy ¶
func (in *IndexGeneratorStepConfiguration) DeepCopy() *IndexGeneratorStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IndexGeneratorStepConfiguration.
func (*IndexGeneratorStepConfiguration) DeepCopyInto ¶
func (in *IndexGeneratorStepConfiguration) DeepCopyInto(out *IndexGeneratorStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (IndexGeneratorStepConfiguration) TargetName ¶
func (config IndexGeneratorStepConfiguration) TargetName() string
type IndexUpdate ¶
type IndexUpdate string
IndexUpdate specifies the update mode for an operator being added to an index
type InputConfiguration ¶
type InputConfiguration struct { // The list of base images describe // which images are going to be necessary outside // of the pipeline. The key will be the alias that other // steps use to refer to this image. BaseImages map[string]ImageStreamTagReference `json:"base_images,omitempty"` // BaseRPMImages is a list of the images and their aliases that will // have RPM repositories injected into them for downstream // image builds that require built project RPMs. BaseRPMImages map[string]ImageStreamTagReference `json:"base_rpm_images,omitempty"` // BuildRootImage supports two ways to get the image that // the pipeline will caches on. The one way is to take the reference // from an image stream, and the other from a dockerfile. BuildRootImage *BuildRootImageConfiguration `json:"build_root,omitempty"` // BuildRootImages entries support two ways to get the image that // the pipeline will caches on. The one way is to take the reference // from an image stream, and the other from a dockerfile. // Mutually exclusive with BuildRootImage // DO NOT set this in the config BuildRootImages map[string]BuildRootImageConfiguration `json:"build_roots,omitempty"` // ReleaseTagConfiguration determines how the // full release is assembled. ReleaseTagConfiguration *ReleaseTagConfiguration `json:"tag_specification,omitempty"` // Releases maps semantic release payload identifiers // to the names that they will be exposed under. For // instance, an 'initial' name will be exposed as // $RELEASE_IMAGE_INITIAL. The 'latest' key is special // and cannot co-exist with 'tag_specification', as // they result in the same output. Releases map[string]UnresolvedRelease `json:"releases,omitempty"` }
InputConfiguration contains the set of image inputs to a build and can be used as an override to the canonical inputs by a local process.
func (*InputConfiguration) DeepCopy ¶
func (in *InputConfiguration) DeepCopy() *InputConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputConfiguration.
func (*InputConfiguration) DeepCopyInto ¶
func (in *InputConfiguration) DeepCopyInto(out *InputConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InputDefinition ¶
type InputDefinition []string
func (InputDefinition) DeepCopy ¶
func (in InputDefinition) DeepCopy() InputDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputDefinition.
func (InputDefinition) DeepCopyInto ¶
func (in InputDefinition) DeepCopyInto(out *InputDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InputImage ¶
type InputImage struct { BaseImage ImageStreamTagReference `json:"base_image"` To PipelineImageStreamTagReference `json:"to,omitempty"` // Ref is an optional string linking to the extra_ref in "org.repo" format that this belongs to Ref string `json:"ref,omitempty"` }
func (*InputImage) DeepCopy ¶
func (in *InputImage) DeepCopy() *InputImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputImage.
func (*InputImage) DeepCopyInto ¶
func (in *InputImage) DeepCopyInto(out *InputImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InputImageTagStepConfiguration ¶
type InputImageTagStepConfiguration struct { InputImage `json:",inline"` Sources []ImageStreamSource `json:"-"` }
InputImageTagStepConfiguration describes a step that tags an externalImage image in to the build pipeline. if no explicit output tag is provided, the name of the image is used as the tag.
func (*InputImageTagStepConfiguration) AddSources ¶
func (config *InputImageTagStepConfiguration) AddSources(sources ...ImageStreamSource)
func (*InputImageTagStepConfiguration) DeepCopy ¶
func (in *InputImageTagStepConfiguration) DeepCopy() *InputImageTagStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputImageTagStepConfiguration.
func (*InputImageTagStepConfiguration) DeepCopyInto ¶
func (in *InputImageTagStepConfiguration) DeepCopyInto(out *InputImageTagStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InputImageTagStepConfiguration) FormattedSources ¶
func (config InputImageTagStepConfiguration) FormattedSources() string
func (InputImageTagStepConfiguration) Matches ¶
func (config InputImageTagStepConfiguration) Matches(other InputImage) bool
func (InputImageTagStepConfiguration) TargetName ¶
func (config InputImageTagStepConfiguration) TargetName() string
type Integration ¶
type Integration struct { // Namespace is the namespace in which the integration stream lives. Namespace string `json:"namespace"` // Name is the name of the ImageStream Name string `json:"name"` // IncludeBuiltImages determines if the release we assemble will include // images built during the test itself. IncludeBuiltImages bool `json:"include_built_images,omitempty"` }
Integration is an ImageStream holding the latest images from development builds of OCP.
func (*Integration) DeepCopy ¶
func (in *Integration) DeepCopy() *Integration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Integration.
func (*Integration) DeepCopyInto ¶
func (in *Integration) DeepCopyInto(out *Integration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JobSpec ¶
type JobSpec struct { downwardapi.JobSpec `json:",inline"` BaseNamespace string Metadata Metadata Target string TargetAdditionalSuffix string // contains filtered or unexported fields }
JobSpec is a superset of the upstream spec. +k8s:deepcopy-gen=false
func ResolveSpecFromEnv ¶
ResolveSpecFromEnv will determine the Refs being tested in by parsing Prow environment variable contents
func (*JobSpec) Inputs ¶
func (s *JobSpec) Inputs() InputDefinition
Inputs returns the definition of the job as an input to the execution graph.
func (JobSpec) JobNameHash ¶
func (*JobSpec) Namespace ¶
Namespace returns the namespace of the job. Must not be evaluated at step construction time because its unset there
func (*JobSpec) Owner ¶
func (s *JobSpec) Owner() *meta.OwnerReference
func (*JobSpec) SetNamespace ¶
func (*JobSpec) SetOwner ¶
func (s *JobSpec) SetOwner(owner *meta.OwnerReference)
func (JobSpec) UniqueHash ¶
type LiteralTestStep ¶
type LiteralTestStep struct { // As is the name of the LiteralTestStep. As string `json:"as,omitempty"` // From is the container image that will be used for this step. From string `json:"from,omitempty"` // FromImage is a literal ImageStreamTag reference to use for this step. FromImage *ImageStreamTagReference `json:"from_image,omitempty"` // Commands is the command(s) that will be run inside the image. Commands string `json:"commands,omitempty"` // Resources defines the resource requirements for the step. Resources ResourceRequirements `json:"resources"` // Timeout is how long the we will wait before aborting a job with SIGINT. Timeout *prowv1.Duration `json:"timeout,omitempty"` // GracePeriod is how long the we will wait after sending SIGINT to send // SIGKILL when aborting a Step. GracePeriod *prowv1.Duration `json:"grace_period,omitempty"` // Credentials defines the credentials we'll mount into this step. Credentials []CredentialReference `json:"credentials,omitempty"` // Environment lists parameters that should be set by the test. Environment []StepParameter `json:"env,omitempty"` // Dependencies lists images which must be available before the test runs // and the environment variables which are used to expose their pull specs. Dependencies []StepDependency `json:"dependencies,omitempty"` // DnsConfig for step's Pod. DNSConfig *StepDNSConfig `json:"dnsConfig,omitempty"` // Leases lists resources that should be acquired for the test. Leases []StepLease `json:"leases,omitempty"` // OptionalOnSuccess defines if this step should be skipped as long // as all `pre` and `test` steps were successful and AllowSkipOnSuccess // flag is set to true in MultiStageTestConfiguration. This option is // applicable to `post` steps. OptionalOnSuccess *bool `json:"optional_on_success,omitempty"` // BestEffort defines if this step should cause the job to fail when the // step fails. This only applies when AllowBestEffortPostSteps flag is set // to true in MultiStageTestConfiguration. This option is applicable to // `post` steps. BestEffort *bool `json:"best_effort,omitempty"` // NoKubeconfig determines that no $KUBECONFIG will exist in $SHARED_DIR, // so no local copy of it will be created for the step and if the step // creates one, it will not be propagated. NoKubeconfig *bool `json:"no_kubeconfig,omitempty"` // Cli is the (optional) name of the release from which the `oc` binary // will be injected into this step. Cli string `json:"cli,omitempty"` // Observers are the observers that should be running Observers []string `json:"observers,omitempty"` // RunAsScript defines if this step should be executed as a script mounted // in the test container instead of being executed directly via bash RunAsScript *bool `json:"run_as_script,omitempty"` // NodeArchitecture is the architecture for the node where the test will run. // If set, the generated test pod will include a nodeSelector for this architecture. NodeArchitecture *NodeArchitecture `json:"node_architecture,omitempty"` }
LiteralTestStep is the external representation of a test step allowing users to define new test steps. It gets converted to an internal LiteralTestStep struct that represents the full configuration that ci-operator can use.
func (*LiteralTestStep) DeepCopy ¶
func (in *LiteralTestStep) DeepCopy() *LiteralTestStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LiteralTestStep.
func (*LiteralTestStep) DeepCopyInto ¶
func (in *LiteralTestStep) DeepCopyInto(out *LiteralTestStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LiteralTestStep) FromImageTag ¶
func (s *LiteralTestStep) FromImageTag() (PipelineImageStreamTagReference, bool)
FromImageTag returns the internal name for the image tag that will be used for this step, if one is configured.
type MemoryBackedVolume ¶
type MemoryBackedVolume struct { // Size is the requested size of the volume as a Kubernetes // quantity, i.e. "1Gi" or "500M" Size string `json:"size"` }
MemoryBackedVolume describes a tmpfs (memory backed volume) that will be mounted into a test container at /tmp/volume. Use with tests that need extremely fast disk, such as those that run an etcd server or other IO-intensive workload.
func (*MemoryBackedVolume) DeepCopy ¶
func (in *MemoryBackedVolume) DeepCopy() *MemoryBackedVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryBackedVolume.
func (*MemoryBackedVolume) DeepCopyInto ¶
func (in *MemoryBackedVolume) DeepCopyInto(out *MemoryBackedVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metadata ¶
type Metadata struct { Org string `json:"org"` Repo string `json:"repo"` Branch string `json:"branch"` Variant string `json:"variant,omitempty"` }
Metadata describes the source repo for which a config is written
func (*Metadata) AsString ¶
AsString returns a string representation of the metadata suitable for using in human-oriented output
func (*Metadata) ConfigMapName ¶
ConfigMapName returns the configmap in which we expect this file to be uploaded
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Metadata) IsComplete ¶
IsComplete returns an error if at least one of Org, Repo, Branch members is empty, otherwise it returns nil
func (*Metadata) JobFilePath ¶
JobFilePath returns the file path for the jobs of the supplied suffix type
func (*Metadata) JobName ¶
JobName returns a full name of a job corresponding to a test defined in this file, including variant, if present
func (*Metadata) RelativePath ¶
RelativePath returns the path to the config under the root config dir
func (*Metadata) SimpleJobName ¶
SimpleJobName returns the job name without the "ci" infix for a job corresponding to a test defined in this file, including variant, if present
func (*Metadata) TestName ¶
TestName returns a short name of a test defined in this file, including variant, if present
func (*Metadata) TestNameFromJobName ¶
TestNameFromJobName returns the name of the test from a given job name and prefix
type MetadataWithTest ¶
func MetadataTestFromString ¶
func MetadataTestFromString(input string) (*MetadataWithTest, error)
func (*MetadataWithTest) DeepCopy ¶
func (in *MetadataWithTest) DeepCopy() *MetadataWithTest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataWithTest.
func (*MetadataWithTest) DeepCopyInto ¶
func (in *MetadataWithTest) DeepCopyInto(out *MetadataWithTest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetadataWithTest) JobName ¶
func (m *MetadataWithTest) JobName(prefix string) string
type MultiArchStep ¶
type MultiArchStep interface { CommonStep ResolveMultiArch() sets.Set[string] AddArchitectures([]string) }
MultiArchStep is a step that can be executed for multiple architectures. It is used to propagate the multi-arch property up the graph, ensuring that any step that depends on a multi-arch step is also considered multi-arch. +k8s:deepcopy-gen=false
type MultiStageTestConfiguration ¶
type MultiStageTestConfiguration struct { // ClusterProfile defines the profile/cloud provider for end-to-end test steps. ClusterProfile ClusterProfile `json:"cluster_profile,omitempty"` // Pre is the array of test steps run to set up the environment for the test. Pre []TestStep `json:"pre,omitempty"` // Test is the array of test steps that define the actual test. Test []TestStep `json:"test,omitempty"` // Post is the array of test steps run after the tests finish and teardown/deprovision resources. // Post steps always run, even if previous steps fail. However, they have an option to skip // execution if previous Pre and Test steps passed. Post []TestStep `json:"post,omitempty"` // Workflow is the name of the workflow to be used for this configuration. For fields defined in both // the config and the workflow, the fields from the config will override what is set in Workflow. Workflow *string `json:"workflow,omitempty"` // Environment has the values of parameters for the steps. Environment TestEnvironment `json:"env,omitempty"` // Dependencies holds override values for dependency parameters. Dependencies TestDependencies `json:"dependencies,omitempty"` // DnsConfig for step's Pod. DNSConfig *StepDNSConfig `json:"dnsConfig,omitempty"` // Leases lists resources that should be acquired for the test. Leases []StepLease `json:"leases,omitempty"` // AllowSkipOnSuccess defines if any steps can be skipped when // all previous `pre` and `test` steps were successful. The given step must explicitly // ask for being skipped by setting the OptionalOnSuccess flag to true. AllowSkipOnSuccess *bool `json:"allow_skip_on_success,omitempty"` // AllowBestEffortPostSteps defines if any `post` steps can be ignored when // they fail. The given step must explicitly ask for being ignored by setting // the OptionalOnSuccess flag to true. AllowBestEffortPostSteps *bool `json:"allow_best_effort_post_steps,omitempty"` // Observers are the observers that should be running Observers *Observers `json:"observers,omitempty"` // DependencyOverrides allows a step to override a dependency with a fully-qualified pullspec. This will probably only ever // be used with rehearsals. Otherwise, the overrides should be passed in as parameters to ci-operator. DependencyOverrides DependencyOverrides `json:"dependency_overrides,omitempty"` // NodeArchitecture is the architecture for the node where the test will run. // If set, the generated test pod will include a nodeSelector for this architecture. NodeArchitecture *NodeArchitecture `json:"node_architecture,omitempty"` }
MultiStageTestConfiguration is a flexible configuration mode that allows tighter control over the multiple stages of end to end tests.
func (*MultiStageTestConfiguration) DeepCopy ¶
func (in *MultiStageTestConfiguration) DeepCopy() *MultiStageTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiStageTestConfiguration.
func (*MultiStageTestConfiguration) DeepCopyInto ¶
func (in *MultiStageTestConfiguration) DeepCopyInto(out *MultiStageTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MultiStageTestConfigurationLiteral ¶
type MultiStageTestConfigurationLiteral struct { // ClusterProfile defines the profile/cloud provider for end-to-end test steps. ClusterProfile ClusterProfile `json:"cluster_profile"` // Pre is the array of test steps run to set up the environment for the test. Pre []LiteralTestStep `json:"pre,omitempty"` // Test is the array of test steps that define the actual test. Test []LiteralTestStep `json:"test,omitempty"` // Post is the array of test steps run after the tests finish and teardown/deprovision resources. // Post steps always run, even if previous steps fail. Post []LiteralTestStep `json:"post,omitempty"` // Environment has the values of parameters for the steps. Environment TestEnvironment `json:"env,omitempty"` // Dependencies holds override values for dependency parameters. Dependencies TestDependencies `json:"dependencies,omitempty"` // DnsConfig for step's Pod. DNSConfig *StepDNSConfig `json:"dnsConfig,omitempty"` // Leases lists resources that should be acquired for the test. Leases []StepLease `json:"leases,omitempty"` // AllowSkipOnSuccess defines if any steps can be skipped when // all previous `pre` and `test` steps were successful. The given step must explicitly // ask for being skipped by setting the OptionalOnSuccess flag to true. AllowSkipOnSuccess *bool `json:"allow_skip_on_success,omitempty"` // AllowBestEffortPostSteps defines if any `post` steps can be ignored when // they fail. The given step must explicitly ask for being ignored by setting // the OptionalOnSuccess flag to true. AllowBestEffortPostSteps *bool `json:"allow_best_effort_post_steps,omitempty"` // Observers are the observers that need to be run Observers []Observer `json:"observers,omitempty"` // DependencyOverrides allows a step to override a dependency with a fully-qualified pullspec. This will probably only ever // be used with rehearsals. Otherwise, the overrides should be passed in as parameters to ci-operator. DependencyOverrides DependencyOverrides `json:"dependency_overrides,omitempty"` // NodeArchitecture is the architecture for the node where the test will run. // If set, the generated test pod will include a nodeSelector for this architecture. NodeArchitecture *NodeArchitecture `json:"node_architecture,omitempty"` // Override job timeout Timeout *prowv1.Duration `json:"timeout,omitempty"` }
MultiStageTestConfigurationLiteral is a form of the MultiStageTestConfiguration that does not include references. It is the type that MultiStageTestConfigurations are converted to when parsed by the ci-operator-configresolver.
func (*MultiStageTestConfigurationLiteral) DeepCopy ¶
func (in *MultiStageTestConfigurationLiteral) DeepCopy() *MultiStageTestConfigurationLiteral
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiStageTestConfigurationLiteral.
func (*MultiStageTestConfigurationLiteral) DeepCopyInto ¶
func (in *MultiStageTestConfigurationLiteral) DeepCopyInto(out *MultiStageTestConfigurationLiteral)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeArchitecture ¶
type NodeArchitecture string
NodeArchitecture describes the architecture for the node
const ( NodeArchitectureAMD64 NodeArchitecture = "amd64" NodeArchitectureARM64 NodeArchitecture = "arm64" )
type OKDInclusion ¶
type OKDInclusion bool
type Observer ¶
type Observer struct { // Name is the name of this observer Name string `json:"name"` // From is the container image that will be used for this observer. From string `json:"from,omitempty"` // FromImage is a literal ImageStreamTag reference to use for this observer. FromImage *ImageStreamTagReference `json:"from_image,omitempty"` // Commands is the command(s) that will be run inside the image. Commands string `json:"commands,omitempty"` // Resources defines the resource requirements for the step. Resources ResourceRequirements `json:"resources,omitempty"` // Timeout is how long the we will wait before aborting a job with SIGINT. Timeout *prowv1.Duration `json:"timeout,omitempty"` // GracePeriod is how long the we will wait after sending SIGINT to send // SIGKILL when aborting this observer. GracePeriod *prowv1.Duration `json:"grace_period,omitempty"` // Environment has the values of parameters for the observer. Environment []StepParameter `json:"env,omitempty"` }
Observer is the configuration for an observer Pod that will run in parallel with a multi-stage test job.
func (*Observer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Observer.
func (*Observer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Observers ¶
type Observers struct { // Enable is a list of named observer that should be enabled Enable []string `json:"enable,omitempty"` // Disable is a list of named observers that should be disabled Disable []string `json:"disable,omitempty"` }
Observers is a configuration for which observer pods should and should not be run during a job
func (*Observers) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Observers.
func (*Observers) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftAnsible40ClusterTestConfiguration ¶
type OpenshiftAnsible40ClusterTestConfiguration struct {
ClusterTestConfiguration `json:",inline"`
}
OpenshiftAnsible40ClusterTestConfiguration describes a test that provisions a cluster using new installer and openshift-ansible
func (*OpenshiftAnsible40ClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftAnsible40ClusterTestConfiguration) DeepCopy() *OpenshiftAnsible40ClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftAnsible40ClusterTestConfiguration.
func (*OpenshiftAnsible40ClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftAnsible40ClusterTestConfiguration) DeepCopyInto(out *OpenshiftAnsible40ClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftAnsibleClusterTestConfiguration ¶
type OpenshiftAnsibleClusterTestConfiguration struct {
ClusterTestConfiguration `json:",inline"`
}
OpenshiftAnsibleClusterTestConfiguration describes a test that provisions a cluster using openshift-ansible and runs conformance tests.
func (*OpenshiftAnsibleClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftAnsibleClusterTestConfiguration) DeepCopy() *OpenshiftAnsibleClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftAnsibleClusterTestConfiguration.
func (*OpenshiftAnsibleClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftAnsibleClusterTestConfiguration) DeepCopyInto(out *OpenshiftAnsibleClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftAnsibleCustomClusterTestConfiguration ¶
type OpenshiftAnsibleCustomClusterTestConfiguration struct {
ClusterTestConfiguration `json:",inline"`
}
OpenshiftAnsibleCustomClusterTestConfiguration describes a test that provisions a cluster using openshift-ansible's custom provisioner, and runs conformance tests.
func (*OpenshiftAnsibleCustomClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftAnsibleCustomClusterTestConfiguration) DeepCopy() *OpenshiftAnsibleCustomClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftAnsibleCustomClusterTestConfiguration.
func (*OpenshiftAnsibleCustomClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftAnsibleCustomClusterTestConfiguration) DeepCopyInto(out *OpenshiftAnsibleCustomClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftAnsibleSrcClusterTestConfiguration ¶
type OpenshiftAnsibleSrcClusterTestConfiguration struct {
ClusterTestConfiguration `json:",inline"`
}
OpenshiftAnsibleSrcClusterTestConfiguration describes a test that provisions a cluster using openshift-ansible and executes a command in the `src` image.
func (*OpenshiftAnsibleSrcClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftAnsibleSrcClusterTestConfiguration) DeepCopy() *OpenshiftAnsibleSrcClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftAnsibleSrcClusterTestConfiguration.
func (*OpenshiftAnsibleSrcClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftAnsibleSrcClusterTestConfiguration) DeepCopyInto(out *OpenshiftAnsibleSrcClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftInstallerClusterTestConfiguration ¶
type OpenshiftInstallerClusterTestConfiguration struct { ClusterTestConfiguration `json:",inline"` // If upgrade is true, RELEASE_IMAGE_INITIAL will be used as // the initial payload and the installer image from that // will be upgraded. The `run-upgrade-tests` function will be // available for the commands. Upgrade bool `json:"upgrade,omitempty"` }
OpenshiftInstallerClusterTestConfiguration describes a test that provisions a cluster using openshift-installer and runs conformance tests.
func (*OpenshiftInstallerClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftInstallerClusterTestConfiguration) DeepCopy() *OpenshiftInstallerClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftInstallerClusterTestConfiguration.
func (*OpenshiftInstallerClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftInstallerClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftInstallerConsoleClusterTestConfiguration ¶
type OpenshiftInstallerConsoleClusterTestConfiguration struct {
ClusterTestConfiguration `json:",inline"`
}
OpenshiftInstallerConsoleClusterTestConfiguration describes a test that provisions a cluster using openshift-installer and executes a command in the `console-test` image.
func (*OpenshiftInstallerConsoleClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftInstallerConsoleClusterTestConfiguration) DeepCopy() *OpenshiftInstallerConsoleClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftInstallerConsoleClusterTestConfiguration.
func (*OpenshiftInstallerConsoleClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftInstallerConsoleClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerConsoleClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftInstallerCustomTestImageClusterTestConfiguration ¶
type OpenshiftInstallerCustomTestImageClusterTestConfiguration struct { ClusterTestConfiguration `json:",inline"` // From defines the imagestreamtag that will be used to run the // provided test command. e.g. stable:console-test From string `json:"from"` }
OpenshiftInstallerCustomTestImageClusterTestConfiguration describes a test that provisions a cluster using openshift-installer and executes a command in the image specified by the job configuration.
func (*OpenshiftInstallerCustomTestImageClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftInstallerCustomTestImageClusterTestConfiguration) DeepCopy() *OpenshiftInstallerCustomTestImageClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftInstallerCustomTestImageClusterTestConfiguration.
func (*OpenshiftInstallerCustomTestImageClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftInstallerCustomTestImageClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerCustomTestImageClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration ¶
type OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration struct { ClusterTestConfiguration `json:",inline"` // From defines the imagestreamtag that will be used to run the // provided test command. e.g. stable:console-test From string `json:"from"` }
OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration describes a test that provisions a gcp cluster using openshift-installer with nested virt enabled and executes a command in the image specified by the job configuration.
func (*OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration) DeepCopy() *OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration.
func (*OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerGCPNestedVirtCustomTestImageClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftInstallerRandomClusterTestConfiguration ¶
type OpenshiftInstallerRandomClusterTestConfiguration struct{}
OpenshiftInstallerRandomClusterTestConfiguration describes a that provisions a cluster using openshift-installer in a provider chosen randomly and runs conformance tests.
func (*OpenshiftInstallerRandomClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftInstallerRandomClusterTestConfiguration) DeepCopy() *OpenshiftInstallerRandomClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftInstallerRandomClusterTestConfiguration.
func (*OpenshiftInstallerRandomClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftInstallerRandomClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerRandomClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftInstallerSrcClusterTestConfiguration ¶
type OpenshiftInstallerSrcClusterTestConfiguration struct {
ClusterTestConfiguration `json:",inline"`
}
OpenshiftInstallerSrcClusterTestConfiguration describes a test that provisions a cluster using openshift-installer and executes a command in the `src` image.
func (*OpenshiftInstallerSrcClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftInstallerSrcClusterTestConfiguration) DeepCopy() *OpenshiftInstallerSrcClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftInstallerSrcClusterTestConfiguration.
func (*OpenshiftInstallerSrcClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftInstallerSrcClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerSrcClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftInstallerUPIClusterTestConfiguration ¶
type OpenshiftInstallerUPIClusterTestConfiguration struct {
ClusterTestConfiguration `json:",inline"`
}
OpenshiftInstallerUPIClusterTestConfiguration describes a test that provisions machines using installer-upi image and installs the cluster using UPI flow.
func (*OpenshiftInstallerUPIClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftInstallerUPIClusterTestConfiguration) DeepCopy() *OpenshiftInstallerUPIClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftInstallerUPIClusterTestConfiguration.
func (*OpenshiftInstallerUPIClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftInstallerUPIClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerUPIClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenshiftInstallerUPISrcClusterTestConfiguration ¶
type OpenshiftInstallerUPISrcClusterTestConfiguration struct {
ClusterTestConfiguration `json:",inline"`
}
OpenshiftInstallerUPISrcClusterTestConfiguration describes a test that provisions machines using installer-upi image and installs the cluster using UPI flow. Tests will be run akin to the OpenshiftInstallerSrcClusterTestConfiguration.
func (*OpenshiftInstallerUPISrcClusterTestConfiguration) DeepCopy ¶
func (in *OpenshiftInstallerUPISrcClusterTestConfiguration) DeepCopy() *OpenshiftInstallerUPISrcClusterTestConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenshiftInstallerUPISrcClusterTestConfiguration.
func (*OpenshiftInstallerUPISrcClusterTestConfiguration) DeepCopyInto ¶
func (in *OpenshiftInstallerUPISrcClusterTestConfiguration) DeepCopyInto(out *OpenshiftInstallerUPISrcClusterTestConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatorStepConfiguration ¶
type OperatorStepConfiguration struct { // Bundles define a dockerfile and build context to build a bundle Bundles []Bundle `json:"bundles,omitempty"` // Substitutions describes the pullspecs in the operator manifests that must be subsituted // with the pull specs of the images in the CI registry Substitutions []PullSpecSubstitution `json:"substitutions,omitempty"` }
OperatorStepConfiguration describes the locations of operator bundle information, bundle build dockerfiles, and images the operator(s) depends on that must be substituted to run in a CI test cluster
func (*OperatorStepConfiguration) DeepCopy ¶
func (in *OperatorStepConfiguration) DeepCopy() *OperatorStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorStepConfiguration.
func (*OperatorStepConfiguration) DeepCopyInto ¶
func (in *OperatorStepConfiguration) DeepCopyInto(out *OperatorStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OrderedStepList ¶
type OrderedStepList []*StepNode
+k8s:deepcopy-gen=false OrderedStepList is a topologically-ordered sequence of steps Edges are determined based on the Creates/Requires methods.
type OutputImageTagStepConfiguration ¶
type OutputImageTagStepConfiguration struct { From PipelineImageStreamTagReference `json:"from"` To ImageStreamTagReference `json:"to"` // Optional means the output step is not built, published, or // promoted unless explicitly targeted. Use for builds which // are invoked only when testing certain parts of the repo. Optional bool `json:"optional"` }
OutputImageTagStepConfiguration describes a step that tags a pipeline image out from the build pipeline.
func (*OutputImageTagStepConfiguration) DeepCopy ¶
func (in *OutputImageTagStepConfiguration) DeepCopy() *OutputImageTagStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutputImageTagStepConfiguration.
func (*OutputImageTagStepConfiguration) DeepCopyInto ¶
func (in *OutputImageTagStepConfiguration) DeepCopyInto(out *OutputImageTagStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (OutputImageTagStepConfiguration) TargetName ¶
func (config OutputImageTagStepConfiguration) TargetName() string
type Parameters ¶
type Parameters interface { Has(name string) bool HasInput(name string) bool Get(name string) (string, error) }
Parameters allows a step to read values set by other steps. +k8s:deepcopy-gen=false
func NewOverrideParameters ¶
func NewOverrideParameters(params Parameters, overrides map[string]string) Parameters
type PipelineImageCacheStepConfiguration ¶
type PipelineImageCacheStepConfiguration struct { From PipelineImageStreamTagReference `json:"from"` To PipelineImageStreamTagReference `json:"to"` // Commands are the shell commands to run in // the repository root to create the cached // content. Commands string `json:"commands"` // Ref is an optional string linking to the extra_ref in "org.repo" format that this belongs to Ref string `json:"ref,omitempty"` }
PipelineImageCacheStepConfiguration describes a step that builds a container image to cache the output of commands.
func (*PipelineImageCacheStepConfiguration) DeepCopy ¶
func (in *PipelineImageCacheStepConfiguration) DeepCopy() *PipelineImageCacheStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineImageCacheStepConfiguration.
func (*PipelineImageCacheStepConfiguration) DeepCopyInto ¶
func (in *PipelineImageCacheStepConfiguration) DeepCopyInto(out *PipelineImageCacheStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PipelineImageCacheStepConfiguration) TargetName ¶
func (config PipelineImageCacheStepConfiguration) TargetName() string
type PipelineImageStreamTagReference ¶
type PipelineImageStreamTagReference string
PipelineImageStreamTagReference is a tag on the ImageStream corresponding to the code under test. This tag will identify an image but not use any namespaces or prefixes, For instance, if for the image openshift/origin-pod, the tag would be `pod`.
const ( PipelineImageStreamTagReferenceRoot PipelineImageStreamTagReference = "root" PipelineImageStreamTagReferenceSource PipelineImageStreamTagReference = "src" PipelineImageStreamTagReferenceBinaries PipelineImageStreamTagReference = "bin" PipelineImageStreamTagReferenceTestBinaries PipelineImageStreamTagReference = "test-bin" PipelineImageStreamTagReferenceRPMs PipelineImageStreamTagReference = "rpms" )
const PipelineImageStreamTagReferenceBundleSource PipelineImageStreamTagReference = "src-bundle"
PipelineImageStreamTagReferenceBundleSourceName is the name of the bundle source image built by the CI
const PipelineImageStreamTagReferenceIndexImage PipelineImageStreamTagReference = "ci-index"
PipelineImageStreamTagReferenceIndexImage is the name of the index image built by ci-operator
const PipelineImageStreamTagReferenceIndexImageGenerator PipelineImageStreamTagReference = "ci-index-gen"
PipelineImageStreamTagReferenceIndexImageGenerator is the name of the index image generator built by ci-operator
func IndexGeneratorName ¶
func IndexGeneratorName(indexName PipelineImageStreamTagReference) PipelineImageStreamTagReference
type Prerelease ¶
type Prerelease struct { ReleaseDescriptor // VersionBounds describe the allowable version bounds to search in VersionBounds VersionBounds `json:"version_bounds"` }
Prerelease describes a validated release payload before it is exposed
func (*Prerelease) DeepCopy ¶
func (in *Prerelease) DeepCopy() *Prerelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prerelease.
func (*Prerelease) DeepCopyInto ¶
func (in *Prerelease) DeepCopyInto(out *Prerelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectDirectoryImageBuildInputs ¶
type ProjectDirectoryImageBuildInputs struct { // ContextDir is the directory in the project // from which this build should be run. ContextDir string `json:"context_dir,omitempty"` // DockerfilePath is the path to a Dockerfile in the // project to run relative to the context_dir. DockerfilePath string `json:"dockerfile_path,omitempty"` // DockerfileLiteral can be used to provide an inline Dockerfile. // Mutually exclusive with DockerfilePath. DockerfileLiteral *string `json:"dockerfile_literal,omitempty"` // Inputs is a map of tag reference name to image input changes // that will populate the build context for the Dockerfile or // alter the input image for a multi-stage build. Inputs map[string]ImageBuildInputs `json:"inputs,omitempty"` // BuildArgs contains build arguments that will be resolved in the Dockerfile. // See https://docs.docker.com/engine/reference/builder/#/arg for more details. BuildArgs []BuildArg `json:"build_args,omitempty"` // Ref is an optional string linking to the extra_ref in "org.repo" format that this belongs to Ref string `json:"ref,omitempty"` }
ProjectDirectoryImageBuildInputs holds inputs for an image build from the repo under test
func (*ProjectDirectoryImageBuildInputs) DeepCopy ¶
func (in *ProjectDirectoryImageBuildInputs) DeepCopy() *ProjectDirectoryImageBuildInputs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDirectoryImageBuildInputs.
func (*ProjectDirectoryImageBuildInputs) DeepCopyInto ¶
func (in *ProjectDirectoryImageBuildInputs) DeepCopyInto(out *ProjectDirectoryImageBuildInputs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectDirectoryImageBuildStepConfiguration ¶
type ProjectDirectoryImageBuildStepConfiguration struct { From PipelineImageStreamTagReference `json:"from,omitempty"` To PipelineImageStreamTagReference `json:"to"` ProjectDirectoryImageBuildInputs `json:",inline"` // Optional means the build step is not built, published, or // promoted unless explicitly targeted. Use for builds which // are invoked only when testing certain parts of the repo. Optional bool `json:"optional,omitempty"` // MultiArch means the build step is built for multiple architectures if available. Defaults to false. // DEPRECATED: use AdditionalArchitectures instead MultiArch bool `json:"multi_arch,omitempty"` // AdditionalArchitectures is a list of additional architectures to build for. AMD64 architecture is included by default. AdditionalArchitectures []string `json:"additional_architectures,omitempty"` // Ref is an optional string linking to the extra_ref in "org.repo" format that this belongs to Ref string `json:"ref,omitempty"` // contains filtered or unexported fields }
ProjectDirectoryImageBuildStepConfiguration describes an image build from a directory in a component project.
func (*ProjectDirectoryImageBuildStepConfiguration) DeepCopy ¶
func (in *ProjectDirectoryImageBuildStepConfiguration) DeepCopy() *ProjectDirectoryImageBuildStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectDirectoryImageBuildStepConfiguration.
func (*ProjectDirectoryImageBuildStepConfiguration) DeepCopyInto ¶
func (in *ProjectDirectoryImageBuildStepConfiguration) DeepCopyInto(out *ProjectDirectoryImageBuildStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProjectDirectoryImageBuildStepConfiguration) IsBundleImage ¶
func (p *ProjectDirectoryImageBuildStepConfiguration) IsBundleImage() bool
IsBundleImage returns the value of the isBundleImage field
func (ProjectDirectoryImageBuildStepConfiguration) TargetName ¶
func (config ProjectDirectoryImageBuildStepConfiguration) TargetName() string
func (*ProjectDirectoryImageBuildStepConfiguration) WithBundleImage ¶
func (p *ProjectDirectoryImageBuildStepConfiguration) WithBundleImage(isBundleImage bool) *ProjectDirectoryImageBuildStepConfiguration
WithBundleImage sets the isBundleImage field to the provided value
type PromotionConfiguration ¶
type PromotionConfiguration struct { // Targets configure a set of images to be pushed to // a registry. Targets []PromotionTarget `json:"to,omitempty"` // RegistryOverride is an override for the registry domain to // which we will mirror images. This is an advanced option and // should *not* be used in common test workflows. The CI chat // bot uses this option to facilitate image sharing. RegistryOverride string `json:"registry_override,omitempty"` // DisableBuildCache stops us from uploading the build cache. // This is useful (only) for CI chat bot invocations where // promotion does not imply output artifacts are being created // for posterity. DisableBuildCache bool `json:"disable_build_cache,omitempty"` }
PromotionConfiguration describes where images created by this config should be published to. The release tag configuration defines the inputs, while this defines the outputs.
func (*PromotionConfiguration) DeepCopy ¶
func (in *PromotionConfiguration) DeepCopy() *PromotionConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionConfiguration.
func (*PromotionConfiguration) DeepCopyInto ¶
func (in *PromotionConfiguration) DeepCopyInto(out *PromotionConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PromotionTarget ¶
type PromotionTarget struct { // Namespace identifies the namespace to which the built // artifacts will be published to. Namespace string `json:"namespace"` // Name is an optional image stream name to use that // contains all component tags. If specified, tag is // ignored. Name string `json:"name,omitempty"` // Tag is the ImageStreamTag tagged in for each // build image's ImageStream. Tag string `json:"tag,omitempty"` // TagByCommit determines if an image should be tagged by the // git commit that was used to build it. If Tag is also set, // this will cause both a floating tag and commit-specific tags // to be promoted. TagByCommit bool `json:"tag_by_commit,omitempty"` // ExcludedImages are image names that will not be promoted. // Exclusions are made before additional_images are included. // Use exclusions when you want to build images for testing // but not promote them afterwards. ExcludedImages []string `json:"excluded_images,omitempty"` // AdditionalImages is a mapping of images to promote. The // images will be taken from the pipeline image stream. The // key is the name to promote as and the value is the source // name. If you specify a tag that does not exist as the source // the destination tag will not be created. AdditionalImages map[string]string `json:"additional_images,omitempty"` // Disabled will no-op succeed instead of running the actual // promotion step. This is useful when two branches need to // promote to the same output imagestream on a cut-over but // never concurrently, and you want to have promotion config // in the ci-operator configuration files all the time. Disabled bool `json:"disabled,omitempty"` }
func PromotionTargets ¶
func PromotionTargets(c *PromotionConfiguration) []PromotionTarget
PromotionTargets adapts the single-target configuration to the multi-target paradigm. This function will be removed when the previous implementation is removed.
func (*PromotionTarget) DeepCopy ¶
func (in *PromotionTarget) DeepCopy() *PromotionTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTarget.
func (*PromotionTarget) DeepCopyInto ¶
func (in *PromotionTarget) DeepCopyInto(out *PromotionTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullSpecSubstitution ¶
type PullSpecSubstitution struct { // PullSpec is the pullspec that needs to be replaced PullSpec string `json:"pullspec,omitempty"` // With is the string that the PullSpec is being replaced by With string `json:"with,omitempty"` }
PullSpecSubstitution contains a name of a pullspec that needs to be substituted with the name of a different pullspec. This is used for generated operator bundle images.
func (*PullSpecSubstitution) DeepCopy ¶
func (in *PullSpecSubstitution) DeepCopy() *PullSpecSubstitution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullSpecSubstitution.
func (*PullSpecSubstitution) DeepCopyInto ¶
func (in *PullSpecSubstitution) DeepCopyInto(out *PullSpecSubstitution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RPMImageInjectionStepConfiguration ¶
type RPMImageInjectionStepConfiguration struct { From PipelineImageStreamTagReference `json:"from"` To PipelineImageStreamTagReference `json:"to,omitempty"` }
RPMImageInjectionStepConfiguration describes a step that updates injects an RPM repo into an image. If no output tag is provided, the input tag is updated.
func (*RPMImageInjectionStepConfiguration) DeepCopy ¶
func (in *RPMImageInjectionStepConfiguration) DeepCopy() *RPMImageInjectionStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RPMImageInjectionStepConfiguration.
func (*RPMImageInjectionStepConfiguration) DeepCopyInto ¶
func (in *RPMImageInjectionStepConfiguration) DeepCopyInto(out *RPMImageInjectionStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RPMImageInjectionStepConfiguration) TargetName ¶
func (config RPMImageInjectionStepConfiguration) TargetName() string
type RPMServeStepConfiguration ¶
type RPMServeStepConfiguration struct { From PipelineImageStreamTagReference `json:"from"` // Ref is an optional string linking to the extra_ref in "org.repo" format that this belongs to Ref string `json:"ref,omitempty"` }
RPMServeStepConfiguration describes a step that launches a server from an image with RPMs and exposes it to the web.
func (*RPMServeStepConfiguration) DeepCopy ¶
func (in *RPMServeStepConfiguration) DeepCopy() *RPMServeStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RPMServeStepConfiguration.
func (*RPMServeStepConfiguration) DeepCopyInto ¶
func (in *RPMServeStepConfiguration) DeepCopyInto(out *RPMServeStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RPMServeStepConfiguration) TargetName ¶
func (config RPMServeStepConfiguration) TargetName() string
type RefCommands ¶
RefCommands pairs a ref (in org/repo format) with commands
func (*RefCommands) DeepCopy ¶
func (in *RefCommands) DeepCopy() *RefCommands
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RefCommands.
func (*RefCommands) DeepCopyInto ¶
func (in *RefCommands) DeepCopyInto(out *RefCommands)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RefLocation ¶
RefLocation pairs a ref (in org/repo format) with a location
func (*RefLocation) DeepCopy ¶
func (in *RefLocation) DeepCopy() *RefLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RefLocation.
func (*RefLocation) DeepCopyInto ¶
func (in *RefLocation) DeepCopyInto(out *RefLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RefRepository ¶
RefRepository pairs a ref (in org/repo format) with a repository
func (*RefRepository) DeepCopy ¶
func (in *RefRepository) DeepCopy() *RefRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RefRepository.
func (*RefRepository) DeepCopyInto ¶
func (in *RefRepository) DeepCopyInto(out *RefRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryChain ¶
type RegistryChain struct { // As defines the name of the chain. This is how the chain will be referenced from a job's config. As string `json:"as,omitempty"` // Steps contains the list of steps that comprise the chain. Steps will be run in the order they are defined. Steps []TestStep `json:"steps"` // Documentation describes what the chain does. Documentation string `json:"documentation,omitempty"` // Environment lists parameters that should be set by the test. Environment []StepParameter `json:"env,omitempty"` // Leases lists resources that should be acquired for the test. Leases []StepLease `json:"leases,omitempty"` }
RegistryChain contains the array of steps, name, and documentation for a step chain.
func (*RegistryChain) DeepCopy ¶
func (in *RegistryChain) DeepCopy() *RegistryChain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryChain.
func (*RegistryChain) DeepCopyInto ¶
func (in *RegistryChain) DeepCopyInto(out *RegistryChain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryChainConfig ¶
type RegistryChainConfig struct { // Chain is the top level field of a chain config. Chain RegistryChain `json:"chain,omitempty"` }
RegistryChainConfig is the struct that chain references are unmarshalled into.
func (*RegistryChainConfig) DeepCopy ¶
func (in *RegistryChainConfig) DeepCopy() *RegistryChainConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryChainConfig.
func (*RegistryChainConfig) DeepCopyInto ¶
func (in *RegistryChainConfig) DeepCopyInto(out *RegistryChainConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryInfo ¶
type RegistryInfo struct { // Path is the path of the directoryfor the registry component relative to the registry's base directory Path string `json:"path,omitempty"` // Owners is the OWNERS config for the registry component Owners repoowners.Config `json:"owners,omitempty"` }
RegistryInfo contains metadata about a registry component that is useful for the web UI of the step registry +k8s:deepcopy-gen=false
type RegistryMetadata ¶
type RegistryMetadata map[string]RegistryInfo
RegistryMetadata maps the registry info for each step in the registry by filename +k8s:deepcopy-gen=false
type RegistryObserver ¶
type RegistryObserver struct { // Observer defines the observer pod Observer `json:",inline"` // Documentation describes what the observer being configured does. Documentation string `json:"documentation,omitempty"` }
RegistryObserver contains the configuration and documentation for an observer
func (*RegistryObserver) DeepCopy ¶
func (in *RegistryObserver) DeepCopy() *RegistryObserver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryObserver.
func (*RegistryObserver) DeepCopyInto ¶
func (in *RegistryObserver) DeepCopyInto(out *RegistryObserver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryObserverConfig ¶
type RegistryObserverConfig struct { // Observer is the top level field of an observer config Observer RegistryObserver `json:"observer,omitempty"` }
RegistryObserverConfig is the struct that observer configs are unmarshalled into
func (*RegistryObserverConfig) DeepCopy ¶
func (in *RegistryObserverConfig) DeepCopy() *RegistryObserverConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryObserverConfig.
func (*RegistryObserverConfig) DeepCopyInto ¶
func (in *RegistryObserverConfig) DeepCopyInto(out *RegistryObserverConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryReference ¶
type RegistryReference struct { // LiteralTestStep defines the full test step that can be run by the ci-operator. LiteralTestStep `json:",inline"` // Documentation describes what the step being referenced does. Documentation string `json:"documentation,omitempty"` }
RegistryReference contains the LiteralTestStep of a reference as well as the documentation for the step.
func (*RegistryReference) DeepCopy ¶
func (in *RegistryReference) DeepCopy() *RegistryReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryReference.
func (*RegistryReference) DeepCopyInto ¶
func (in *RegistryReference) DeepCopyInto(out *RegistryReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryReferenceConfig ¶
type RegistryReferenceConfig struct { // Reference is the top level field of a reference config. Reference RegistryReference `json:"ref,omitempty"` }
RegistryReferenceConfig is the struct that step references are unmarshalled into.
func (*RegistryReferenceConfig) DeepCopy ¶
func (in *RegistryReferenceConfig) DeepCopy() *RegistryReferenceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryReferenceConfig.
func (*RegistryReferenceConfig) DeepCopyInto ¶
func (in *RegistryReferenceConfig) DeepCopyInto(out *RegistryReferenceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryWorkflow ¶
type RegistryWorkflow struct { // As defines the name of the workflow. This is how the workflow will be referenced from a job's config. As string `json:"as,omitempty"` // Steps contains the MultiStageTestConfiguration that the workflow defines. Steps MultiStageTestConfiguration `json:"steps,omitempty"` // Documentation describes what the workflow does. Documentation string `json:"documentation,omitempty"` }
RegistryWorkflow contains the MultiStageTestConfiguration, name, and documentation for a workflow.
func (*RegistryWorkflow) DeepCopy ¶
func (in *RegistryWorkflow) DeepCopy() *RegistryWorkflow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryWorkflow.
func (*RegistryWorkflow) DeepCopyInto ¶
func (in *RegistryWorkflow) DeepCopyInto(out *RegistryWorkflow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryWorkflowConfig ¶
type RegistryWorkflowConfig struct { // Workflow is the top level field of a workflow config. Workflow RegistryWorkflow `json:"workflow,omitempty"` }
RegistryWorkflowConfig is the struct that workflow references are unmarshalled into.
func (*RegistryWorkflowConfig) DeepCopy ¶
func (in *RegistryWorkflowConfig) DeepCopy() *RegistryWorkflowConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryWorkflowConfig.
func (*RegistryWorkflowConfig) DeepCopyInto ¶
func (in *RegistryWorkflowConfig) DeepCopyInto(out *RegistryWorkflowConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Release ¶
type Release struct { // Version is the minor version to search for Version string `json:"version"` // Channel is the release channel to search in Channel ReleaseChannel `json:"channel"` // Architecture is the architecture for the release. // Defaults to amd64. Architecture ReleaseArchitecture `json:"architecture,omitempty"` }
Release describes a generally available release payload
func (*Release) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.
func (*Release) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseArchitecture ¶
type ReleaseArchitecture string
ReleaseArchitecture describes the architecture for the product
const ( ReleaseArchitectureAMD64 ReleaseArchitecture = "amd64" ReleaseArchitecturePPC64le ReleaseArchitecture = "ppc64le" ReleaseArchitectureS390x ReleaseArchitecture = "s390x" ReleaseArchitectureARM64 ReleaseArchitecture = "arm64" ReleaseArchitectureMULTI ReleaseArchitecture = "multi" //heterogeneous payload )
type ReleaseBuildConfiguration ¶
type ReleaseBuildConfiguration struct { Metadata Metadata `json:"zz_generated_metadata"` InputConfiguration `json:",inline"` // BinaryBuildCommands will create a "bin" image based on "src" that // contains the output of this command. This allows reuse of binary artifacts // across other steps. If empty, no "bin" image will be created. BinaryBuildCommands string `json:"binary_build_commands,omitempty"` // BinaryBuildCommandsList entries will create a "bin" image based on "src" that // contains the output of this command. This allows reuse of binary artifacts // across other steps. If empty, no "bin" image will be created. // Mutually exclusive with BinaryBuildCommands // DO NOT set this in the config BinaryBuildCommandsList []RefCommands `json:"binary_build_commands_list,omitempty"` // TestBinaryBuildCommands will create a "test-bin" image based on "src" that // contains the output of this command. This allows reuse of binary artifacts // across other steps. If empty, no "test-bin" image will be created. TestBinaryBuildCommands string `json:"test_binary_build_commands,omitempty"` // TestBinaryBuildCommandsList entries will create a "test-bin" image based on "src" that // contains the output of this command. This allows reuse of binary artifacts // across other steps. If empty, no "test-bin" image will be created. // Mutually exclusive with TestBinaryBuildCommands // DO NOT set this in the config TestBinaryBuildCommandsList []RefCommands `json:"test_binary_build_commands_list,omitempty"` // RpmBuildCommands will create an "rpms" image from "bin" (or "src", if no // binary build commands were specified) that contains the output of this // command. The created RPMs will then be served via HTTP to the "base" image // via an injected rpm.repo in the standard location at /etc/yum.repos.d. RpmBuildCommands string `json:"rpm_build_commands,omitempty"` // RpmBuildCommandsList entries will create an "rpms" image from "bin" (or "src", if no // binary build commands were specified) that contains the output of this // command. The created RPMs will then be served via HTTP to the "base" image // via an injected rpm.repo in the standard location at /etc/yum.repos.d. // Mutually exclusive with RpmBuildCommands // DO NOT set this in the config RpmBuildCommandsList []RefCommands `json:"rpm_build_commands_list,omitempty"` // RpmBuildLocation is where RPms are deposited after being built. If // unset, this will default under the repository root to // _output/local/releases/rpms/. RpmBuildLocation string `json:"rpm_build_location,omitempty"` // RpmBuildLocationList entries are where RPms are deposited after being built. If // unset, this will default under the repository root to // _output/local/releases/rpms/. // Mutually exclusive with RpmBuildLocation // DO NOT set this in the config RpmBuildLocationList []RefLocation `json:"rpm_build_location_list,omitempty"` // CanonicalGoRepository is a directory path that represents // the desired location of the contents of this repository in // Go. If specified the location of the repository we are // cloning from is ignored. CanonicalGoRepository *string `json:"canonical_go_repository,omitempty"` // CanonicalGoRepositoryList is a directory path that represents // the desired location of the contents of this repository in // Go. If specified the location of the repository we are // cloning from is ignored. // Mutually exclusive with CanonicalGoRepository // DO NOT set this in the config CanonicalGoRepositoryList []RefRepository `json:"canonical_go_repository_list,omitempty"` // Images describes the images that are built // baseImage the project as part of the release // process. The name of each image is its "to" value // and can be used to build only a specific image. Images []ProjectDirectoryImageBuildStepConfiguration `json:"images,omitempty"` // Operator describes the operator bundle(s) that is built by the project Operator *OperatorStepConfiguration `json:"operator,omitempty"` // Tests describes the tests to run inside of built images. // The images launched as pods but have no explicit access to // the cluster they are running on. Tests []TestStepConfiguration `json:"tests,omitempty"` // RawSteps are literal Steps that should be // included in the final pipeline. RawSteps []StepConfiguration `json:"raw_steps,omitempty"` // PromotionConfiguration determines how images are promoted // by this command. It is ignored unless promotion has specifically // been requested. Promotion is performed after all other steps // have been completed so that tests can be run prior to promotion. // If no promotion is defined, it is defaulted from the ReleaseTagConfiguration. PromotionConfiguration *PromotionConfiguration `json:"promotion,omitempty"` // Resources is a set of resource requests or limits over the // input types. The special name '*' may be used to set default // requests and limits. Resources ResourceConfiguration `json:"resources,omitempty"` }
ReleaseBuildConfiguration describes how release artifacts are built from a repository of source code. The configuration is made up of two parts:
- minimal fields that allow the user to buy into our normal conventions without worrying about how the pipeline flows. Use these preferentially for new projects with simple/conventional build configurations.
- raw steps that can be used to create custom and fine-grained build flows
func (ReleaseBuildConfiguration) BuildsImage ¶
func (config ReleaseBuildConfiguration) BuildsImage(name string) bool
BuildsImage checks if an image is built by the release configuration.
func (*ReleaseBuildConfiguration) DeepCopy ¶
func (in *ReleaseBuildConfiguration) DeepCopy() *ReleaseBuildConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseBuildConfiguration.
func (*ReleaseBuildConfiguration) DeepCopyInto ¶
func (in *ReleaseBuildConfiguration) DeepCopyInto(out *ReleaseBuildConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReleaseBuildConfiguration) Default ¶
func (config *ReleaseBuildConfiguration) Default()
Default sets default values after loading but before validation
func (*ReleaseBuildConfiguration) DependencyParts ¶
func (config *ReleaseBuildConfiguration) DependencyParts(dependency StepDependency, claimRelease *ClaimRelease) (stream string, name string, explicit bool)
DependencyParts returns the imageStream and tag name from a user-provided reference to an image in the test namespace. In situations where a user defines a cluster claim and wants to import the cluster claim's release, the user may provide a release name that conflicts with a release defined at the global config level (e.g. the `latest` release, or `stable` imagestream). To prevent conflicts, the name of the imagestream is modified based on the test name. ClaimRelease is used in this function to identify whether to override the imagestream provided by the user to use the cluster claim's imagestream.
func (ReleaseBuildConfiguration) DeterminePathAlias ¶
func (config ReleaseBuildConfiguration) DeterminePathAlias(org, repo string) string
DeterminePathAlias searches through the CanonicalGoRepositoryList to find the matching alias for the provided org and repo. If not found, it returns the CanonicalGoRepository if one is configured
func (*ReleaseBuildConfiguration) ImageStreamFor ¶
func (config *ReleaseBuildConfiguration) ImageStreamFor(image string) (string, bool)
ImageStreamFor guesses at the ImageStream that will hold a tag. We use this to decipher the user's intent when they provide a naked tag in configuration; we support such behavior in order to allow users a simpler workflow for the most common cases, like referring to `pipeline:src`. If they refer to an ambiguous image, however, they will get bad behavior and will need to specify an ImageStream as well, for instance release-initial:installer. We also return whether the stream is explicit or inferred.
func (ReleaseBuildConfiguration) IsBaseImage ¶
func (config ReleaseBuildConfiguration) IsBaseImage(name string) bool
IsBaseImage checks if `name` will be a tag in the pipeline image stream by virtue of being imported as a base image
func (ReleaseBuildConfiguration) IsBundleImage ¶
func (config ReleaseBuildConfiguration) IsBundleImage(imageName string) bool
func (ReleaseBuildConfiguration) IsPipelineImage ¶
func (config ReleaseBuildConfiguration) IsPipelineImage(name string) bool
IsPipelineImage checks if `name` will be a tag in the pipeline image stream.
func (*ReleaseBuildConfiguration) WithPresubmitFrom ¶
func (config *ReleaseBuildConfiguration) WithPresubmitFrom(source *ReleaseBuildConfiguration, test string) (*ReleaseBuildConfiguration, error)
WithPresubmitFrom returns a new configuration, where a selected test from the source configuration is injected into the base configuration, together with all elements from the source configuration that are potentially necessary to allow that test to function in the context of the base configuration. The intended use case is to inject the test definition of a "release job" (informing/blocking) into a component ci-operator config to allow dynamically executing any such job on any component PR, without the need to clutter each individual component ci-operator config.
WARNING: This code is currently experimental and should not be used outside of the "release jobs on PRs" effort TODO: handle the presubmit/periodic better, extract code etc.
type ReleaseChannel ¶
type ReleaseChannel string
const ( ReleaseChannelStable ReleaseChannel = "stable" ReleaseChannelFast ReleaseChannel = "fast" ReleaseChannelCandidate ReleaseChannel = "candidate" // CIOperatorInrepoConfigFileName is the name of the file that contains the build root images // pullspec. CIOperatorInrepoConfigFileName = ".ci-operator.yaml" )
type ReleaseConfiguration ¶
type ReleaseConfiguration struct { Name string `json:"name"` UnresolvedRelease `json:",inline"` }
ReleaseConfiguration records a resolved release with its name. We always expect this step to be preempted with an env var that was set at startup. This will be cleaner when we refactor release dependencies.
func (*ReleaseConfiguration) DeepCopy ¶
func (in *ReleaseConfiguration) DeepCopy() *ReleaseConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseConfiguration.
func (*ReleaseConfiguration) DeepCopyInto ¶
func (in *ReleaseConfiguration) DeepCopyInto(out *ReleaseConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ReleaseConfiguration) TargetName ¶
func (config ReleaseConfiguration) TargetName() string
type ReleaseDescriptor ¶
type ReleaseDescriptor struct { // Product is the name of the product being released Product ReleaseProduct `json:"product"` // Architecture is the architecture for the product. // Defaults to amd64. Architecture ReleaseArchitecture `json:"architecture,omitempty"` // Relative optionally specifies how old of a release // is requested from this stream. For instance, a value // of 1 will resolve to the previous validated release // for this stream. Relative int `json:"relative,omitempty"` }
ReleaseDescriptor holds common data for different types of release payloads
func (*ReleaseDescriptor) DeepCopy ¶
func (in *ReleaseDescriptor) DeepCopy() *ReleaseDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseDescriptor.
func (*ReleaseDescriptor) DeepCopyInto ¶
func (in *ReleaseDescriptor) DeepCopyInto(out *ReleaseDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReleaseProduct ¶
type ReleaseProduct string
ReleaseProduct describes the product being released
const ( ReleaseProductOCP ReleaseProduct = "ocp" ReleaseProductOKD ReleaseProduct = "okd" )
type ReleaseStream ¶
type ReleaseStream string
const ( ReleaseStreamCI ReleaseStream = "ci" ReleaseStreamNightly ReleaseStream = "nightly" ReleaseStreamOKD ReleaseStream = "okd" ReleaseStreamOKDScos ReleaseStream = "okd-scos" )
type ReleaseTagConfiguration ¶
type ReleaseTagConfiguration struct { // Namespace identifies the namespace from which // all release artifacts not built in the current // job are tagged from. Namespace string `json:"namespace"` // Name is the image stream name to use that contains all // component tags. Name string `json:"name"` // IncludeBuiltImages determines if the release we assemble will include // images built during the test itself. IncludeBuiltImages bool `json:"include_built_images,omitempty"` }
ReleaseTagConfiguration describes how a release is assembled from release artifacts. A release image stream is a single stream with multiple tags (openshift/origin-v3.9:control-plane), each tag being a unique and well defined name for a component.
func (*ReleaseTagConfiguration) DeepCopy ¶
func (in *ReleaseTagConfiguration) DeepCopy() *ReleaseTagConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseTagConfiguration.
func (*ReleaseTagConfiguration) DeepCopyInto ¶
func (in *ReleaseTagConfiguration) DeepCopyInto(out *ReleaseTagConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ReleaseTagConfiguration) InputsName ¶
func (config ReleaseTagConfiguration) InputsName() string
func (ReleaseTagConfiguration) TargetName ¶
func (config ReleaseTagConfiguration) TargetName(name string) string
type ResourceConfiguration ¶
type ResourceConfiguration map[string]ResourceRequirements
ResourceConfiguration defines resource overrides for jobs run by the operator.
func (ResourceConfiguration) DeepCopy ¶
func (in ResourceConfiguration) DeepCopy() ResourceConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceConfiguration.
func (ResourceConfiguration) DeepCopyInto ¶
func (in ResourceConfiguration) DeepCopyInto(out *ResourceConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ResourceConfiguration) RequirementsForStep ¶
func (c ResourceConfiguration) RequirementsForStep(name string) ResourceRequirements
type ResourceList ¶
ResourceList is a map of string resource names and resource quantities, as defined on Kubernetes objects. Common resources to request or limit are `cpu` and `memory`. For `cpu`, values are provided in vCPUs - for instance, `2` or `200m`. For `memory`, values are provided in bytes - for instance, `20Mi` or `3Gi`.
func (ResourceList) Add ¶
func (l ResourceList) Add(values ResourceList)
func (ResourceList) DeepCopy ¶
func (in ResourceList) DeepCopy() ResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceList.
func (ResourceList) DeepCopyInto ¶
func (in ResourceList) DeepCopyInto(out *ResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequirements ¶
type ResourceRequirements struct { // Requests are resource requests applied to an individual step in the job. // These are directly used in creating the Pods that execute the Job. Requests ResourceList `json:"requests,omitempty"` // Limits are resource limits applied to an individual step in the job. // These are directly used in creating the Pods that execute the Job. Limits ResourceList `json:"limits,omitempty"` }
ResourceRequirements are resource requests and limits applied to the individual steps in the job. They are passed directly to builds or pods.
func (*ResourceRequirements) DeepCopy ¶
func (in *ResourceRequirements) DeepCopy() *ResourceRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequirements.
func (*ResourceRequirements) DeepCopyInto ¶
func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Secret ¶
type Secret struct { // Secret name, used inside test containers Name string `json:"name"` // Secret mount path. Defaults to /usr/test-secrets for first // secret. /usr/test-secrets-2 for second, and so on. MountPath string `json:"mount_path"` }
Secret describes a secret to be mounted inside a test container.
func (*Secret) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceStepConfiguration ¶
type SourceStepConfiguration struct { From PipelineImageStreamTagReference `json:"from"` To PipelineImageStreamTagReference `json:"to,omitempty"` // ClonerefsImage is the image where we get the clonerefs tool ClonerefsImage ImageStreamTagReference `json:"clonerefs_image"` // ClonerefsPath is the path in the above image where the // clonerefs tool is placed ClonerefsPath string `json:"clonerefs_path"` // Ref is an optional string linking to the extra_ref in "org.repo" format that this belongs to Ref string `json:"ref,omitempty"` }
SourceStepConfiguration describes a step that clones the source repositories required for jobs. If no output tag is provided, the default of `src` is used.
func (*SourceStepConfiguration) DeepCopy ¶
func (in *SourceStepConfiguration) DeepCopy() *SourceStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceStepConfiguration.
func (*SourceStepConfiguration) DeepCopyInto ¶
func (in *SourceStepConfiguration) DeepCopyInto(out *SourceStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SourceStepConfiguration) TargetName ¶
func (config SourceStepConfiguration) TargetName() string
type StepConfiguration ¶
type StepConfiguration struct { InputImageTagStepConfiguration *InputImageTagStepConfiguration `json:"input_image_tag_step,omitempty"` PipelineImageCacheStepConfiguration *PipelineImageCacheStepConfiguration `json:"pipeline_image_cache_step,omitempty"` SourceStepConfiguration *SourceStepConfiguration `json:"source_step,omitempty"` BundleSourceStepConfiguration *BundleSourceStepConfiguration `json:"bundle_source_step,omitempty"` IndexGeneratorStepConfiguration *IndexGeneratorStepConfiguration `json:"index_generator_step,omitempty"` ProjectDirectoryImageBuildStepConfiguration *ProjectDirectoryImageBuildStepConfiguration `json:"project_directory_image_build_step,omitempty"` RPMImageInjectionStepConfiguration *RPMImageInjectionStepConfiguration `json:"rpm_image_injection_step,omitempty"` RPMServeStepConfiguration *RPMServeStepConfiguration `json:"rpm_serve_step,omitempty"` OutputImageTagStepConfiguration *OutputImageTagStepConfiguration `json:"output_image_tag_step,omitempty"` ReleaseImagesTagStepConfiguration *ReleaseTagConfiguration `json:"release_images_tag_step,omitempty"` ResolvedReleaseImagesStepConfiguration *ReleaseConfiguration `json:"resolved_release_images_step,omitempty"` TestStepConfiguration *TestStepConfiguration `json:"test_step,omitempty"` ProjectDirectoryImageBuildInputs *ProjectDirectoryImageBuildInputs `json:"project_directory_image_build_inputs,omitempty"` }
StepConfiguration holds one step configuration. Only one of the fields in this can be non-null.
func (*StepConfiguration) DeepCopy ¶
func (in *StepConfiguration) DeepCopy() *StepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepConfiguration.
func (*StepConfiguration) DeepCopyInto ¶
func (in *StepConfiguration) DeepCopyInto(out *StepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepDNSConfig ¶
type StepDNSConfig struct { // Nameservers is a list of IP addresses that will be used as DNS servers for the Pod Nameservers []string `json:"nameservers,omitempty"` // Searches is a list of DNS search domains for host-name lookup Searches []string `json:"searches,omitempty"` }
StepDNSConfig defines a resource that needs to be acquired prior to execution. Used to expose to the step via the specificed search list
func (*StepDNSConfig) DeepCopy ¶
func (in *StepDNSConfig) DeepCopy() *StepDNSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepDNSConfig.
func (*StepDNSConfig) DeepCopyInto ¶
func (in *StepDNSConfig) DeepCopyInto(out *StepDNSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepDependency ¶
type StepDependency struct { // Name is the tag or stream:tag that this dependency references Name string `json:"name"` // Env is the environment variable that the image's pull spec is exposed with Env string `json:"env"` // PullSpec allows the ci-operator user to pass in an external pull-spec that should be used when resolving the dependency PullSpec string `json:"-"` }
StepDependency defines a dependency on an image and the environment variable used to expose the image's pull spec to the step.
func (*StepDependency) DeepCopy ¶
func (in *StepDependency) DeepCopy() *StepDependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepDependency.
func (*StepDependency) DeepCopyInto ¶
func (in *StepDependency) DeepCopyInto(out *StepDependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepGraph ¶
type StepGraph []*StepNode
+k8s:deepcopy-gen=false StepGraph is a DAG of steps referenced by its roots
func BuildGraph ¶
BuildGraph returns a graph or graphs that include all steps given.
func BuildPartialGraph ¶
BuildPartialGraph returns a graph or graphs that include only the dependencies of the named steps.
func (StepGraph) IterateAllEdges ¶
IterateAllEdges applies an operation to every node in the graph once.
func (StepGraph) TopologicalSort ¶
func (g StepGraph) TopologicalSort() (OrderedStepList, []error)
TopologicalSort validates nodes form a DAG and orders them topologically.
type StepLease ¶
type StepLease struct { // ResourceType is the type of resource that will be leased. ResourceType string `json:"resource_type"` // Env is the environment variable that will contain the resource name. Env string `json:"env"` // Count is the number of resources to acquire (optional, defaults to 1). Count uint `json:"count,omitempty"` }
StepLease defines a resource that needs to be acquired prior to execution. The resource name will be exposed to the step via the specificed environment variable.
func IPPoolLeaseForTest ¶
func IPPoolLeaseForTest(s *MultiStageTestConfigurationLiteral, metadata Metadata) (ret StepLease)
func LeasesForTest ¶
func LeasesForTest(s *MultiStageTestConfigurationLiteral) (ret []StepLease)
LeasesForTest aggregates all the lease configurations in a test. It is assumed that they have been validated and contain only valid and unique values.
func (*StepLease) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepLease.
func (*StepLease) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepLink ¶
type StepLink interface { // SatisfiedBy determines if the other link satisfies // the requirements of this one, either partially or // fully. If so, the other step will be executed first. SatisfiedBy(other StepLink) bool // UnsatisfiableError returns a human-understandable explanation // of where exactly in the config the requirement came from and // what needs to be done to satisfy it. It must be checked for // emptyness and only be used when non-empty. UnsatisfiableError() string }
StepLink abstracts the types of links that steps require and create. +k8s:deepcopy-gen=false
func AllStepsLink ¶
func AllStepsLink() StepLink
func ExternalImageLink ¶
func ExternalImageLink(ref ImageStreamTagReference) StepLink
func ImagesReadyLink ¶
func ImagesReadyLink() StepLink
func InternalImageLink ¶
func InternalImageLink(tag PipelineImageStreamTagReference, o ...StepLinkOption) StepLink
InternalImageLink describes a dependency on a tag in the pipeline stream
func LinkForImage ¶
LinkForImage determines what dependent link is required for the user's image dependency
func RPMRepoLink ¶
func RPMRepoLink() StepLink
func ReleaseImageTagLink ¶
ReleaseImageTagLink describes a specific tag in a stable(-foo)? ImageStream in the test namespace.
func ReleaseImagesLink ¶
ReleaseImagesLink describes the content of a stable(-foo)? ImageStream in the test namespace.
func ReleasePayloadImageLink ¶
type StepLinkOption ¶
type StepLinkOption func(*StepLinkOptions)
+k8s:deepcopy-gen=false
func StepLinkWithUnsatisfiableErrorMessage ¶
func StepLinkWithUnsatisfiableErrorMessage(msg string) StepLinkOption
type StepLinkOptions ¶
type StepLinkOptions struct { // UnsatisfiableError holds a human-understandable explanation // of where exactly in the config the requirement came from and // what needs to be done to satisfy it. UnsatisfiableError string }
func (*StepLinkOptions) DeepCopy ¶
func (in *StepLinkOptions) DeepCopy() *StepLinkOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepLinkOptions.
func (*StepLinkOptions) DeepCopyInto ¶
func (in *StepLinkOptions) DeepCopyInto(out *StepLinkOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepNode ¶
type StepNode struct { Step Step Children []*StepNode MultiArchReasons map[string]sets.Set[string] }
+k8s:deepcopy-gen=false
type StepParameter ¶
type StepParameter struct { // Name of the environment variable. Name string `json:"name"` // Default if not set, optional, makes the parameter not required if set. Default *string `json:"default,omitempty"` // Documentation is a textual description of the parameter. Documentation string `json:"documentation,omitempty"` }
StepParameter is a variable set by the test, with an optional default.
func (*StepParameter) DeepCopy ¶
func (in *StepParameter) DeepCopy() *StepParameter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepParameter.
func (*StepParameter) DeepCopyInto ¶
func (in *StepParameter) DeepCopyInto(out *StepParameter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestDependencies ¶
TestDependencies has the values of dependency overrides for multi-stage tests.
func (TestDependencies) DeepCopy ¶
func (in TestDependencies) DeepCopy() TestDependencies
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestDependencies.
func (TestDependencies) DeepCopyInto ¶
func (in TestDependencies) DeepCopyInto(out *TestDependencies)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestEnvironment ¶
TestEnvironment has the values of parameters for multi-stage tests.
func (TestEnvironment) DeepCopy ¶
func (in TestEnvironment) DeepCopy() TestEnvironment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestEnvironment.
func (TestEnvironment) DeepCopyInto ¶
func (in TestEnvironment) DeepCopyInto(out *TestEnvironment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestStep ¶
type TestStep struct { // LiteralTestStep is a full test step definition. *LiteralTestStep `json:",inline,omitempty"` // Reference is the name of a step reference. Reference *string `json:"ref,omitempty"` // Chain is the name of a step chain reference. Chain *string `json:"chain,omitempty"` }
TestStep is the struct that a user's configuration gets unmarshalled into. It can contain either a LiteralTestStep, Reference, or Chain. If more than one is filled in an the same time, config validation will fail.
func (*TestStep) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestStep.
func (*TestStep) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestStepConfiguration ¶
type TestStepConfiguration struct { // As is the name of the test. As string `json:"as"` // Commands are the shell commands to run in // the repository root to execute tests. Commands string `json:"commands,omitempty"` // Cluster specifies the name of the cluster where the test runs. Cluster Cluster `json:"cluster,omitempty"` // Secret is an optional secret object which // will be mounted inside the test container. // You cannot set the Secret and Secrets attributes // at the same time. Secret *Secret `json:"secret,omitempty"` // Secrets is an optional array of secret objects // which will be mounted inside the test container. // You cannot set the Secret and Secrets attributes // at the same time. Secrets []*Secret `json:"secrets,omitempty"` // Cron is how often the test is expected to run outside // of pull request workflows. Setting this field will // create a periodic job instead of a presubmit Cron *string `json:"cron,omitempty"` // Presubmit configures prowgen to generate a presubmit job in additional to the periodic job. // It can be used only when the test itself is a periodic job. Presubmit bool `json:"presubmit,omitempty"` // Interval is how frequently the test should be run based // on the last time the test ran. Setting this field will // create a periodic job instead of a presubmit Interval *string `json:"interval,omitempty"` // MinimumInterval to wait between two runs of the job. Consecutive // jobs are run at `minimum_interval` + `duration of previous job` // apart. Setting this field will create a periodic job instead of a // presubmit MinimumInterval *string `json:"minimum_interval,omitempty"` // ReleaseController configures prowgen to create a periodic that // does not get run by prow and instead is run by release-controller. // The job must be configured as a verification or periodic job in a // release-controller config file when this field is set to `true`. ReleaseController bool `json:"release_controller,omitempty"` // Postsubmit configures prowgen to generate the job as a postsubmit rather than a presubmit Postsubmit bool `json:"postsubmit,omitempty"` // ClusterClaim claims an OpenShift cluster and exposes environment variable ${KUBECONFIG} to the test container ClusterClaim *ClusterClaim `json:"cluster_claim,omitempty"` // AlwaysRun can be set to false to disable running the job on every PR AlwaysRun *bool `json:"always_run,omitempty"` // RunIfChanged is a regex that will result in the test only running if something that matches it was changed. RunIfChanged string `json:"run_if_changed,omitempty"` // PipelineRunIfChanged is a regex that will result in the test only running in second // stage of the pipeline run if something that matches it was changed. PipelineRunIfChanged string `json:"pipeline_run_if_changed,omitempty"` // Optional indicates that the job's status context, that is generated from the corresponding test, should not be required for merge. Optional bool `json:"optional,omitempty"` // Portable allows to port periodic tests to current and future release despite the demand to skip periodics Portable bool `json:"portable,omitempty"` // SkipIfOnlyChanged is a regex that will result in the test being skipped if all changed files match that regex. SkipIfOnlyChanged string `json:"skip_if_only_changed,omitempty"` // Timeout overrides maximum prowjob duration Timeout *prowv1.Duration `json:"timeout,omitempty"` // NodeArchitecture is the architecture for the node where the test will run. // If set, the generated test pod will include a nodeSelector for this architecture. NodeArchitecture NodeArchitecture `json:"node_architecture,omitempty"` // RestrictNetworkAccess restricts network access to RedHat intranet. RestrictNetworkAccess *bool `json:"restrict_network_access,omitempty"` // Only one of the following can be not-null. ContainerTestConfiguration *ContainerTestConfiguration `json:"container,omitempty"` MultiStageTestConfiguration *MultiStageTestConfiguration `json:"steps,omitempty"` MultiStageTestConfigurationLiteral *MultiStageTestConfigurationLiteral `json:"literal_steps,omitempty"` OpenshiftAnsibleClusterTestConfiguration *OpenshiftAnsibleClusterTestConfiguration `json:"openshift_ansible,omitempty"` OpenshiftAnsibleSrcClusterTestConfiguration *OpenshiftAnsibleSrcClusterTestConfiguration `json:"openshift_ansible_src,omitempty"` OpenshiftAnsibleCustomClusterTestConfiguration *OpenshiftAnsibleCustomClusterTestConfiguration `json:"openshift_ansible_custom,omitempty"` OpenshiftInstallerClusterTestConfiguration *OpenshiftInstallerClusterTestConfiguration `json:"openshift_installer,omitempty"` OpenshiftInstallerUPIClusterTestConfiguration *OpenshiftInstallerUPIClusterTestConfiguration `json:"openshift_installer_upi,omitempty"` OpenshiftInstallerUPISrcClusterTestConfiguration *OpenshiftInstallerUPISrcClusterTestConfiguration `json:"openshift_installer_upi_src,omitempty"` OpenshiftInstallerCustomTestImageClusterTestConfiguration *OpenshiftInstallerCustomTestImageClusterTestConfiguration `json:"openshift_installer_custom_test_image,omitempty"` }
TestStepConfiguration describes a step that runs a command in one of the previously built images and then gathers artifacts from that step.
func (*TestStepConfiguration) DeepCopy ¶
func (in *TestStepConfiguration) DeepCopy() *TestStepConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestStepConfiguration.
func (*TestStepConfiguration) DeepCopyInto ¶
func (in *TestStepConfiguration) DeepCopyInto(out *TestStepConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TestStepConfiguration) GetClusterProfileName ¶
func (config TestStepConfiguration) GetClusterProfileName() string
GetClusterProfileName returns the cluster profile name if it's set
func (TestStepConfiguration) IsPeriodic ¶
func (config TestStepConfiguration) IsPeriodic() bool
func (TestStepConfiguration) TargetName ¶
func (config TestStepConfiguration) TargetName() string
type UnresolvedRelease ¶
type UnresolvedRelease struct { // Integration describes an integration stream which we can create a payload out of Integration *Integration `json:"integration,omitempty"` // Candidate describes a candidate release payload Candidate *Candidate `json:"candidate,omitempty"` // Prerelease describes a yet-to-be released payload Prerelease *Prerelease `json:"prerelease,omitempty"` // Release describes a released payload Release *Release `json:"release,omitempty"` }
UnresolvedRelease describes a semantic release payload identifier we need to resolve to a pull spec.
func (*UnresolvedRelease) DeepCopy ¶
func (in *UnresolvedRelease) DeepCopy() *UnresolvedRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnresolvedRelease.
func (*UnresolvedRelease) DeepCopyInto ¶
func (in *UnresolvedRelease) DeepCopyInto(out *UnresolvedRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionBounds ¶
type VersionBounds struct { Lower string `json:"lower"` Upper string `json:"upper"` // Stream dictates which stream to search for a version within the specified bounds // defaults to 4-stable. Stream string `json:"stream,omitempty"` }
VersionBounds describe the upper and lower bounds and stream on a version search
func BoundsFromQuery ¶
func BoundsFromQuery(query string) (*VersionBounds, error)
func (*VersionBounds) DeepCopy ¶
func (in *VersionBounds) DeepCopy() *VersionBounds
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionBounds.
func (*VersionBounds) DeepCopyInto ¶
func (in *VersionBounds) DeepCopyInto(out *VersionBounds)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VersionBounds) Query ¶
func (b *VersionBounds) Query() string