feat: Update Dev Workspace controller images accordingly to airgap se… (#1391)

* feat: Update Dev Workspace controller images accordingly to airgap settings

Signed-off-by: Anatolii Bazko <abazko@redhat.com>

* fixup

Signed-off-by: Anatolii Bazko <abazko@redhat.com>
pull/1394/head
Anatolii Bazko 2022-05-23 17:08:32 +03:00 committed by GitHub
parent 00d30e4547
commit 80609dd17f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 24 deletions

View File

@ -256,7 +256,7 @@ func DefaultCheVersion() string {
}
func DefaultCheServerImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultCheServerImage)
return PatchDefaultImageName(cr, defaultCheServerImage)
}
func DefaultCheTLSSecretsCreationJobImage() string {
@ -264,11 +264,11 @@ func DefaultCheTLSSecretsCreationJobImage() string {
}
func DefaultPvcJobsImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultPvcJobsImage)
return PatchDefaultImageName(cr, defaultPvcJobsImage)
}
func DefaultPostgresImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultPostgresImage)
return PatchDefaultImageName(cr, defaultPostgresImage)
}
func DefaultPostgres13Image(cr *orgv1.CheCluster) string {
@ -276,55 +276,55 @@ func DefaultPostgres13Image(cr *orgv1.CheCluster) string {
if defaultPostgres13Image == "" {
return defaultPostgres13Image
}
return patchDefaultImageName(cr, defaultPostgres13Image)
return PatchDefaultImageName(cr, defaultPostgres13Image)
}
func DefaultDashboardImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultDashboardImage)
return PatchDefaultImageName(cr, defaultDashboardImage)
}
func DefaultDevworkspaceControllerImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultDevworkspaceControllerImage)
return PatchDefaultImageName(cr, defaultDevworkspaceControllerImage)
}
func DefaultPluginRegistryImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultPluginRegistryImage)
return PatchDefaultImageName(cr, defaultPluginRegistryImage)
}
func DefaultDevfileRegistryImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultDevfileRegistryImage)
return PatchDefaultImageName(cr, defaultDevfileRegistryImage)
}
func DefaultCheWorkspacePluginBrokerMetadataImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerMetadataImage)
return PatchDefaultImageName(cr, defaultCheWorkspacePluginBrokerMetadataImage)
}
func DefaultCheWorkspacePluginBrokerArtifactsImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultCheWorkspacePluginBrokerArtifactsImage)
return PatchDefaultImageName(cr, defaultCheWorkspacePluginBrokerArtifactsImage)
}
func DefaultCheServerSecureExposerJwtProxyImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultCheServerSecureExposerJwtProxyImage)
return PatchDefaultImageName(cr, defaultCheServerSecureExposerJwtProxyImage)
}
func DefaultSingleHostGatewayImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultSingleHostGatewayImage)
return PatchDefaultImageName(cr, defaultSingleHostGatewayImage)
}
func DefaultSingleHostGatewayConfigSidecarImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultSingleHostGatewayConfigSidecarImage)
return PatchDefaultImageName(cr, defaultSingleHostGatewayConfigSidecarImage)
}
func DefaultGatewayAuthenticationSidecarImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultGatewayAuthenticationSidecarImage)
return PatchDefaultImageName(cr, defaultGatewayAuthenticationSidecarImage)
}
func DefaultGatewayAuthorizationSidecarImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultGatewayAuthorizationSidecarImage)
return PatchDefaultImageName(cr, defaultGatewayAuthorizationSidecarImage)
}
func DefaultGatewayHeaderProxySidecarImage(cr *orgv1.CheCluster) string {
return patchDefaultImageName(cr, defaultGatewayHeaderProxySidecarImage)
return PatchDefaultImageName(cr, defaultGatewayHeaderProxySidecarImage)
}
func DefaultKubernetesImagePullerOperatorCSV() string {
@ -359,7 +359,7 @@ func GetWorkspaceNamespaceDefault(cr *orgv1.CheCluster) string {
return util.GetValue(cr.Spec.Server.WorkspaceNamespaceDefault, workspaceNamespaceDefault)
}
func patchDefaultImageName(cr *orgv1.CheCluster, imageName string) string {
func PatchDefaultImageName(cr *orgv1.CheCluster, imageName string) string {
if !cr.IsAirGapMode() {
return imageName
}

View File

@ -169,7 +169,7 @@ func TestCorrectAirGapPatchedImage(t *testing.T) {
}
for name, tc := range testCases {
t.Run(name, func(*testing.T) {
actual := patchDefaultImageName(tc.cr, tc.image)
actual := PatchDefaultImageName(tc.cr, tc.image)
if actual != tc.expected {
t.Errorf("Expected %s but was %s", tc.expected, actual)
}

View File

@ -13,6 +13,7 @@ package devworkspace
import (
"context"
"strings"
"github.com/eclipse-che/che-operator/pkg/deploy"
"github.com/eclipse-che/che-operator/pkg/util"
@ -180,12 +181,22 @@ func syncDwDeployment(deployContext *deploy.DeployContext) (bool, error) {
}
devworkspaceControllerImage := util.GetValue(deployContext.CheCluster.Spec.DevWorkspace.ControllerImage, deploy.DefaultDevworkspaceControllerImage(deployContext.CheCluster))
devWorkspaceController := deployment.Spec.Template.Spec.Containers[0]
devWorkspaceController.Image = devworkspaceControllerImage
for _, env := range devWorkspaceController.Env {
if env.Name == "RELATED_IMAGE_devworkspace_webhook_server" {
env.Value = devworkspaceControllerImage
break
for contIdx, container := range deployment.Spec.Template.Spec.Containers {
if container.Name == "devworkspace-controller" {
deployment.Spec.Template.Spec.Containers[contIdx].Image = devworkspaceControllerImage
} else {
deployment.Spec.Template.Spec.Containers[contIdx].Image = deploy.PatchDefaultImageName(
deployContext.CheCluster,
deployment.Spec.Template.Spec.Containers[contIdx].Image,
)
}
for envIdx, env := range container.Env {
if env.Name == "RELATED_IMAGE_devworkspace_webhook_server" {
deployment.Spec.Template.Spec.Containers[contIdx].Env[envIdx].Value = devworkspaceControllerImage
} else if strings.HasPrefix(env.Name, "RELATED_IMAGE_") {
deployment.Spec.Template.Spec.Containers[contIdx].Env[envIdx].Value = deploy.PatchDefaultImageName(deployContext.CheCluster, env.Value)
}
}
}