private Optional validateFlinkDeploymentConfig()

in flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/validation/DefaultValidator.java [192:223]


    private Optional<String> validateFlinkDeploymentConfig(Map<String, String> confMap) {
        if (confMap == null) {
            return Optional.empty();
        }
        Configuration conf = Configuration.fromMap(confMap);
        for (String key : FORBIDDEN_CONF_KEYS) {
            if (conf.containsKey(key)) {
                return Optional.of("Forbidden Flink config key: " + key);
            }
        }

        if (conf.get(KubernetesOperatorConfigOptions.DEPLOYMENT_ROLLBACK_ENABLED)
                && !HighAvailabilityMode.isHighAvailabilityModeActivated(conf)) {
            return Optional.of("HA must be enabled for rollback support.");
        }

        if (conf.get(KubernetesOperatorConfigOptions.OPERATOR_CLUSTER_HEALTH_CHECK_ENABLED)
                && !conf.get(
                        KubernetesOperatorConfigOptions.OPERATOR_JM_DEPLOYMENT_RECOVERY_ENABLED)) {
            return Optional.of(
                    "Deployment recovery ("
                            + KubernetesOperatorConfigOptions
                                    .OPERATOR_JM_DEPLOYMENT_RECOVERY_ENABLED
                                    .key()
                            + ") must be enabled for job health check ("
                            + KubernetesOperatorConfigOptions.OPERATOR_CLUSTER_HEALTH_CHECK_ENABLED
                                    .key()
                            + ") support.");
        }

        return Optional.empty();
    }