diff --git a/pkg/common/constants/constants.go b/pkg/common/constants/constants.go index c900ad5ca..771940f9e 100644 --- a/pkg/common/constants/constants.go +++ b/pkg/common/constants/constants.go @@ -108,6 +108,7 @@ const ( CommonPVCStorageStrategy = "common" DefaultDeploymentStrategy = "Recreate" DefaultAutoProvision = true + DefaultPersistUserHomeEnabled = false DefaultWorkspaceJavaOpts = "-XX:MaxRAM=150m -XX:MaxRAMFraction=2 -XX:+UseParallelGC " + "-XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 " + "-Dsun.zip.disableMemoryMapping=true " + diff --git a/pkg/deploy/dev-workspace-config/dev_workspace_config.go b/pkg/deploy/dev-workspace-config/dev_workspace_config.go index 18b3d016b..99d12857c 100644 --- a/pkg/deploy/dev-workspace-config/dev_workspace_config.go +++ b/pkg/deploy/dev-workspace-config/dev_workspace_config.go @@ -101,6 +101,8 @@ func updateWorkspaceConfig(cheCluster *chev2.CheCluster, operatorConfig *control updateStartTimeout(operatorConfig, devEnvironments.StartTimeoutSeconds) + updatePersistUserHomeConfig(devEnvironments.PersistUserHome, operatorConfig.Workspace) + operatorConfig.Workspace.DeploymentStrategy = v1.DeploymentStrategyType(utils.GetValue(string(devEnvironments.DeploymentStrategy), constants.DefaultDeploymentStrategy)) return nil } @@ -148,6 +150,14 @@ func updateWorkspaceStorageConfig(devEnvironments *chev2.CheClusterDevEnvironmen return nil } +func updatePersistUserHomeConfig(persistentHomeConfig *chev2.PersistentHomeConfig, workspaceConfig *controllerv1alpha1.WorkspaceConfig) { + workspaceConfig.PersistUserHome = nil + if persistentHomeConfig != nil { + workspaceConfig.PersistUserHome = &controllerv1alpha1.PersistentHomeConfig{} + workspaceConfig.PersistUserHome.Enabled = persistentHomeConfig.Enabled + } +} + func updateWorkspaceServiceAccountConfig(devEnvironments *chev2.CheClusterDevEnvironments, workspaceConfig *controllerv1alpha1.WorkspaceConfig) { isNamespaceAutoProvisioned := pointer.BoolDeref(devEnvironments.DefaultNamespace.AutoProvision, constants.DefaultAutoProvision)