Make kratos image configurable (#670)

This commit is contained in:
gadotroee
2022-01-20 13:48:02 +02:00
committed by GitHub
parent 27dee4e09b
commit 6bab381280
5 changed files with 10 additions and 2 deletions

View File

@@ -47,6 +47,7 @@ func runMizuInstall() {
if err = resources.CreateInstallMizuResources(ctx, kubernetesProvider, serializedValidationRules, if err = resources.CreateInstallMizuResources(ctx, kubernetesProvider, serializedValidationRules,
serializedContract, serializedMizuConfig, config.Config.IsNsRestrictedMode(), serializedContract, serializedMizuConfig, config.Config.IsNsRestrictedMode(),
config.Config.MizuResourcesNamespace, config.Config.AgentImage, config.Config.BasenineImage, config.Config.MizuResourcesNamespace, config.Config.AgentImage, config.Config.BasenineImage,
config.Config.KratosImage,
nil, defaultMaxEntriesDBSizeBytes, defaultResources, config.Config.ImagePullPolicy(), nil, defaultMaxEntriesDBSizeBytes, defaultResources, config.Config.ImagePullPolicy(),
config.Config.LogLevel(), false); err != nil { config.Config.LogLevel(), false); err != nil {
var statusError *k8serrors.StatusError var statusError *k8serrors.StatusError

View File

@@ -28,6 +28,7 @@ type ConfigStruct struct {
Config configStructs.ConfigConfig `yaml:"config,omitempty"` Config configStructs.ConfigConfig `yaml:"config,omitempty"`
AgentImage string `yaml:"agent-image,omitempty" readonly:""` AgentImage string `yaml:"agent-image,omitempty" readonly:""`
BasenineImage string `yaml:"basenine-image,omitempty" readonly:""` BasenineImage string `yaml:"basenine-image,omitempty" readonly:""`
KratosImage string `yaml:"kratos-image,omitempty" readonly:""`
ImagePullPolicyStr string `yaml:"image-pull-policy" default:"Always"` ImagePullPolicyStr string `yaml:"image-pull-policy" default:"Always"`
MizuResourcesNamespace string `yaml:"mizu-resources-namespace" default:"mizu"` MizuResourcesNamespace string `yaml:"mizu-resources-namespace" default:"mizu"`
Telemetry bool `yaml:"telemetry" default:"true"` Telemetry bool `yaml:"telemetry" default:"true"`
@@ -50,6 +51,7 @@ func (config *ConfigStruct) validate() error {
func (config *ConfigStruct) SetDefaults() { func (config *ConfigStruct) SetDefaults() {
config.BasenineImage = fmt.Sprintf("%s:%s", shared.BasenineImageRepo, shared.BasenineImageTag) config.BasenineImage = fmt.Sprintf("%s:%s", shared.BasenineImageRepo, shared.BasenineImageTag)
config.KratosImage = shared.KratosImageDefault
config.AgentImage = fmt.Sprintf("gcr.io/up9-docker-hub/mizu/%s:%s", mizu.Branch, mizu.SemVer) config.AgentImage = fmt.Sprintf("gcr.io/up9-docker-hub/mizu/%s:%s", mizu.Branch, mizu.SemVer)
config.ConfigFilePath = path.Join(mizu.GetMizuFolderPath(), "config.yaml") config.ConfigFilePath = path.Join(mizu.GetMizuFolderPath(), "config.yaml")
} }

View File

@@ -43,6 +43,7 @@ func CreateTapMizuResources(ctx context.Context, kubernetesProvider *kubernetes.
PodName: kubernetes.ApiServerPodName, PodName: kubernetes.ApiServerPodName,
PodImage: agentImage, PodImage: agentImage,
BasenineImage: basenineImage, BasenineImage: basenineImage,
KratosImage: "",
ServiceAccountName: serviceAccountName, ServiceAccountName: serviceAccountName,
IsNamespaceRestricted: isNsRestrictedMode, IsNamespaceRestricted: isNsRestrictedMode,
SyncEntriesConfig: syncEntriesConfig, SyncEntriesConfig: syncEntriesConfig,
@@ -66,7 +67,7 @@ func CreateTapMizuResources(ctx context.Context, kubernetesProvider *kubernetes.
return mizuServiceAccountExists, nil return mizuServiceAccountExists, nil
} }
func CreateInstallMizuResources(ctx context.Context, kubernetesProvider *kubernetes.Provider, serializedValidationRules string, serializedContract string, serializedMizuConfig string, isNsRestrictedMode bool, mizuResourcesNamespace string, agentImage string, basenineImage string, syncEntriesConfig *shared.SyncEntriesConfig, maxEntriesDBSizeBytes int64, apiServerResources shared.Resources, imagePullPolicy core.PullPolicy, logLevel logging.Level, noPersistentVolumeClaim bool) error { func CreateInstallMizuResources(ctx context.Context, kubernetesProvider *kubernetes.Provider, serializedValidationRules string, serializedContract string, serializedMizuConfig string, isNsRestrictedMode bool, mizuResourcesNamespace string, agentImage string, basenineImage string, kratosImage string, syncEntriesConfig *shared.SyncEntriesConfig, maxEntriesDBSizeBytes int64, apiServerResources shared.Resources, imagePullPolicy core.PullPolicy, logLevel logging.Level, noPersistentVolumeClaim bool) error {
if err := createMizuNamespace(ctx, kubernetesProvider, mizuResourcesNamespace); err != nil { if err := createMizuNamespace(ctx, kubernetesProvider, mizuResourcesNamespace); err != nil {
return err return err
} }
@@ -97,6 +98,7 @@ func CreateInstallMizuResources(ctx context.Context, kubernetesProvider *kuberne
PodName: kubernetes.ApiServerPodName, PodName: kubernetes.ApiServerPodName,
PodImage: agentImage, PodImage: agentImage,
BasenineImage: basenineImage, BasenineImage: basenineImage,
KratosImage: kratosImage,
ServiceAccountName: serviceAccountName, ServiceAccountName: serviceAccountName,
IsNamespaceRestricted: isNsRestrictedMode, IsNamespaceRestricted: isNsRestrictedMode,
SyncEntriesConfig: syncEntriesConfig, SyncEntriesConfig: syncEntriesConfig,

View File

@@ -18,4 +18,5 @@ const (
BaseninePort = "9099" BaseninePort = "9099"
BasenineImageRepo = "ghcr.io/up9inc/basenine" BasenineImageRepo = "ghcr.io/up9inc/basenine"
BasenineImageTag = "v0.3.0" BasenineImageTag = "v0.3.0"
KratosImageDefault = "gcr.io/up9-docker-hub/mizu-kratos/stable:0.0.0"
) )

View File

@@ -178,6 +178,7 @@ type ApiServerOptions struct {
PodName string PodName string
PodImage string PodImage string
BasenineImage string BasenineImage string
KratosImage string
ServiceAccountName string ServiceAccountName string
IsNamespaceRestricted bool IsNamespaceRestricted bool
SyncEntriesConfig *shared.SyncEntriesConfig SyncEntriesConfig *shared.SyncEntriesConfig
@@ -185,6 +186,7 @@ type ApiServerOptions struct {
Resources shared.Resources Resources shared.Resources
ImagePullPolicy core.PullPolicy ImagePullPolicy core.PullPolicy
LogLevel logging.Level LogLevel logging.Level
} }
func (provider *Provider) GetMizuApiServerPodObject(opts *ApiServerOptions, mountVolumeClaim bool, volumeClaimName string, createAuthContainer bool) (*core.Pod, error) { func (provider *Provider) GetMizuApiServerPodObject(opts *ApiServerOptions, mountVolumeClaim bool, volumeClaimName string, createAuthContainer bool) (*core.Pod, error) {
@@ -314,7 +316,7 @@ func (provider *Provider) GetMizuApiServerPodObject(opts *ApiServerOptions, moun
if createAuthContainer { if createAuthContainer {
containers = append(containers, core.Container{ containers = append(containers, core.Container{
Name: "kratos", Name: "kratos",
Image: "gcr.io/up9-docker-hub/mizu-kratos/stable:0.0.0", Image: opts.KratosImage,
ImagePullPolicy: opts.ImagePullPolicy, ImagePullPolicy: opts.ImagePullPolicy,
VolumeMounts: volumeMounts, VolumeMounts: volumeMounts,
ReadinessProbe: &core.Probe{ ReadinessProbe: &core.Probe{