Documentation
¶
Index ¶
- Constants
- Variables
- func AppName(soBranch string) string
- func FBCAppName(soBranch, ocpVersion string) string
- func FBCReleasePlanAdmissionName(appName, soVersion, env string) string
- func Generate(cfg Config) error
- func GenerateComponentReleasePlanAdmission(cfg Config, csv *operatorsv1alpha1.ClusterServiceVersion) error
- func GenerateComponentsReleasePlans(resourceOutputPath string, appName string, soVersion string, ...) error
- func GenerateFBCReleasePlanAdmission(applications []string, resourceOutputPath string, appName string, ...) error
- func GenerateRelease(ctx context.Context, cfg ReleaseConfig) error
- func GenerateReleasePlans(applications []string, resourceOutputPath string, appName string, ...) error
- func Name(parent, suffix string) string
- func ReleasePlanAdmissionName(appName, soVersion, env string) string
- func Sanitize(input interface{}) string
- func Truncate(input interface{}) string
- func WriteFileReplacingNewerTaskImages(name string, data []byte, perm os.FileMode) error
- type ComponentImageRepoRef
- type ComponentReleasePlanConfig
- type Config
- type DockerfileApplicationConfig
- type IntegrationTestConfig
- type IntegrationTestContext
- type Pipeline
- type PipelineEvent
- type PrefetchDeps
- type Release
- type ReleaseConfig
- type ReleasePlan
- type TemplateConfig
Constants ¶
View Source
const ( ApplicationsDirectoryName = "applications" ReleasePlanAdmissionsDirectoryName = "releaseplanadmissions" ReleasePlansDirName = "releaseplans" ReleasesDirName = "releases" StageEnv = "stage" ProdEnv = "prod" )
Variables ¶
View Source
var ApplicationTemplate embed.FS
View Source
var ComponentReleasePlanAdmissionsTemplate embed.FS
View Source
var DockerfileComponentTemplate embed.FS
View Source
var EnterpriseContractTestScenarioTemplate embed.FS
View Source
var FBCReleasePlanAdmissionsTemplate embed.FS
View Source
var ImageRepositoryTemplate embed.FS
View Source
var PipelineBundleBuildTemplate embed.FS
View Source
var PipelineDockerBuildTemplate embed.FS
View Source
var PipelineDockerJavaBuildTemplate embed.FS
View Source
var PipelineFBCBuildTemplate embed.FS
View Source
var PipelineRunTemplate embed.FS
View Source
var ReleasePlanTemplate embed.FS
View Source
var ReleaseTemplate embed.FS
Functions ¶
func FBCAppName ¶
func GenerateComponentReleasePlanAdmission ¶
func GenerateComponentReleasePlanAdmission(cfg Config, csv *operatorsv1alpha1.ClusterServiceVersion) error
func GenerateRelease ¶
func GenerateRelease(ctx context.Context, cfg ReleaseConfig) error
func GenerateReleasePlans ¶
func Name ¶
Name generates a name for the resource based upon the parent resource and suffix. If the concatenated name is longer than K8s permits the name is hashed and truncated to permit construction of the resource, but still keeps it unique. If the suffix itself is longer than 31 characters, then the whole string will be hashed and `parent|hash|suffix` will be returned, where parent and suffix will be trimmed to fit (prefix of parent at most of length 31, and prefix of suffix at most length 30).
Types ¶
type ComponentImageRepoRef ¶
type Config ¶
type Config struct {
OpenShiftReleasePath string
ApplicationName string
BuildArgs []string
ComponentNameFunc func(cfg cioperatorapi.ReleaseBuildConfiguration, ib cioperatorapi.ProjectDirectoryImageBuildStepConfiguration) string
Includes []string
Excludes []string
ExcludesImages []string
FBCImages []string
JavaImages []string
BundleImage string
ResourcesOutputPathSkipRemove bool
ResourcesOutputPath string
RepositoryRootPath string
GlobalResourcesOutputPath string
PipelinesOutputPathSkipRemove bool
PipelinesOutputPath string
AdditionalTektonCELExpressionFunc func(cfg cioperatorapi.ReleaseBuildConfiguration, ib cioperatorapi.ProjectDirectoryImageBuildStepConfiguration) string
NudgesFunc func(cfg cioperatorapi.ReleaseBuildConfiguration, ib cioperatorapi.ProjectDirectoryImageBuildStepConfiguration) []string
Nudges []string
PipelineRunAnnotationsFunc func(cfg cioperatorapi.ReleaseBuildConfiguration, ib cioperatorapi.ProjectDirectoryImageBuildStepConfiguration) map[string]string
// Preserve the version tag as first tag in any instance since SO, when bumping the patch version
// will change it before merging the PR.
// See `openshift-knative/serverless-operator/hack/generate/update-pipelines.sh` for more details.
Tags []string
PrefetchDeps PrefetchDeps
IsHermetic func(cfg cioperatorapi.ReleaseBuildConfiguration, ib cioperatorapi.ProjectDirectoryImageBuildStepConfiguration) bool
ComponentReleasePlanConfig *ComponentReleasePlanConfig
AdditionalComponentConfigs []TemplateConfig
}
type DockerfileApplicationConfig ¶
type DockerfileApplicationConfig struct {
ApplicationName string
ComponentName string
ReleaseBuildConfiguration cioperatorapi.ReleaseBuildConfiguration
Path string
ProjectDirectoryImageBuildStepConfiguration cioperatorapi.ProjectDirectoryImageBuildStepConfiguration
Nudges []string
AdditionalTektonCELExpression string
Event PipelineEvent
Pipeline Pipeline
Tags []string
BuildArgs []string
PrefetchDeps PrefetchDeps
Hermetic string
DockerfilePath string
PipelineRunAnnotations map[string]string
}
type IntegrationTestConfig ¶
type IntegrationTestConfig struct {
Name string
ApplicationName string
ECPolicyConfiguration string
Contexts []IntegrationTestContext
}
type IntegrationTestContext ¶
type PipelineEvent ¶
type PipelineEvent string
const ( PushEvent PipelineEvent = "push" PullRequestEvent PipelineEvent = "pull_request" )
type PrefetchDeps ¶
type PrefetchDeps struct {
DevPackageManagers string
/*
Example: '[{ "type": "rpm" }, {"type": "gomod", "path": "."}]'
*/
PrefetchInput string
}
func (*PrefetchDeps) WithNPM ¶
func (pd *PrefetchDeps) WithNPM(path string)
func (*PrefetchDeps) WithRPMs ¶
func (pd *PrefetchDeps) WithRPMs()
func (*PrefetchDeps) WithUnvendoredGo ¶
func (pd *PrefetchDeps) WithUnvendoredGo(path string)
type ReleaseConfig ¶
type ReleasePlan ¶
type TemplateConfig ¶
type TemplateConfig struct {
cioperatorapi.ReleaseBuildConfiguration
Path string
}
func (TemplateConfig) IsContained ¶
func (c TemplateConfig) IsContained(configs []TemplateConfig) bool
Click to show internal directories.
Click to hide internal directories.