Skip to content

Commit e882eea

Browse files
committed
Propagate proxy environment variables into project clone container
Signed-off-by: Angel Misevski <[email protected]>
1 parent df84f45 commit e882eea

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

controllers/workspace/devworkspace_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ func (r *DevWorkspaceReconciler) Reconcile(ctx context.Context, req ctrl.Request
312312
}
313313

314314
// Add init container to clone projects
315-
if projectClone, err := projects.GetProjectCloneInitContainer(&workspace.Spec.Template, workspace.Config.Workspace.ImagePullPolicy); err != nil {
315+
if projectClone, err := projects.GetProjectCloneInitContainer(&workspace.Spec.Template, workspace.Config.Workspace.ImagePullPolicy, workspace.Config.Routing.ProxyConfig); err != nil {
316316
return r.failWorkspace(workspace, fmt.Sprintf("Failed to set up project-clone init container: %s", err), metrics.ReasonInfrastructureFailure, reqLogger, &reconcileStatus)
317317
} else if projectClone != nil {
318318
devfilePodAdditions.InitContainers = append(devfilePodAdditions.InitContainers, *projectClone)

pkg/library/env/workspaceenv.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@ func commonEnvironmentVariables(workspaceWithConfig *common.DevWorkspaceWithConf
7171
},
7272
}
7373

74-
envvars = append(envvars, getProxyEnvVars(workspaceWithConfig.Config.Routing.ProxyConfig)...)
74+
envvars = append(envvars, GetProxyEnvVars(workspaceWithConfig.Config.Routing.ProxyConfig)...)
7575

7676
return envvars
7777
}
7878

79-
func getProxyEnvVars(proxyConfig *v1alpha1.Proxy) []corev1.EnvVar {
79+
func GetProxyEnvVars(proxyConfig *v1alpha1.Proxy) []corev1.EnvVar {
8080
if proxyConfig == nil {
8181
return nil
8282
}

pkg/library/projects/clone.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ import (
2020
"fmt"
2121

2222
dw "github.com/devfile/api/v2/pkg/apis/workspaces/v1alpha2"
23+
controllerv1alpha1 "github.com/devfile/devworkspace-operator/apis/controller/v1alpha1"
2324
devfileConstants "github.com/devfile/devworkspace-operator/pkg/library/constants"
25+
"github.com/devfile/devworkspace-operator/pkg/library/env"
2426
corev1 "k8s.io/api/core/v1"
2527
"k8s.io/apimachinery/pkg/api/resource"
2628

@@ -32,7 +34,7 @@ const (
3234
projectClonerContainerName = "project-clone"
3335
)
3436

35-
func GetProjectCloneInitContainer(workspace *dw.DevWorkspaceTemplateSpec, pullPolicy string) (*corev1.Container, error) {
37+
func GetProjectCloneInitContainer(workspace *dw.DevWorkspaceTemplateSpec, pullPolicy string, proxyConfig *controllerv1alpha1.Proxy) (*corev1.Container, error) {
3638
if len(workspace.Projects) == 0 {
3739
return nil, nil
3840
}
@@ -66,16 +68,18 @@ func GetProjectCloneInitContainer(workspace *dw.DevWorkspaceTemplateSpec, pullPo
6668
return nil, fmt.Errorf("project clone container has invalid CPU request configured: %w", err)
6769
}
6870

71+
cloneEnv := []corev1.EnvVar{
72+
{
73+
Name: devfileConstants.ProjectsRootEnvVar,
74+
Value: constants.DefaultProjectsSourcesRoot,
75+
},
76+
}
77+
cloneEnv = append(cloneEnv, env.GetProxyEnvVars(proxyConfig)...)
78+
6979
return &corev1.Container{
7080
Name: projectClonerContainerName,
7181
Image: cloneImage,
72-
Env: []corev1.EnvVar{
73-
// TODO: add proxy env
74-
{
75-
Name: devfileConstants.ProjectsRootEnvVar,
76-
Value: constants.DefaultProjectsSourcesRoot,
77-
},
78-
},
82+
Env: cloneEnv,
7983
Resources: corev1.ResourceRequirements{
8084
Limits: map[corev1.ResourceName]resource.Quantity{
8185
corev1.ResourceMemory: memLimit,

0 commit comments

Comments
 (0)