@@ -276,7 +276,7 @@ var _ = Describe("Containers and Deployment spec forging", func() {
276276 EnvironmentType : clv1alpha2 .ClassContainer ,
277277 ExpectedOutput : func (i * clv1alpha2.Instance , e * clv1alpha2.Environment ) []corev1.Container {
278278 return []corev1.Container {
279- forge .WebsockifyContainer (& opts , & environment ),
279+ forge .WebsockifyContainer (& opts , & environment , i ),
280280 forge .XVncContainer (& opts ),
281281 forge .MyDriveContainer (i , & opts , myDriveMountPath ),
282282 forge .AppContainer (i , e , myDriveMountPath ),
@@ -289,7 +289,7 @@ var _ = Describe("Containers and Deployment spec forging", func() {
289289 EnvironmentType : clv1alpha2 .ClassContainer ,
290290 ExpectedOutput : func (i * clv1alpha2.Instance , e * clv1alpha2.Environment ) []corev1.Container {
291291 return []corev1.Container {
292- forge .WebsockifyContainer (& opts , & environment ),
292+ forge .WebsockifyContainer (& opts , & environment , i ),
293293 forge .XVncContainer (& opts ),
294294 forge .AppContainer (i , e , myDriveMountPath ),
295295 }
@@ -301,7 +301,7 @@ var _ = Describe("Containers and Deployment spec forging", func() {
301301 EnvironmentType : clv1alpha2 .ClassContainer ,
302302 ExpectedOutput : func (i * clv1alpha2.Instance , e * clv1alpha2.Environment ) []corev1.Container {
303303 return []corev1.Container {
304- forge .WebsockifyContainer (& opts , & environment ),
304+ forge .WebsockifyContainer (& opts , & environment , i ),
305305 forge .XVncContainer (& opts ),
306306 forge .AppContainer (i , e , myDriveMountPath ),
307307 }
@@ -360,8 +360,8 @@ var _ = Describe("Containers and Deployment spec forging", func() {
360360 expected .Name = envName
361361 forge .AddEnvVariableToContainer (& expected , "CROWNLABS_BASE_PATH" , forge .IngressGUICleanPath (& instance ))
362362 forge .AddEnvVariableToContainer (& expected , "CROWNLABS_LISTEN_PORT" , "6080" )
363- forge .AddEnvVariableFromResourcesToContainer (& expected , "CROWNLABS_CPU_REQUESTS" , corev1 .ResourceRequestsCPU )
364- forge .AddEnvVariableFromResourcesToContainer (& expected , "CROWNLABS_CPU_LIMITS" , corev1 .ResourceLimitsCPU )
363+ forge .AddEnvVariableFromResourcesToContainer (& expected , "CROWNLABS_CPU_REQUESTS" , expected . Name , corev1 .ResourceRequestsCPU , forge . DefaultDivisor )
364+ forge .AddEnvVariableFromResourcesToContainer (& expected , "CROWNLABS_CPU_LIMITS" , expected . Name , corev1 .ResourceLimitsCPU , forge . DefaultDivisor )
365365 Expect (actual .Env ).To (ConsistOf (expected .Env ))
366366 })
367367 })
@@ -370,7 +370,7 @@ var _ = Describe("Containers and Deployment spec forging", func() {
370370 var actual , expected corev1.Container
371371 JustBeforeEach (func () {
372372 expected = corev1.Container {}
373- actual = forge .WebsockifyContainer (& opts , & environment )
373+ actual = forge .WebsockifyContainer (& opts , & environment , & instance )
374374 })
375375
376376 It ("Should set the correct container name and image" , func () {
@@ -387,13 +387,17 @@ var _ = Describe("Containers and Deployment spec forging", func() {
387387 forge .AddTCPPortToContainer (& expected , "metrics" , 9090 )
388388 Expect (actual .Ports ).To (Equal (expected .Ports ))
389389 })
390- It ("Should set no environment variables" , func () {
391- Expect (actual .Env ).To (BeEmpty ())
392- })
393390 It ("Should set the readiness probe" , func () {
394391 forge .SetContainerReadinessTCPProbe (& expected , "gui" )
395392 Expect (actual .ReadinessProbe ).To (Equal (expected .ReadinessProbe ))
396393 })
394+ It ("Should set the env varibles" , func () {
395+ expected .Name = forge .WebsockifyName
396+ forge .AddEnvVariableFromFieldToContainer (& expected , forge .PodNameEnvName , "metadata.name" )
397+ forge .AddEnvVariableFromResourcesToContainer (& expected , forge .AppCPULimitsEnvName , environment .Name , corev1 .ResourceLimitsCPU , forge .MilliDivisor )
398+ forge .AddEnvVariableFromResourcesToContainer (& expected , forge .AppMEMLimitsEnvName , environment .Name , corev1 .ResourceLimitsMemory , forge .DefaultDivisor )
399+ Expect (actual .Env ).To (ConsistOf (expected .Env ))
400+ })
397401
398402 When ("the environment mode is Standard" , func () {
399403 BeforeEach (func () {
@@ -403,8 +407,13 @@ var _ = Describe("Containers and Deployment spec forging", func() {
403407 It ("Should set the correct arguments" , func () {
404408 Expect (actual .Args ).To (ConsistOf ([]string {
405409 fmt .Sprintf ("--http-addr=:%d" , forge .GUIPortNumber ),
410+ fmt .Sprintf ("--base-path=%s" , forge .IngressGUICleanPath (& instance )),
406411 fmt .Sprintf ("--metrics-addr=:%d" , forge .MetricsPortNumber ),
407412 "--show-controls=true" ,
413+ fmt .Sprintf ("--instmetrics-server-endpoint=%s" , opts .InstMetricsEndpoint ),
414+ fmt .Sprintf ("--pod-name=$(%s)" , forge .PodNameEnvName ),
415+ fmt .Sprintf ("--cpu-limit=$(%s)" , forge .AppCPULimitsEnvName ),
416+ fmt .Sprintf ("--memory-limit=$(%s)" , forge .AppMEMLimitsEnvName ),
408417 }))
409418 })
410419 })
@@ -417,8 +426,13 @@ var _ = Describe("Containers and Deployment spec forging", func() {
417426 It ("Should set the correct arguments" , func () {
418427 Expect (actual .Args ).To (ConsistOf ([]string {
419428 fmt .Sprintf ("--http-addr=:%d" , forge .GUIPortNumber ),
429+ fmt .Sprintf ("--base-path=%s" , forge .IngressGUICleanPath (& instance )),
420430 fmt .Sprintf ("--metrics-addr=:%d" , forge .MetricsPortNumber ),
421431 "--show-controls=false" ,
432+ fmt .Sprintf ("--instmetrics-server-endpoint=%s" , opts .InstMetricsEndpoint ),
433+ fmt .Sprintf ("--pod-name=$(%s)" , forge .PodNameEnvName ),
434+ fmt .Sprintf ("--cpu-limit=$(%s)" , forge .AppCPULimitsEnvName ),
435+ fmt .Sprintf ("--memory-limit=$(%s)" , forge .AppMEMLimitsEnvName ),
422436 }))
423437 })
424438 })
@@ -516,8 +530,8 @@ var _ = Describe("Containers and Deployment spec forging", func() {
516530 })
517531 It ("Should set the env varibles" , func () {
518532 expected .Name = envName
519- forge .AddEnvVariableFromResourcesToContainer (& expected , "CROWNLABS_CPU_REQUESTS" , corev1 .ResourceRequestsCPU )
520- forge .AddEnvVariableFromResourcesToContainer (& expected , "CROWNLABS_CPU_LIMITS" , corev1 .ResourceLimitsCPU )
533+ forge .AddEnvVariableFromResourcesToContainer (& expected , "CROWNLABS_CPU_REQUESTS" , expected . Name , corev1 .ResourceRequestsCPU , forge . DefaultDivisor )
534+ forge .AddEnvVariableFromResourcesToContainer (& expected , "CROWNLABS_CPU_LIMITS" , expected . Name , corev1 .ResourceLimitsCPU , forge . DefaultDivisor )
521535 Expect (actual .Env ).To (ConsistOf (expected .Env ))
522536 })
523537 })
@@ -779,7 +793,7 @@ var _ = Describe("Containers and Deployment spec forging", func() {
779793 Describe ("The forge.AddEnvVariableFromResourcesToContainer" , func () {
780794 JustBeforeEach (func () {
781795 container .Name = envName
782- forge .AddEnvVariableFromResourcesToContainer (& container , envVarName , corev1 .ResourceRequestsCPU )
796+ forge .AddEnvVariableFromResourcesToContainer (& container , envVarName , container . Name , corev1 .ResourceRequestsCPU , forge . DefaultDivisor )
783797 })
784798 It ("Should add a single env entry with the specified parameters" , func () {
785799 Expect (container .Env ).To (ConsistOf (corev1.EnvVar {
0 commit comments