Skip to content

Commit f34fe3f

Browse files
committed
fix: Security upgrade SGDbOps can not be created if Postgres version is not final
1 parent 089dc1f commit f34fe3f

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

stackgres-k8s/src/operator/src/main/java/io/stackgres/operator/validation/dbops/DbOpsSecurityUpgradeValidator.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.Optional;
1111

1212
import io.stackgres.common.ErrorType;
13+
import io.stackgres.common.StackGresVersion;
1314
import io.stackgres.common.crd.sgcluster.StackGresCluster;
1415
import io.stackgres.common.crd.sgdbops.StackGresDbOps;
1516
import io.stackgres.common.resource.CustomResourceFinder;
@@ -48,14 +49,12 @@ public void validate(StackGresDbOpsReview review) throws ValidationFailed {
4849
Optional<String> foundVersion = getPostgresFlavorComponent(cluster)
4950
.get(cluster)
5051
.findVersion(cluster.getSpec().getPostgres().getVersion());
51-
if (foundVersion.isEmpty()) {
52-
return;
53-
}
54-
String version = foundVersion.get();
55-
if (getPostgresFlavorComponent(cluster)
56-
.get(cluster)
52+
if (foundVersion.isEmpty()
53+
|| getPostgresFlavorComponent(cluster)
54+
.getOrThrow(StackGresVersion.LATEST)
5755
.streamOrderedVersions()
58-
.noneMatch(version::equals)) {
56+
.noneMatch(foundVersion.get()::equals)) {
57+
final String version = foundVersion.orElse(cluster.getSpec().getPostgres().getVersion());
5958
fail("Major version upgrade must be performed on SGCluster before performing"
6059
+ " the upgrade since Postgres version " + version
6160
+ " will not be supported after the upgrade is completed");

0 commit comments

Comments
 (0)