Skip to content

Commit e91813e

Browse files
authored
[Feature] Disable support for EOL ArangoDB 3.5 versions (#759)
1 parent a2a5553 commit e91813e

20 files changed

+97
-134
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## [master](https://github.com/arangodb/kube-arangodb/tree/master) (N/A)
44
- Split & Unify Lifecycle management functionality
5+
- Drop support for ArangoDB <= 3.5 (versions already EOL)
56

67
## [1.2.4](https://github.com/arangodb/kube-arangodb/tree/1.2.4) (2021-10-22)
78
- Replace `beta.kubernetes.io/arch` Pod label with `kubernetes.io/arch` using Silent Rotation

README.md

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -38,32 +38,32 @@ covers individual newer features separately.
3838

3939
| Platform | Kubernetes Version | ArangoDB Version | State | Remarks | Provider Remarks |
4040
|---------------------|--------------------|------------------|------------|-----------------------|------------------------------------|
41-
| Google GKE | 1.17 | >= 3.5.0 | Production | Don't use micro nodes | |
42-
| Google GKE | 1.18 | >= 3.5.0 | Production | Don't use micro nodes | |
43-
| Google GKE | 1.19 | >= 3.5.0 | Production | Don't use micro nodes | |
44-
| Google GKE | 1.20 | >= 3.5.0 | Production | Don't use micro nodes | |
45-
| Azure AKS | 1.18 | >= 3.5.0 | Production | | |
46-
| Azure AKS | 1.19 | >= 3.5.0 | Production | | |
47-
| Azure AKS | 1.20 | >= 3.5.0 | Production | | |
48-
| Amazon EKS | 1.16 | >= 3.5.0 | Production | | [Amazon EKS](./docs/providers/eks) |
49-
| Amazon EKS | 1.17 | >= 3.5.0 | Production | | [Amazon EKS](./docs/providers/eks) |
50-
| Amazon EKS | 1.18 | >= 3.5.0 | Production | | [Amazon EKS](./docs/providers/eks) |
51-
| Amazon EKS | 1.19 | >= 3.5.0 | Production | | [Amazon EKS](./docs/providers/eks) |
52-
| Amazon EKS | 1.20 | >= 3.5.0 | Production | | [Amazon EKS](./docs/providers/eks) |
53-
| IBM Cloud | 1.17 | >= 3.5.0 | Deprecated | | |
54-
| IBM Cloud | 1.18 | >= 3.5.0 | Production | | |
55-
| IBM Cloud | 1.19 | >= 3.5.0 | Production | | |
56-
| IBM Cloud | 1.20 | >= 3.5.0 | Production | | |
57-
| OpenShift | 3.11 | >= 3.5.0 | Production | | |
58-
| OpenShift | 4.2 | >= 3.5.0 | Production | | |
59-
| BareMetal (kubeadm) | 1.16 | >= 3.5.0 | Production | | |
60-
| BareMetal (kubeadm) | 1.17 | >= 3.5.0 | Production | | |
61-
| BareMetal (kubeadm) | 1.18 | >= 3.5.0 | Production | | |
62-
| BareMetal (kubeadm) | 1.19 | >= 3.5.0 | Production | | |
63-
| BareMetal (kubeadm) | 1.20 | >= 3.5.0 | Production | | |
64-
| BareMetal (kubeadm) | 1.21 | >= 3.5.0 | Production | | |
65-
| Minikube | 1.14+ | >= 3.5.0 | Devel Only | | |
66-
| Other | 1.14+ | >= 3.5.0 | Devel Only | | |
41+
| Google GKE | 1.17 | >= 3.6.0 | Production | Don't use micro nodes | |
42+
| Google GKE | 1.18 | >= 3.6.0 | Production | Don't use micro nodes | |
43+
| Google GKE | 1.19 | >= 3.6.0 | Production | Don't use micro nodes | |
44+
| Google GKE | 1.20 | >= 3.6.0 | Production | Don't use micro nodes | |
45+
| Azure AKS | 1.18 | >= 3.6.0 | Production | | |
46+
| Azure AKS | 1.19 | >= 3.6.0 | Production | | |
47+
| Azure AKS | 1.20 | >= 3.6.0 | Production | | |
48+
| Amazon EKS | 1.16 | >= 3.6.0 | Production | | [Amazon EKS](./docs/providers/eks) |
49+
| Amazon EKS | 1.17 | >= 3.6.0 | Production | | [Amazon EKS](./docs/providers/eks) |
50+
| Amazon EKS | 1.18 | >= 3.6.0 | Production | | [Amazon EKS](./docs/providers/eks) |
51+
| Amazon EKS | 1.19 | >= 3.6.0 | Production | | [Amazon EKS](./docs/providers/eks) |
52+
| Amazon EKS | 1.20 | >= 3.6.0 | Production | | [Amazon EKS](./docs/providers/eks) |
53+
| IBM Cloud | 1.17 | >= 3.6.0 | Deprecated | | |
54+
| IBM Cloud | 1.18 | >= 3.6.0 | Production | | |
55+
| IBM Cloud | 1.19 | >= 3.6.0 | Production | | |
56+
| IBM Cloud | 1.20 | >= 3.6.0 | Production | | |
57+
| OpenShift | 3.11 | >= 3.6.0 | Production | | |
58+
| OpenShift | 4.2 | >= 3.6.0 | Production | | |
59+
| BareMetal (kubeadm) | 1.16 | >= 3.6.0 | Production | | |
60+
| BareMetal (kubeadm) | 1.17 | >= 3.6.0 | Production | | |
61+
| BareMetal (kubeadm) | 1.18 | >= 3.6.0 | Production | | |
62+
| BareMetal (kubeadm) | 1.19 | >= 3.6.0 | Production | | |
63+
| BareMetal (kubeadm) | 1.20 | >= 3.6.0 | Production | | |
64+
| BareMetal (kubeadm) | 1.21 | >= 3.6.0 | Production | | |
65+
| Minikube | 1.14+ | >= 3.6.0 | Devel Only | | |
66+
| Other | 1.14+ | >= 3.6.0 | Devel Only | | |
6767

6868
Feature-wise production readiness table:
6969

@@ -90,12 +90,12 @@ Feature-wise production readiness table:
9090
| Encryption Key Rotation Support | 1.0.4 | > 3.7.0 | Enterprise | Alpha | False | --deployment.feature.encryption-rotation | N/A |
9191
| Encryption Key Rotation Support | 1.1.0 | > 3.7.0 | Enterprise | Production | True | --deployment.feature.encryption-rotation | N/A |
9292
| Encryption Key Rotation Support | 1.2.0 | > 3.7.0 | Enterprise | NotSupported | False | --deployment.feature.encryption-rotation | N/A |
93-
| Version Check | 1.1.4 | >= 3.6.0 | Community, Enterprise | Alpha | False | --deployment.feature.upgrade-version-check | N/A |
94-
| Operator Maintenance Management Support | 1.0.7 | >= 3.6.0 | Community, Enterprise | Alpha | False | --deployment.feature.maintenance | N/A |
95-
| Operator Maintenance Management Support | 1.2.0 | >= 3.6.0 | Community, Enterprise | Production | True | --deployment.feature.maintenance | N/A |
96-
| Operator Internal Metrics Exporter | 1.1.9 | >= 3.6.0 | Community, Enterprise | Alpha | False | --deployment.feature.metrics-exporter | N/A |
97-
| Operator Internal Metrics Exporter | 1.2.0 | >= 3.6.0 | Community, Enterprise | Production | True | --deployment.feature.metrics-exporter | N/A |
98-
| Operator Internal Metrics Exporter | 1.2.3 | >= 3.6.0 | Community, Enterprise | Production | True | --deployment.feature.metrics-exporter | It is always enabled |
93+
| Version Check | 1.1.4 | >= 3.7.0 | Community, Enterprise | Alpha | False | --deployment.feature.upgrade-version-check | N/A |
94+
| Operator Maintenance Management Support | 1.0.7 | >= 3.7.0 | Community, Enterprise | Alpha | False | --deployment.feature.maintenance | N/A |
95+
| Operator Maintenance Management Support | 1.2.0 | >= 3.7.0 | Community, Enterprise | Production | True | --deployment.feature.maintenance | N/A |
96+
| Operator Internal Metrics Exporter | 1.1.9 | >= 3.7.0 | Community, Enterprise | Alpha | False | --deployment.feature.metrics-exporter | N/A |
97+
| Operator Internal Metrics Exporter | 1.2.0 | >= 3.7.0 | Community, Enterprise | Production | True | --deployment.feature.metrics-exporter | N/A |
98+
| Operator Internal Metrics Exporter | 1.2.3 | >= 3.7.0 | Community, Enterprise | Production | True | --deployment.feature.metrics-exporter | It is always enabled |
9999
| Operator Ephemeral Volumes | 1.2.2 | >= 3.7.0 | Community, Enterprise | Alpha | False | --deployment.feature.ephemeral-volumes | N/A |
100100

101101
## Release notes for 0.3.16

pkg/deployment/deployment_suite_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ import (
6262
const (
6363
testNamespace = "default"
6464
testDeploymentName = "test"
65-
testVersion = "3.5.2"
65+
testVersion = "3.7.0"
6666
testImage = "arangodb/arangodb:" + testVersion
6767
testCASecretName = "testCA"
6868
testJWTSecretName = "testJWT"

pkg/deployment/features/maintenance.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//
22
// DISCLAIMER
33
//
4-
// Copyright 2016-2021 ArangoDB GmbH, Cologne, Germany
4+
// Copyright 2020-2021 ArangoDB GmbH, Cologne, Germany
55
//
66
// Licensed under the Apache License, Version 2.0 (the "License");
77
// you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020
// Author Adam Janikowski
21+
// Author Tomasz Mielech
2122
//
2223

2324
package features
@@ -29,7 +30,7 @@ func init() {
2930
var maintenance = &feature{
3031
name: "maintenance",
3132
description: "Database maintenance mode management",
32-
version: "3.5.0",
33+
version: "3.6.0",
3334
enterpriseRequired: false,
3435
enabledByDefault: true,
3536
}

pkg/deployment/features/upgrade.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020
// Author Adam Janikowski
21+
// Author Tomasz Mielech
2122
//
2223

2324
package features
@@ -29,7 +30,7 @@ func init() {
2930
var upgradeVersionCheck Feature = &feature{
3031
name: "upgrade-version-check",
3132
description: "Enable initContainer with pre version check",
32-
version: "3.5.0",
33+
version: "3.6.0",
3334
enterpriseRequired: false,
3435
enabledByDefault: false,
3536
}

pkg/deployment/pod/builder.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020
// Author Adam Janikowski
21+
// Author Tomasz Mielech
2122
//
2223

2324
package pod

pkg/deployment/pod/jwt.go

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020
// Author Adam Janikowski
21+
// Author Tomasz Mielech
2122
//
2223

2324
package pod
@@ -45,17 +46,6 @@ func IsAuthenticated(i Input) bool {
4546
return i.Deployment.IsAuthenticated()
4647
}
4748

48-
func VersionHasJWTSecretKeyfile(v driver.Version) bool {
49-
if v.CompareTo("3.3.22") >= 0 && v.CompareTo("3.4.0") < 0 {
50-
return true
51-
}
52-
if v.CompareTo("3.4.2") >= 0 {
53-
return true
54-
}
55-
56-
return false
57-
}
58-
5949
func JWTSecretFolder(name string) string {
6050
return fmt.Sprintf("%s-jwt-folder", name)
6151
}
@@ -71,15 +61,6 @@ func JWT() Builder {
7161
type jwt struct{}
7262

7363
func (e jwt) Envs(i Input) []core.EnvVar {
74-
if !IsAuthenticated(i) {
75-
return nil
76-
}
77-
78-
if !VersionHasJWTSecretKeyfile(i.Version) {
79-
return []core.EnvVar{k8sutil.CreateEnvSecretKeySelector(constants.EnvArangodJWTSecret,
80-
i.Deployment.Authentication.GetJWTSecretName(), constants.SecretKeyToken)}
81-
}
82-
8364
return nil
8465
}
8566

@@ -95,11 +76,9 @@ func (e jwt) Args(i Input) k8sutil.OptionPairs {
9576

9677
if VersionHasJWTSecretKeyfolder(i.Version, i.Enterprise) {
9778
options.Add("--server.jwt-secret-folder", k8sutil.ClusterJWTSecretVolumeMountDir)
98-
} else if VersionHasJWTSecretKeyfile(i.Version) {
79+
} else {
9980
keyPath := filepath.Join(k8sutil.ClusterJWTSecretVolumeMountDir, constants.SecretKeyToken)
10081
options.Add("--server.jwt-secret-keyfile", keyPath)
101-
} else {
102-
options.Addf("--server.jwt-secret", "$(%s)", constants.EnvArangodJWTSecret)
10382
}
10483

10584
return options

pkg/deployment/pod/sni.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020
// Author Adam Janikowski
21+
// Author Tomasz Mielech
2122
//
2223

2324
package pod

pkg/deployment/pod/tls.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020
// Author Adam Janikowski
21+
// Author Tomasz Mielech
2122
//
2223

2324
package pod

pkg/deployment/pod/upgrade.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// Copyright holder is ArangoDB GmbH, Cologne, Germany
1919
//
2020
// Author Adam Janikowski
21+
// Author Tomasz Mielech
2122
//
2223

2324
package pod

0 commit comments

Comments
 (0)