🐳 Add docker package to set and get Docker image and tags

This commit is contained in:
M. Mert Yildiran 2022-12-11 11:30:18 +03:00
parent 67f9c36048
commit c55b0e695c
No known key found for this signature in database
GPG Key ID: DA5D6DCBB758A461
5 changed files with 56 additions and 6 deletions

View File

@ -6,6 +6,7 @@ import (
"regexp" "regexp"
"time" "time"
"github.com/kubeshark/kubeshark/docker"
"github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/kubernetes"
"github.com/kubeshark/kubeshark/utils" "github.com/kubeshark/kubeshark/utils"
"github.com/rs/zerolog/log" "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 { 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:") log.Info().Str("image", image).Msg("Testing image pull:")
var zero int64 var zero int64
pod := &core.Pod{ pod := &core.Pod{
@ -103,7 +104,7 @@ func createImagePullInClusterPod(ctx context.Context, kubernetesProvider *kubern
Containers: []core.Container{ Containers: []core.Container{
{ {
Name: "probe", Name: "probe",
Image: "kubeshark/worker:latest", Image: image,
ImagePullPolicy: "Always", ImagePullPolicy: "Always",
Command: []string{"cat"}, Command: []string{"cat"},
Stdin: true, Stdin: true,

46
docker/images.go Normal file
View File

@ -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)
}

View File

@ -9,6 +9,7 @@ import (
"github.com/kubeshark/base/pkg/api" "github.com/kubeshark/base/pkg/api"
"github.com/kubeshark/base/pkg/models" "github.com/kubeshark/base/pkg/models"
"github.com/kubeshark/kubeshark/debounce" "github.com/kubeshark/kubeshark/debounce"
"github.com/kubeshark/kubeshark/docker"
"github.com/kubeshark/kubeshark/utils" "github.com/kubeshark/kubeshark/utils"
"github.com/rs/zerolog" "github.com/rs/zerolog"
"github.com/rs/zerolog/log" "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.") log.Debug().Strs("nodes", nodesToTarget).Msg("Updating DaemonSet to run on nodes.")
image := "kubeshark/worker:latest" image := docker.GetWorkerImage()
if len(workerSyncer.nodeToTargettedPodMap) > 0 { if len(workerSyncer.nodeToTargettedPodMap) > 0 {
var serviceAccountName string var serviceAccountName string

View File

@ -14,6 +14,7 @@ import (
"github.com/kubeshark/base/pkg/api" "github.com/kubeshark/base/pkg/api"
"github.com/kubeshark/base/pkg/models" "github.com/kubeshark/base/pkg/models"
"github.com/kubeshark/kubeshark/docker"
"github.com/kubeshark/kubeshark/semver" "github.com/kubeshark/kubeshark/semver"
"github.com/kubeshark/kubeshark/utils" "github.com/kubeshark/kubeshark/utils"
"github.com/rs/zerolog" "github.com/rs/zerolog"
@ -431,7 +432,7 @@ func (provider *Provider) BuildFrontPod(opts *HubOptions, mountVolumeClaim bool,
containers := []core.Container{ containers := []core.Container{
{ {
Name: opts.PodName, Name: opts.PodName,
Image: "kubeshark/front:latest", Image: docker.GetFrontImage(),
ImagePullPolicy: opts.ImagePullPolicy, ImagePullPolicy: opts.ImagePullPolicy,
VolumeMounts: volumeMounts, VolumeMounts: volumeMounts,
ReadinessProbe: &core.Probe{ ReadinessProbe: &core.Probe{

View File

@ -5,6 +5,7 @@ import (
"github.com/kubeshark/base/pkg/models" "github.com/kubeshark/base/pkg/models"
"github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config"
"github.com/kubeshark/kubeshark/docker"
"github.com/kubeshark/kubeshark/errormessage" "github.com/kubeshark/kubeshark/errormessage"
"github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/kubernetes"
"github.com/kubeshark/kubeshark/kubeshark" "github.com/kubeshark/kubeshark/kubeshark"
@ -39,7 +40,7 @@ func CreateHubResources(ctx context.Context, kubernetesProvider *kubernetes.Prov
opts := &kubernetes.HubOptions{ opts := &kubernetes.HubOptions{
Namespace: kubesharkResourcesNamespace, Namespace: kubesharkResourcesNamespace,
PodName: kubernetes.HubPodName, PodName: kubernetes.HubPodName,
PodImage: "kubeshark/hub:latest", PodImage: docker.GetHubImage(),
KratosImage: "", KratosImage: "",
KetoImage: "", KetoImage: "",
ServiceAccountName: serviceAccountName, ServiceAccountName: serviceAccountName,
@ -54,7 +55,7 @@ func CreateHubResources(ctx context.Context, kubernetesProvider *kubernetes.Prov
frontOpts := &kubernetes.HubOptions{ frontOpts := &kubernetes.HubOptions{
Namespace: kubesharkResourcesNamespace, Namespace: kubesharkResourcesNamespace,
PodName: kubernetes.FrontPodName, PodName: kubernetes.FrontPodName,
PodImage: "kubeshark/worker:latest", PodImage: docker.GetWorkerImage(),
KratosImage: "", KratosImage: "",
KetoImage: "", KetoImage: "",
ServiceAccountName: serviceAccountName, ServiceAccountName: serviceAccountName,