Skip to content

Commit 858bbb5

Browse files
committed
[Feature] Finalization of 1.1.0 (#633)
1 parent be37992 commit 858bbb5

File tree

7 files changed

+68
-12
lines changed

7 files changed

+68
-12
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Change Log
22

33
## [master](https://github.com/arangodb/kube-arangodb/tree/master) (N/A)
4+
- Change NumberOfCores and MemoryOverride flags to be set to true by default
5+
- Enable by default and promote to Production Ready - JWT Rotation Feature, TLS Rotation Feature
46

57
## [1.0.8](https://github.com/arangodb/kube-arangodb/tree/1.0.8) (2020-09-10)
68
- Fix Volume rotation on AKS

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,9 @@ Feature-wise production readiness table:
7777
| Operator Single Mode | 1.0.4 | Any | Community, Enterprise | Production | False | --mode.single | Only 1 instance of Operator allowed in namespace when feature is enabled |
7878
| TLS SNI Support | 1.0.3 | >= 3.7.0 | Enterprise | Production | True | --deployment.feature.tls-sni | N/A |
7979
| TLS Runtime Rotation Support | 1.0.4 | > 3.7.0 | Enterprise | Alpha | False | --deployment.feature.tls-rotation | N/A |
80+
| TLS Runtime Rotation Support | 1.1.0 | > 3.7.0 | Enterprise | Production | True | --deployment.feature.tls-rotation | N/A |
8081
| JWT Rotation Support | 1.0.4 | > 3.7.0 | Enterprise | Alpha | False | --deployment.feature.jwt-rotation | N/A |
82+
| JWT Rotation Support | 1.1.0 | > 3.7.0 | Enterprise | Production | True | --deployment.feature.jwt-rotation | N/A |
8183
| Encryption Key Rotation Support | 1.0.4 | > 3.7.0 | Enterprise | Alpha | False | --deployment.feature.encryption-rotation | N/A |
8284
| Operator Maintenance Management Support | 1.0.7 | >= 3.5.0 | Community, Enterprise | Alpha | False | --deployment.feature.maintenance | N/A |
8385

pkg/apis/deployment/v1/server_group_spec.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ func (s ServerGroupSpec) GetProbesSpec() ServerGroupProbesSpec {
373373
// GetOverrideDetectedTotalMemory returns OverrideDetectedTotalMemory with default value (false)
374374
func (s ServerGroupSpec) GetOverrideDetectedTotalMemory() bool {
375375
if s.OverrideDetectedTotalMemory == nil {
376-
return false
376+
return true
377377
}
378378

379379
return *s.OverrideDetectedTotalMemory
@@ -382,7 +382,7 @@ func (s ServerGroupSpec) GetOverrideDetectedTotalMemory() bool {
382382
// OverrideDetectedNumberOfCores returns OverrideDetectedNumberOfCores with default value (false)
383383
func (s ServerGroupSpec) GetOverrideDetectedNumberOfCores() bool {
384384
if s.OverrideDetectedNumberOfCores == nil {
385-
return false
385+
return true
386386
}
387387

388388
return *s.OverrideDetectedNumberOfCores

pkg/deployment/deployment_core_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,7 @@ func TestEnsurePod_ArangoDB_Core(t *testing.T) {
367367
LivenessProbe: createTestLivenessProbe(httpProbe, false, "", k8sutil.ArangoPort),
368368
ImagePullPolicy: core.PullIfNotPresent,
369369
SecurityContext: securityContext.NewSecurityContext(),
370+
Env: withDefaultEnvs(t, resourcesUnfiltered),
370371
},
371372
},
372373
RestartPolicy: core.RestartPolicyNever,
@@ -423,6 +424,7 @@ func TestEnsurePod_ArangoDB_Core(t *testing.T) {
423424
LivenessProbe: createTestLivenessProbe(httpProbe, false, "", k8sutil.ArangoPort),
424425
ImagePullPolicy: core.PullIfNotPresent,
425426
SecurityContext: securityContext.NewSecurityContext(),
427+
Env: withDefaultEnvs(t, resourcesUnfiltered),
426428
},
427429
},
428430
RestartPolicy: core.RestartPolicyNever,
@@ -480,6 +482,7 @@ func TestEnsurePod_ArangoDB_Core(t *testing.T) {
480482
LivenessProbe: createTestLivenessProbe(httpProbe, false, "", k8sutil.ArangoPort),
481483
ImagePullPolicy: core.PullIfNotPresent,
482484
SecurityContext: securityContext.NewSecurityContext(),
485+
Env: withDefaultEnvs(t, resourcesUnfiltered),
483486
},
484487
},
485488
RestartPolicy: core.RestartPolicyNever,

pkg/deployment/deployment_pod_resources_test.go

Lines changed: 57 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,63 @@ import (
3535
core "k8s.io/api/core/v1"
3636
)
3737

38-
func resourceLimitAsEnv(t *testing.T, requirements core.ResourceRequirements) core.EnvVar {
38+
type envFunc func() []core.EnvVar
39+
40+
func withEnvs(t *testing.T, f ...envFunc) []core.EnvVar {
41+
var e []core.EnvVar
42+
43+
for _, c := range f {
44+
e = append(e, c()...)
45+
}
46+
47+
return e
48+
}
49+
50+
func withDefaultEnvs(t *testing.T, requirements core.ResourceRequirements, f ...envFunc) []core.EnvVar {
51+
var q []envFunc
52+
53+
q = append(q, resourceLimitAsEnv(t, requirements))
54+
55+
q = append(q, f...)
56+
57+
return withEnvs(t, q...)
58+
}
59+
60+
func resourceLimitAsEnv(t *testing.T, requirements core.ResourceRequirements) envFunc {
61+
return func() []core.EnvVar {
62+
var e []core.EnvVar
63+
if _, ok := requirements.Limits[core.ResourceMemory]; ok {
64+
e = append(e, resourceMemoryLimitAsEnv(t, requirements)()...)
65+
}
66+
if _, ok := requirements.Limits[core.ResourceCPU]; ok {
67+
e = append(e, resourceCPULimitAsEnv(t, requirements)()...)
68+
}
69+
return e
70+
}
71+
}
72+
73+
func resourceMemoryLimitAsEnv(t *testing.T, requirements core.ResourceRequirements) envFunc {
3974
value, ok := requirements.Limits[core.ResourceMemory]
4075
require.True(t, ok)
76+
return func() []core.EnvVar {
77+
return []core.EnvVar{{
78+
Name: resources.ArangoDBOverrideDetectedTotalMemoryEnv,
79+
Value: fmt.Sprintf("%d", value.Value()),
80+
},
81+
}
82+
}
83+
}
4184

42-
return core.EnvVar{
43-
Name: resources.ArangoDBOverrideDetectedTotalMemoryEnv,
44-
Value: fmt.Sprintf("%d", value.Value()),
85+
func resourceCPULimitAsEnv(t *testing.T, requirements core.ResourceRequirements) envFunc {
86+
value, ok := requirements.Limits[core.ResourceCPU]
87+
require.True(t, ok)
88+
89+
return func() []core.EnvVar {
90+
return []core.EnvVar{{
91+
Name: resources.ArangoDBOverrideDetectedNumberOfCoresEnv,
92+
Value: fmt.Sprintf("%d", value.Value()),
93+
},
94+
}
4595
}
4696
}
4797

@@ -91,6 +141,7 @@ func TestEnsurePod_ArangoDB_Resources(t *testing.T) {
91141
LivenessProbe: createTestLivenessProbe(httpProbe, false, "", k8sutil.ArangoPort),
92142
ImagePullPolicy: core.PullIfNotPresent,
93143
SecurityContext: securityContext.NewSecurityContext(),
144+
Env: withDefaultEnvs(t, resourcesUnfiltered),
94145
},
95146
},
96147
RestartPolicy: core.RestartPolicyNever,
@@ -112,7 +163,7 @@ func TestEnsurePod_ArangoDB_Resources(t *testing.T) {
112163
TLS: noTLS,
113164
DBServers: api.ServerGroupSpec{
114165
Resources: resourcesUnfiltered,
115-
OverrideDetectedTotalMemory: util.NewBool(true),
166+
OverrideDetectedTotalMemory: util.NewBool(false),
116167
},
117168
},
118169
},
@@ -145,9 +196,7 @@ func TestEnsurePod_ArangoDB_Resources(t *testing.T) {
145196
VolumeMounts: []core.VolumeMount{
146197
k8sutil.ArangodVolumeMount(),
147198
},
148-
Env: []core.EnvVar{
149-
resourceLimitAsEnv(t, resourcesUnfiltered),
150-
},
199+
Env: withEnvs(t, resourceCPULimitAsEnv(t, resourcesUnfiltered)),
151200
LivenessProbe: createTestLivenessProbe(httpProbe, false, "", k8sutil.ArangoPort),
152201
ImagePullPolicy: core.PullIfNotPresent,
153202
SecurityContext: securityContext.NewSecurityContext(),

pkg/deployment/features/jwt.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ var jwtRotation = &feature{
3131
description: "JWT Token rotation in runtime",
3232
version: "3.7.0",
3333
enterpriseRequired: true,
34-
enabledByDefault: false,
34+
enabledByDefault: true,
3535
}
3636

3737
func JWTRotation() Feature {

pkg/deployment/features/tls.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ var tlsRotation Feature = &feature{
3232
description: "TLS Keyfile rotation in runtime",
3333
version: "3.7.0",
3434
enterpriseRequired: true,
35-
enabledByDefault: false,
35+
enabledByDefault: true,
3636
}
3737

3838
func TLSRotation() Feature {

0 commit comments

Comments
 (0)