From c55b0e695c7f8a2a24a29c0c9c71fd4eab63535b Mon Sep 17 00:00:00 2001 From: "M. Mert Yildiran" Date: Sun, 11 Dec 2022 11:30:18 +0300 Subject: [PATCH] :whale: Add `docker` package to set and get Docker image and tags --- cmd/check/imagePullInCluster.go | 5 ++-- docker/images.go | 46 +++++++++++++++++++++++++++++ kubernetes/kubesharkTapperSyncer.go | 3 +- kubernetes/provider.go | 3 +- resources/createResources.go | 5 ++-- 5 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 docker/images.go diff --git a/cmd/check/imagePullInCluster.go b/cmd/check/imagePullInCluster.go index 1d7379524..0ff0334b2 100644 --- a/cmd/check/imagePullInCluster.go +++ b/cmd/check/imagePullInCluster.go @@ -6,6 +6,7 @@ import ( "regexp" "time" + "github.com/kubeshark/kubeshark/docker" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/utils" "github.com/rs/zerolog/log" @@ -92,7 +93,7 @@ func checkImagePulled(ctx context.Context, kubernetesProvider *kubernetes.Provid } func createImagePullInClusterPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, namespace string, podName string) error { - image := "kubeshark/worker:latest" + image := docker.GetWorkerImage() log.Info().Str("image", image).Msg("Testing image pull:") var zero int64 pod := &core.Pod{ @@ -103,7 +104,7 @@ func createImagePullInClusterPod(ctx context.Context, kubernetesProvider *kubern Containers: []core.Container{ { Name: "probe", - Image: "kubeshark/worker:latest", + Image: image, ImagePullPolicy: "Always", Command: []string{"cat"}, Stdin: true, diff --git a/docker/images.go b/docker/images.go new file mode 100644 index 000000000..1f7b473d4 --- /dev/null +++ b/docker/images.go @@ -0,0 +1,46 @@ +package docker + +import "fmt" + +const ( + hub = "hub" + worker = "worker" + front = "front" +) + +var ( + namespace = "kubeshark" + tag = "latest" +) + +func GetNamespace() string { + return namespace +} + +func SetNamespace(value string) { + namespace = value +} + +func GetTag() string { + return tag +} + +func SetTag(value string) { + tag = value +} + +func getImage(image string) string { + return fmt.Sprintf("%s/%s:%s", namespace, image, tag) +} + +func GetHubImage() string { + return getImage(hub) +} + +func GetWorkerImage() string { + return getImage(worker) +} + +func GetFrontImage() string { + return getImage(front) +} diff --git a/kubernetes/kubesharkTapperSyncer.go b/kubernetes/kubesharkTapperSyncer.go index 372b6a3af..f6da860aa 100644 --- a/kubernetes/kubesharkTapperSyncer.go +++ b/kubernetes/kubesharkTapperSyncer.go @@ -9,6 +9,7 @@ import ( "github.com/kubeshark/base/pkg/api" "github.com/kubeshark/base/pkg/models" "github.com/kubeshark/kubeshark/debounce" + "github.com/kubeshark/kubeshark/docker" "github.com/kubeshark/kubeshark/utils" "github.com/rs/zerolog" "github.com/rs/zerolog/log" @@ -349,7 +350,7 @@ func (workerSyncer *WorkerSyncer) updateWorkers() error { log.Debug().Strs("nodes", nodesToTarget).Msg("Updating DaemonSet to run on nodes.") - image := "kubeshark/worker:latest" + image := docker.GetWorkerImage() if len(workerSyncer.nodeToTargettedPodMap) > 0 { var serviceAccountName string diff --git a/kubernetes/provider.go b/kubernetes/provider.go index 16f766e7b..dfe0afc9c 100644 --- a/kubernetes/provider.go +++ b/kubernetes/provider.go @@ -14,6 +14,7 @@ import ( "github.com/kubeshark/base/pkg/api" "github.com/kubeshark/base/pkg/models" + "github.com/kubeshark/kubeshark/docker" "github.com/kubeshark/kubeshark/semver" "github.com/kubeshark/kubeshark/utils" "github.com/rs/zerolog" @@ -431,7 +432,7 @@ func (provider *Provider) BuildFrontPod(opts *HubOptions, mountVolumeClaim bool, containers := []core.Container{ { Name: opts.PodName, - Image: "kubeshark/front:latest", + Image: docker.GetFrontImage(), ImagePullPolicy: opts.ImagePullPolicy, VolumeMounts: volumeMounts, ReadinessProbe: &core.Probe{ diff --git a/resources/createResources.go b/resources/createResources.go index 03db4dc7a..8221fc007 100644 --- a/resources/createResources.go +++ b/resources/createResources.go @@ -5,6 +5,7 @@ import ( "github.com/kubeshark/base/pkg/models" "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/docker" "github.com/kubeshark/kubeshark/errormessage" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/kubeshark" @@ -39,7 +40,7 @@ func CreateHubResources(ctx context.Context, kubernetesProvider *kubernetes.Prov opts := &kubernetes.HubOptions{ Namespace: kubesharkResourcesNamespace, PodName: kubernetes.HubPodName, - PodImage: "kubeshark/hub:latest", + PodImage: docker.GetHubImage(), KratosImage: "", KetoImage: "", ServiceAccountName: serviceAccountName, @@ -54,7 +55,7 @@ func CreateHubResources(ctx context.Context, kubernetesProvider *kubernetes.Prov frontOpts := &kubernetes.HubOptions{ Namespace: kubesharkResourcesNamespace, PodName: kubernetes.FrontPodName, - PodImage: "kubeshark/worker:latest", + PodImage: docker.GetWorkerImage(), KratosImage: "", KetoImage: "", ServiceAccountName: serviceAccountName,