Documentation ¶
Index ¶
- Constants
- func GatherProwJobMetrics(l *logrus.Entry, current []prowapi.ProwJob)
- func GetKubernetesClient(masterURL, kubeConfig string) (kubernetes.Interface, error)
- func GetProwJobClient(masterURL, kubeConfig string) (prowjobclientset.Interface, error)
- func LoadClusterConfigs(opts *Options) (map[string]rest.Config, error)
- func RateLimiter(controllerName string) workqueue.RateLimitingInterface
- type ConfigOptions
- func ConfigDir(dir string) ConfigOptions
- func ConfigFile(file string) ConfigOptions
- func ConfigProjectedTokenFile(projectedTokenFile string) ConfigOptions
- func ConfigSuffix(suffix string) ConfigOptions
- func DisabledClusters(disabledClusters sets.Set[string]) ConfigOptions
- func NoInClusterConfig(noInClusterConfig bool) ConfigOptions
- type Options
Constants ¶
const ( // TestContainerName specifies the primary container name. TestContainerName = "test" // EmptySelector selects everything EmptySelector = "" // DefaultClusterAlias specifies the default context for resources owned by jobs (pods/builds). DefaultClusterAlias = "default" // TODO(fejta): rename to context // InClusterContext specifies the context for prowjob resources. InClusterContext = "" )
const ( // CreatedByProw is added on resources created by prow. // Since resources often live in another cluster/namespace, // the k8s garbage collector would immediately delete these // resources // TODO: Namespace this label. CreatedByProw = "created-by-prow" // CreatedByTideLabel is added by tide when it triggered a job. // TODO: Namespace this label. CreatedByTideLabel = "created-by-tide" // ProwJobTypeLabel is added in resources created by prow and // carries the job type (presubmit, postsubmit, periodic, batch) // that the pod is running. ProwJobTypeLabel = "prow.k8s.io/type" // ProwJobIDLabel is added in resources created by prow and // carries the ID of the ProwJob that the pod is fulfilling. // We also name resources after the ProwJob that spawned them but // this allows for multiple resources to be linked to one // ProwJob. ProwJobIDLabel = "prow.k8s.io/id" // ProwBuildIDLabel is added in resources created by prow and // carries the BuildID from a Prow Job's Status. ProwBuildIDLabel = "prow.k8s.io/build-id" // ProwJobAnnotation is added in resources created by prow and // carries the name of the job that the pod is running. Since // job names can be arbitrarily long, this is added as // an annotation instead of a label. ProwJobAnnotation = "prow.k8s.io/job" // ContextAnnotation is added in resources created by prow and // carries the context of the job that the pod is running. Since // job names can be arbitrarily long, this is added as // an annotation instead of a label. ContextAnnotation = "prow.k8s.io/context" // PlankVersionLabel is added in resources created by prow and // carries the version of prow that decorated this job. PlankVersionLabel = "prow.k8s.io/plank-version" // OrgLabel is added in resources created by prow and // carries the org associated with the job, eg kubernetes-sigs. OrgLabel = "prow.k8s.io/refs.org" // RepoLabel is added in resources created by prow and // carries the repo associated with the job, eg test-infra RepoLabel = "prow.k8s.io/refs.repo" // BaseRefLabel is added in resources created by prow and // carries the base ref associated with the job, eg main BaseRefLabel = "prow.k8s.io/refs.base_ref" // PullLabel is added in resources created by prow and // carries the PR number associated with the job, eg 321. PullLabel = "prow.k8s.io/refs.pull" // RetestLabel exposes if the job was created by a re-test request. RetestLabel = "prow.k8s.io/retest" // IsOptionalLabel is added in resources created by prow and // carries the Optional from a Presubmit job. IsOptionalLabel = "prow.k8s.io/is-optional" // GerritID identifies a gerrit change GerritID = "prow.k8s.io/gerrit-id" // GerritInstance is the gerrit host url GerritInstance = "prow.k8s.io/gerrit-instance" // GerritRevision is the SHA of current patchset from a gerrit change GerritRevision = "prow.k8s.io/gerrit-revision" // GerritPatchset is the numeric ID of the current patchset GerritPatchset = "prow.k8s.io/gerrit-patchset" // GerritReportLabel is the gerrit label prow will cast vote on, fallback to CodeReview label if unset GerritReportLabel = "prow.k8s.io/gerrit-report-label" )
Variables ¶
This section is empty.
Functions ¶
func GatherProwJobMetrics ¶
GatherProwJobMetrics gathers prometheus metrics for prowjobs. Not threadsafe, ensure this is called serially.
func GetKubernetesClient ¶
func GetKubernetesClient(masterURL, kubeConfig string) (kubernetes.Interface, error)
GetKubernetesClient retrieves the Kubernetes cluster client from within the cluster
func GetProwJobClient ¶
func GetProwJobClient(masterURL, kubeConfig string) (prowjobclientset.Interface, error)
GetKubernetesClient retrieves the Kubernetes cluster client from within the cluster
func LoadClusterConfigs ¶
LoadClusterConfigs loads rest.Configs for creation of clients according to the given options. Errors are returned if a file/dir is specified in the options and invalid or if no valid contexts are found.
func RateLimiter ¶
func RateLimiter(controllerName string) workqueue.RateLimitingInterface
RateLimiter creates a ratelimiting queue for a given prow controller.
Types ¶
type ConfigOptions ¶
type ConfigOptions func(*Options)
func ConfigDir ¶
func ConfigDir(dir string) ConfigOptions
ConfigDir configures the directory containing kubeconfig files
func ConfigFile ¶
func ConfigFile(file string) ConfigOptions
ConfigFile configures the path to a kubeconfig file
func ConfigProjectedTokenFile ¶
func ConfigProjectedTokenFile(projectedTokenFile string) ConfigOptions
ConfigProjectedTokenFile configures the path to a projectedToken file
func ConfigSuffix ¶
func ConfigSuffix(suffix string) ConfigOptions
ConfigSuffix configures the suffix of the file in directory containing kubeconfig files
func DisabledClusters ¶
func DisabledClusters(disabledClusters sets.Set[string]) ConfigOptions
DisabledClusters configures the set of disabled build cluster names. They will be ignored as context names while loading kubeconfig files.
func NoInClusterConfig ¶
func NoInClusterConfig(noInClusterConfig bool) ConfigOptions
NoInClusterConfig indicates that there is no InCluster Config to load