Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildController ¶
type BuildController struct {
// contains filtered or unexported fields
}
BuildController watches builds and synchronizes them with their corresponding build pods. It is also responsible for resolving image stream references in the Build to docker images prior to invoking the pod. The build controller late binds image stream references so that users can create a build config before they create the image stream (or before an image is pushed to a tag) which allows actions to converge. It also allows multiple Build objects to directly reference images created by another Build, acting as a simple dependency graph for a logical multi-image build that reuses many individual Builds.
Like other controllers that do "on behalf of" image resolution, the controller resolves the reference which allows users to see what image ID corresponds to a tag simply by requesting resolution. This is consistent with other image policy in the system (image tag references in deployments, triggers, and image policy). The only leaked image information is the ID which is considered acceptable. Secrets are also resolved, allowing a user in the same namespace to in theory infer the presence of a secret or make it usable by a build - but this is identical to our existing model where a service account determines access to secrets used in pods.
func NewBuildController ¶
func NewBuildController(params *BuildControllerParams) *BuildController
NewBuildController creates a new BuildController.
func (*BuildController) Run ¶
func (bc *BuildController) Run(workers int, stopCh <-chan struct{})
Run begins watching and syncing.
type BuildControllerParams ¶
type BuildControllerParams struct { BuildInformer buildinformer.BuildInformer BuildConfigInformer buildinformer.BuildConfigInformer ImageStreamInformer imageinformers.ImageStreamInformer PodInformer kexternalcoreinformers.PodInformer SecretInformer kexternalcoreinformers.SecretInformer KubeClientInternal kclientset.Interface KubeClientExternal kexternalclientset.Interface BuildClientInternal buildinternalclient.Interface DockerBuildStrategy *strategy.DockerBuildStrategy SourceBuildStrategy *strategy.SourceBuildStrategy CustomBuildStrategy *strategy.CustomBuildStrategy BuildDefaults builddefaults.BuildDefaults BuildOverrides buildoverrides.BuildOverrides }
BuildControllerParams is the set of parameters needed to create a new BuildController
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
apis
|
|
defaults
Package api is the internal version of the API.
|
Package api is the internal version of the API. |
defaults/v1
Package v1 is the v1 version of the API.
|
Package v1 is the v1 version of the API. |
overrides
Package api is the internal version of the API.
|
Package api is the internal version of the API. |
overrides/v1
Package v1 is the v1 version of the API.
|
Package v1 is the v1 version of the API. |
Package defaults contains the BuildDefaults admission control plugin.
|
Package defaults contains the BuildDefaults admission control plugin. |
Package overrides contains the BuildOverrides admission control plugin.
|
Package overrides contains the BuildOverrides admission control plugin. |
testing
Package testing contains types for tests.
|
Package testing contains types for tests. |