Documentation ¶
Index ¶
- Variables
- func GetCurrentPod(client klient.Client) (pod *v1.Pod, err error)
- func GetCurrentPodImageInfo(kubeClient klient.Client) (imageName string, imageID string)
- func GetDeploymentOfCurrentPod(client klient.Client) (deployment *appsv1.Deployment, err error)
- func InitAndStart(ctrl *DeckhouseController) error
- func NormalizeLabelValue(value string) string
- func RegisterDeckhouseMetrics(metricStorage *metric_storage.MetricStorage)
- func UpdateDeployment(client klient.Client, deployment *appsv1.Deployment) error
- func UpdateDeploymentImageAndExit(kubeClient klient.Client, newImageID string)
- type DeckhouseController
Constants ¶
This section is empty.
Variables ¶
var NonSafeCharsRegexp = regexp.MustCompile(`[^a-zA-Z0-9]`)
Functions ¶
func GetCurrentPodImageInfo ¶
GetCurrentPodImageInfo returns image name (registry:port/image_repo:image_tag) and imageID.
imageID can be in two forms on docker backend: - "imageID": "docker-pullable://registry.gitlab.com/projectgroup/projectname/dev@sha256:05f5cc14dff4fcc3ff3eb554de0e550050e65c968dc8bbc2d7f4506edfcdc5b6" - "imageID": "docker://sha256:e537460dd124f6db6656c1728a42cf8e268923ff52575504a471fa485c2a884a"
Image name should be taken from container spec. ContainerStatus contains bad image name if multiple tags has one digest! https://github.com/kubernetes/kubernetes/issues/51017
func GetDeploymentOfCurrentPod ¶
func GetDeploymentOfCurrentPod(client klient.Client) (deployment *appsv1.Deployment, err error)
func InitAndStart ¶
func InitAndStart(ctrl *DeckhouseController) error
func NormalizeLabelValue ¶
func RegisterDeckhouseMetrics ¶
func RegisterDeckhouseMetrics(metricStorage *metric_storage.MetricStorage)
func UpdateDeployment ¶
func UpdateDeployment(client klient.Client, deployment *appsv1.Deployment) error
func UpdateDeploymentImageAndExit ¶
UpdateDeploymentImageAndExit updates "deckhouseImageId" label of deployment/deckhouse
Types ¶
type DeckhouseController ¶
type DeckhouseController struct { *addon_operator.AddonOperator // contains filtered or unexported fields }
Ignore error: type name will be used as deckhouse.DeckhouseController by other packages, and that stutters
func DefaultDeckhouse ¶
func DefaultDeckhouse() *DeckhouseController
func NewDeckhouseController ¶
func NewDeckhouseController() *DeckhouseController
func (*DeckhouseController) InitAndStartRegistryWatcher ¶
func (d *DeckhouseController) InitAndStartRegistryWatcher() error
StartWatchRegistry initializes and starts a RegistryManager.
func (*DeckhouseController) Shutdown ¶
func (d *DeckhouseController) Shutdown()
func (*DeckhouseController) Stop ¶
func (d *DeckhouseController) Stop()
func (*DeckhouseController) WithContext ¶
func (d *DeckhouseController) WithContext(ctx context.Context) *DeckhouseController