From 8773870b350065bedf2b37c80a2e2ab8fe750643 Mon Sep 17 00:00:00 2001 From: Gwenneg Lepage Date: Sun, 17 Mar 2024 18:59:53 +0100 Subject: [PATCH] RHCLOUD-31503 Log Unleash toggles changes in all apps --- .../config/AggregatorConfig.java | 16 +++++-- .../notifications/config/BackendConfig.java | 37 ++++++++++----- .../unleash/ToggleChangedLogger.java | 13 ++++-- .../notifications/unleash/ToggleRegistry.java | 45 ++++++++++++++++++ .../connector/http/HttpConnectorConfig.java | 19 +++++--- .../connector/ConnectorConfig.java | 4 -- .../notifications/config/EngineConfig.java | 46 +++++++++++-------- .../config/EngineToggleChangedLogger.java | 31 ------------- .../config/RecipientsResolverConfig.java | 23 +++++++--- 9 files changed, 148 insertions(+), 86 deletions(-) create mode 100644 common-unleash/src/main/java/com/redhat/cloud/notifications/unleash/ToggleRegistry.java delete mode 100644 engine/src/main/java/com/redhat/cloud/notifications/config/EngineToggleChangedLogger.java diff --git a/aggregator/src/main/java/com/redhat/cloud/notifications/config/AggregatorConfig.java b/aggregator/src/main/java/com/redhat/cloud/notifications/config/AggregatorConfig.java index a2fc4d46a3..306014c85f 100644 --- a/aggregator/src/main/java/com/redhat/cloud/notifications/config/AggregatorConfig.java +++ b/aggregator/src/main/java/com/redhat/cloud/notifications/config/AggregatorConfig.java @@ -1,7 +1,9 @@ package com.redhat.cloud.notifications.config; +import com.redhat.cloud.notifications.unleash.ToggleRegistry; import io.getunleash.Unleash; import io.quarkus.logging.Log; +import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Observes; import jakarta.enterprise.event.Startup; @@ -22,7 +24,7 @@ public class AggregatorConfig { /* * Unleash configuration */ - private static final String SINGLE_DAILY_DIGEST = toggleName("single-daily-digest"); + private String singleDailyDigestToggle; private static String toggleName(String feature) { return String.format("notifications-aggregator.%s.enabled", feature); @@ -36,13 +38,21 @@ private static String toggleName(String feature) { @Deprecated(forRemoval = true, since = "To be removed when we're done migrating to Unleash in all environments") boolean singleDailyDigestEnabled; + @Inject + ToggleRegistry toggleRegistry; + @Inject Unleash unleash; + @PostConstruct + void postConstruct() { + singleDailyDigestToggle = toggleRegistry.register("single-daily-digest", true); + } + void logConfigAtStartup(@Observes Startup event) { Map config = new TreeMap<>(); - config.put(SINGLE_DAILY_DIGEST, isSingleDailyDigestEnabled()); + config.put(singleDailyDigestToggle, isSingleDailyDigestEnabled()); config.put(UNLEASH, unleashEnabled); Log.info("=== Startup configuration ==="); @@ -53,7 +63,7 @@ void logConfigAtStartup(@Observes Startup event) { public boolean isSingleDailyDigestEnabled() { if (unleashEnabled) { - return unleash.isEnabled(SINGLE_DAILY_DIGEST, false); + return unleash.isEnabled(singleDailyDigestToggle, false); } else { return singleDailyDigestEnabled; } diff --git a/backend/src/main/java/com/redhat/cloud/notifications/config/BackendConfig.java b/backend/src/main/java/com/redhat/cloud/notifications/config/BackendConfig.java index 99693e27b0..07bb21dccc 100644 --- a/backend/src/main/java/com/redhat/cloud/notifications/config/BackendConfig.java +++ b/backend/src/main/java/com/redhat/cloud/notifications/config/BackendConfig.java @@ -1,7 +1,9 @@ package com.redhat.cloud.notifications.config; +import com.redhat.cloud.notifications.unleash.ToggleRegistry; import io.getunleash.Unleash; import io.quarkus.logging.Log; +import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Observes; import jakarta.enterprise.event.Startup; @@ -25,10 +27,10 @@ public class BackendConfig { /* * Unleash configuration */ - private static final String DRAWER = toggleName("drawer"); - private static final String FORBID_SLACK_CHANNEL_USAGE = toggleName("forbid-slack-channel-usage"); - private static final String UNIQUE_BG_NAME = toggleName("unique-bg-name"); - private static final String UNIQUE_INTEGRATION_NAME = toggleName("unique-integration-name"); + private String drawerToggle; + private String forbidSlackChannelUsageToggle; + private String uniqueBgNameToggle; + private String uniqueIntegrationNameToggle; private static String toggleName(String feature) { return String.format("notifications-backend.%s.enabled", feature); @@ -66,19 +68,30 @@ private static String toggleName(String feature) { @ConfigProperty(name = INSTANT_EMAILS, defaultValue = "false") boolean instantEmailsEnabled; + @Inject + ToggleRegistry toggleRegistry; + @Inject Unleash unleash; + @PostConstruct + void postConstruct() { + drawerToggle = toggleRegistry.register("drawer", true); + forbidSlackChannelUsageToggle = toggleRegistry.register("forbid-slack-channel-usage", true); + uniqueBgNameToggle = toggleRegistry.register("unique-bg-name", true); + uniqueIntegrationNameToggle = toggleRegistry.register("unique-integration-name", true); + } + void logConfigAtStartup(@Observes Startup event) { Map config = new TreeMap<>(); config.put(DEFAULT_TEMPLATE, isDefaultTemplateEnabled()); - config.put(DRAWER, isDrawerEnabled()); + config.put(drawerToggle, isDrawerEnabled()); config.put(EMAILS_ONLY_MODE, isEmailsOnlyModeEnabled()); config.put(INSTANT_EMAILS, isInstantEmailsEnabled()); - config.put(FORBID_SLACK_CHANNEL_USAGE, isForbidSlackChannelUsage()); - config.put(UNIQUE_BG_NAME, isUniqueBgNameEnabled()); - config.put(UNIQUE_INTEGRATION_NAME, isUniqueIntegrationNameEnabled()); + config.put(forbidSlackChannelUsageToggle, isForbidSlackChannelUsage()); + config.put(uniqueBgNameToggle, isUniqueBgNameEnabled()); + config.put(uniqueIntegrationNameToggle, isUniqueIntegrationNameEnabled()); config.put(UNLEASH, unleashEnabled); Log.info("=== Startup configuration ==="); @@ -93,7 +106,7 @@ public boolean isDefaultTemplateEnabled() { public boolean isDrawerEnabled() { if (unleashEnabled) { - return unleash.isEnabled(DRAWER, false); + return unleash.isEnabled(drawerToggle, false); } else { return drawerEnabled; } @@ -105,7 +118,7 @@ public boolean isEmailsOnlyModeEnabled() { public boolean isForbidSlackChannelUsage() { if (unleashEnabled) { - return unleash.isEnabled(FORBID_SLACK_CHANNEL_USAGE, false); + return unleash.isEnabled(forbidSlackChannelUsageToggle, false); } else { return slackForbidChannelUsageEnabled; } @@ -117,7 +130,7 @@ public boolean isInstantEmailsEnabled() { public boolean isUniqueBgNameEnabled() { if (unleashEnabled) { - return unleash.isEnabled(UNIQUE_BG_NAME, false); + return unleash.isEnabled(uniqueBgNameToggle, false); } else { return enforceBehaviorGroupNameUnicity; } @@ -125,7 +138,7 @@ public boolean isUniqueBgNameEnabled() { public boolean isUniqueIntegrationNameEnabled() { if (unleashEnabled) { - return unleash.isEnabled(UNIQUE_INTEGRATION_NAME, false); + return unleash.isEnabled(uniqueIntegrationNameToggle, false); } else { return enforceIntegrationNameUnicity; } diff --git a/common-unleash/src/main/java/com/redhat/cloud/notifications/unleash/ToggleChangedLogger.java b/common-unleash/src/main/java/com/redhat/cloud/notifications/unleash/ToggleChangedLogger.java index 3f2320d1ef..4f1cd89151 100644 --- a/common-unleash/src/main/java/com/redhat/cloud/notifications/unleash/ToggleChangedLogger.java +++ b/common-unleash/src/main/java/com/redhat/cloud/notifications/unleash/ToggleChangedLogger.java @@ -3,23 +3,28 @@ import io.getunleash.FeatureToggle; import io.getunleash.repository.ToggleCollection; import io.quarkus.logging.Log; +import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Observes; +import jakarta.inject.Inject; import org.eclipse.microprofile.config.inject.ConfigProperty; import java.util.HashMap; import java.util.Map; -import java.util.Set; -public abstract class ToggleChangedLogger { +@ApplicationScoped +public class ToggleChangedLogger { @ConfigProperty(name = "notifications.unleash.toggle-changed-logger.enabled", defaultValue = "true") boolean enabled; + @Inject + ToggleRegistry toggleRegistry; + private final Map toggleValues = new HashMap<>(); void process(@Observes ToggleCollection toggleCollection) { if (enabled) { - for (String toggleName : getLoggedToggles()) { + for (String toggleName : toggleRegistry.getLoggedToggles()) { FeatureToggle toggle = toggleCollection.getToggle(toggleName); if (toggle != null) { Boolean toggleEnabled = toggleValues.put(toggle.getName(), toggle.isEnabled()); @@ -32,6 +37,4 @@ void process(@Observes ToggleCollection toggleCollection) { } } } - - protected abstract Set getLoggedToggles(); } diff --git a/common-unleash/src/main/java/com/redhat/cloud/notifications/unleash/ToggleRegistry.java b/common-unleash/src/main/java/com/redhat/cloud/notifications/unleash/ToggleRegistry.java new file mode 100644 index 0000000000..fbef58ca6d --- /dev/null +++ b/common-unleash/src/main/java/com/redhat/cloud/notifications/unleash/ToggleRegistry.java @@ -0,0 +1,45 @@ +package com.redhat.cloud.notifications.unleash; + +import io.quarkus.logging.Log; +import io.quarkus.runtime.ApplicationConfig; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + +import java.util.HashSet; +import java.util.Set; + +@ApplicationScoped +public class ToggleRegistry { + + private static final String DEFAULT_APP_NAME = "notifications-default-app-name"; + + @Inject + ApplicationConfig applicationConfig; + + private final Set loggedToggles = new HashSet<>(); + + public String register(String feature, boolean logChanges) { + + if (applicationConfig == null) { + throw new IllegalStateException("This method must be called after CDI is done initializing"); + } + + String appName = applicationConfig.name.orElseGet(() -> { + // This should only happen when tests are executed. + Log.warnf("Application name not found in the Quarkus config, defaulting to %s", DEFAULT_APP_NAME); + return DEFAULT_APP_NAME; + }); + + String toggleName = String.format("%s.%s.enabled", appName, feature); + + if (logChanges) { + loggedToggles.add(toggleName); + } + + return toggleName; + } + + public Set getLoggedToggles() { + return loggedToggles; + } +} diff --git a/connector-common-http/src/main/java/com/redhat/cloud/notifications/connector/http/HttpConnectorConfig.java b/connector-common-http/src/main/java/com/redhat/cloud/notifications/connector/http/HttpConnectorConfig.java index fc8cb6ff63..d7141e38aa 100644 --- a/connector-common-http/src/main/java/com/redhat/cloud/notifications/connector/http/HttpConnectorConfig.java +++ b/connector-common-http/src/main/java/com/redhat/cloud/notifications/connector/http/HttpConnectorConfig.java @@ -1,8 +1,10 @@ package com.redhat.cloud.notifications.connector.http; import com.redhat.cloud.notifications.connector.ConnectorConfig; +import com.redhat.cloud.notifications.unleash.ToggleRegistry; import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; import org.eclipse.microprofile.config.inject.ConfigProperty; import java.util.List; @@ -26,6 +28,11 @@ public class HttpConnectorConfig extends ConnectorConfig { private static final String SERVER_ERROR_LOG_LEVEL = "notifications.connector.http.server-error.log-level"; private static final String SOCKET_TIMEOUT_MS = "notifications.connector.http.socket-timeout-ms"; + /* + * Unleash configuration + */ + private String disableFaultyEndpointsToggle; + @ConfigProperty(name = CLIENT_ERROR_LOG_LEVEL, defaultValue = "DEBUG") Level clientErrorLogLevel; @@ -54,14 +61,12 @@ public class HttpConnectorConfig extends ConnectorConfig { @ConfigProperty(name = SOCKET_TIMEOUT_MS, defaultValue = "2500") int httpSocketTimeout; - /* - * Unleash configuration - */ - private String disableFaultyEndpointsToggleName; + @Inject + ToggleRegistry toggleRegistry; @PostConstruct void postConstruct() { - disableFaultyEndpointsToggleName = toggleName("disable-faulty-endpoints"); + disableFaultyEndpointsToggle = toggleRegistry.register("disable-faulty-endpoints", true); } @Override @@ -71,7 +76,7 @@ protected Map getLoggedConfiguration() { config.put(COMPONENTS, httpComponents); config.put(CONNECT_TIMEOUT_MS, httpConnectTimeout); config.put(CONNECTIONS_PER_ROUTE, httpConnectionsPerRoute); - config.put(disableFaultyEndpointsToggleName, isDisableFaultyEndpoints()); + config.put(disableFaultyEndpointsToggle, isDisableFaultyEndpoints()); config.put(FOLLOW_REDIRECTS, followRedirects); config.put(MAX_TOTAL_CONNECTIONS, httpMaxTotalConnections); config.put(SERVER_ERROR_LOG_LEVEL, serverErrorLogLevel); @@ -97,7 +102,7 @@ public int getHttpConnectionsPerRoute() { public boolean isDisableFaultyEndpoints() { if (unleashEnabled) { - return unleash.isEnabled(disableFaultyEndpointsToggleName, true); + return unleash.isEnabled(disableFaultyEndpointsToggle, true); } else { return disableFaultyEndpoints; } diff --git a/connector-common/src/main/java/com/redhat/cloud/notifications/connector/ConnectorConfig.java b/connector-common/src/main/java/com/redhat/cloud/notifications/connector/ConnectorConfig.java index 828133ff49..5fe8185a7c 100644 --- a/connector-common/src/main/java/com/redhat/cloud/notifications/connector/ConnectorConfig.java +++ b/connector-common/src/main/java/com/redhat/cloud/notifications/connector/ConnectorConfig.java @@ -95,10 +95,6 @@ public void log() { }); } - protected String toggleName(String feature) { - return String.format("notifications-connector-%s.%s.enabled", getConnectorName(), feature); - } - protected Map getLoggedConfiguration() { Map config = new TreeMap<>(); config.put(ENDPOINT_CACHE_MAX_SIZE, endpointCacheMaxSize); diff --git a/engine/src/main/java/com/redhat/cloud/notifications/config/EngineConfig.java b/engine/src/main/java/com/redhat/cloud/notifications/config/EngineConfig.java index 8e8e04629c..c98d3ffe7b 100644 --- a/engine/src/main/java/com/redhat/cloud/notifications/config/EngineConfig.java +++ b/engine/src/main/java/com/redhat/cloud/notifications/config/EngineConfig.java @@ -1,8 +1,10 @@ package com.redhat.cloud.notifications.config; +import com.redhat.cloud.notifications.unleash.ToggleRegistry; import io.getunleash.Unleash; import io.getunleash.UnleashContext; import io.quarkus.logging.Log; +import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Observes; import jakarta.enterprise.event.Startup; @@ -26,15 +28,11 @@ public class EngineConfig { /* * Unleash configuration */ - public static final String AGGREGATION_WITH_RECIPIENTS_RESOLVER = toggleName("aggregation-with-recipients-resolver"); - public static final String ASYNC_AGGREGATION = toggleName("async-aggregation"); - public static final String DRAWER = toggleName("drawer"); - public static final String HCC_EMAIL_SENDER_NAME = toggleName("hcc-email-sender-name"); - public static final String KAFKA_CONSUMED_TOTAL_CHECKER = toggleName("kafka-consumed-total-checker"); - - private static String toggleName(String feature) { - return String.format("notifications-engine.%s.enabled", feature); - } + private String aggregationWithRecipientsResolverToggle; + private String asyncAggregationToggle; + private String drawerToggle; + private String hccEmailSenderNameToggle; + private String kafkaConsumedTotalCheckerToggle; @ConfigProperty(name = UNLEASH, defaultValue = "false") @Deprecated(forRemoval = true, since = "To be removed when we're done migrating to Unleash in all environments") @@ -80,18 +78,30 @@ private static String toggleName(String feature) { @ConfigProperty(name = SECURED_EMAIL_TEMPLATES, defaultValue = "false") boolean useSecuredEmailTemplates; + @Inject + ToggleRegistry toggleRegistry; + @Inject Unleash unleash; + @PostConstruct + void postConstruct() { + aggregationWithRecipientsResolverToggle = toggleRegistry.register("aggregation-with-recipients-resolver", true); + asyncAggregationToggle = toggleRegistry.register("async-aggregation", true); + drawerToggle = toggleRegistry.register("drawer", true); + hccEmailSenderNameToggle = toggleRegistry.register("hcc-email-sender-name", true); + kafkaConsumedTotalCheckerToggle = toggleRegistry.register("kafka-consumed-total-checker", true); + } + void logConfigAtStartup(@Observes Startup event) { Map config = new TreeMap<>(); - config.put(AGGREGATION_WITH_RECIPIENTS_RESOLVER, isAggregationWithRecipientsResolverEnabled()); - config.put(ASYNC_AGGREGATION, isAsyncAggregationEnabled()); + config.put(aggregationWithRecipientsResolverToggle, isAggregationWithRecipientsResolverEnabled()); + config.put(asyncAggregationToggle, isAsyncAggregationEnabled()); config.put(DEFAULT_TEMPLATE, isDefaultTemplateEnabled()); - config.put(DRAWER, isDrawerEnabled()); + config.put(drawerToggle, isDrawerEnabled()); config.put(EMAILS_ONLY_MODE, isEmailsOnlyModeEnabled()); - config.put(KAFKA_CONSUMED_TOTAL_CHECKER, isKafkaConsumedTotalCheckerEnabled()); + config.put(kafkaConsumedTotalCheckerToggle, isKafkaConsumedTotalCheckerEnabled()); config.put(SECURED_EMAIL_TEMPLATES, isSecuredEmailTemplatesEnabled()); config.put(UNLEASH, unleashEnabled); @@ -103,7 +113,7 @@ void logConfigAtStartup(@Observes Startup event) { public boolean isAggregationWithRecipientsResolverEnabled() { if (unleashEnabled) { - return unleash.isEnabled(AGGREGATION_WITH_RECIPIENTS_RESOLVER, false); + return unleash.isEnabled(aggregationWithRecipientsResolverToggle, false); } else { return useRecipientsResolverClowdappForDailyDigestEnabled; } @@ -111,7 +121,7 @@ public boolean isAggregationWithRecipientsResolverEnabled() { public boolean isAsyncAggregationEnabled() { if (unleashEnabled) { - return unleash.isEnabled(ASYNC_AGGREGATION, false); + return unleash.isEnabled(asyncAggregationToggle, false); } else { return asyncAggregation; } @@ -123,7 +133,7 @@ public boolean isDefaultTemplateEnabled() { public boolean isDrawerEnabled() { if (unleashEnabled) { - return unleash.isEnabled(DRAWER, false); + return unleash.isEnabled(drawerToggle, false); } else { return drawerEnabled; } @@ -136,7 +146,7 @@ public boolean isEmailsOnlyModeEnabled() { public boolean isHccEmailSenderNameEnabled(String orgId) { if (unleashEnabled) { UnleashContext unleashContext = UnleashContext.builder().addProperty("orgId", orgId).build(); - return unleash.isEnabled(HCC_EMAIL_SENDER_NAME, unleashContext, false); + return unleash.isEnabled(hccEmailSenderNameToggle, unleashContext, false); } else { return hccEmailSenderNameEnabled; } @@ -144,7 +154,7 @@ public boolean isHccEmailSenderNameEnabled(String orgId) { public boolean isKafkaConsumedTotalCheckerEnabled() { if (unleashEnabled) { - return unleash.isEnabled(KAFKA_CONSUMED_TOTAL_CHECKER, false); + return unleash.isEnabled(kafkaConsumedTotalCheckerToggle, false); } else { return kafkaConsumedTotalCheckerEnabled; } diff --git a/engine/src/main/java/com/redhat/cloud/notifications/config/EngineToggleChangedLogger.java b/engine/src/main/java/com/redhat/cloud/notifications/config/EngineToggleChangedLogger.java deleted file mode 100644 index 0ee5e3f58e..0000000000 --- a/engine/src/main/java/com/redhat/cloud/notifications/config/EngineToggleChangedLogger.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.redhat.cloud.notifications.config; - -import com.redhat.cloud.notifications.unleash.ToggleChangedLogger; -import io.quarkus.arc.Unremovable; -import jakarta.enterprise.context.ApplicationScoped; - -import java.util.Set; - -import static com.redhat.cloud.notifications.config.EngineConfig.AGGREGATION_WITH_RECIPIENTS_RESOLVER; -import static com.redhat.cloud.notifications.config.EngineConfig.ASYNC_AGGREGATION; -import static com.redhat.cloud.notifications.config.EngineConfig.DRAWER; -import static com.redhat.cloud.notifications.config.EngineConfig.HCC_EMAIL_SENDER_NAME; -import static com.redhat.cloud.notifications.config.EngineConfig.KAFKA_CONSUMED_TOTAL_CHECKER; - -@ApplicationScoped -@Unremovable -public class EngineToggleChangedLogger extends ToggleChangedLogger { - - private static final Set LOGGED_TOGGLES = Set.of( - AGGREGATION_WITH_RECIPIENTS_RESOLVER, - ASYNC_AGGREGATION, - DRAWER, - HCC_EMAIL_SENDER_NAME, - KAFKA_CONSUMED_TOTAL_CHECKER - ); - - @Override - protected Set getLoggedToggles() { - return LOGGED_TOGGLES; - } -} diff --git a/recipients-resolver/src/main/java/com/redhat/cloud/notifications/recipients/config/RecipientsResolverConfig.java b/recipients-resolver/src/main/java/com/redhat/cloud/notifications/recipients/config/RecipientsResolverConfig.java index e27a3798a2..a1c0cba551 100644 --- a/recipients-resolver/src/main/java/com/redhat/cloud/notifications/recipients/config/RecipientsResolverConfig.java +++ b/recipients-resolver/src/main/java/com/redhat/cloud/notifications/recipients/config/RecipientsResolverConfig.java @@ -1,7 +1,9 @@ package com.redhat.cloud.notifications.recipients.config; +import com.redhat.cloud.notifications.unleash.ToggleRegistry; import io.getunleash.Unleash; import io.quarkus.logging.Log; +import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.event.Observes; import jakarta.enterprise.event.Startup; @@ -28,8 +30,8 @@ public class RecipientsResolverConfig { /* * Unleash configuration */ - private static final String FETCH_USERS_WITH_MBOP = toggleName("fetch-users-with-mbop"); - private static final String FETCH_USERS_WITH_RBAC = toggleName("fetch-users-with-rbac"); + private String fetchUsersWithMbopToggle; + private String fetchUsersWithRbacToggle; private static String toggleName(String feature) { return String.format("notifications-recipients-resolver.%s.enabled", feature); @@ -71,14 +73,23 @@ private static String toggleName(String feature) { @ConfigProperty(name = MBOP_ENV, defaultValue = "na") String mbopEnv; + @Inject + ToggleRegistry toggleRegistry; + @Inject Unleash unleash; + @PostConstruct + void postConstruct() { + fetchUsersWithMbopToggle = toggleRegistry.register("fetch-users-with-mbop", true); + fetchUsersWithRbacToggle = toggleRegistry.register("fetch-users-with-rbac", true); + } + void logConfigAtStartup(@Observes Startup event) { Map config = new TreeMap<>(); - config.put(FETCH_USERS_WITH_MBOP, isFetchUsersWithMbopEnabled()); - config.put(FETCH_USERS_WITH_RBAC, isFetchUsersWithRbacEnabled()); + config.put(fetchUsersWithMbopToggle, isFetchUsersWithMbopEnabled()); + config.put(fetchUsersWithRbacToggle, isFetchUsersWithRbacEnabled()); config.put(MAX_RESULTS_PER_PAGE, getMaxResultsPerPage()); config.put(MBOP_ENV, getMbopEnv()); config.put(RETRY_INITIAL_BACKOFF, getInitialRetryBackoff()); @@ -95,7 +106,7 @@ void logConfigAtStartup(@Observes Startup event) { public boolean isFetchUsersWithMbopEnabled() { if (unleashEnabled) { - return unleash.isEnabled(FETCH_USERS_WITH_MBOP, false); + return unleash.isEnabled(fetchUsersWithMbopToggle, false); } else { return fetchUsersWithMbopEnabled; } @@ -103,7 +114,7 @@ public boolean isFetchUsersWithMbopEnabled() { public boolean isFetchUsersWithRbacEnabled() { if (unleashEnabled) { - return unleash.isEnabled(FETCH_USERS_WITH_RBAC, false); + return unleash.isEnabled(fetchUsersWithRbacToggle, false); } else { return fetchUsersWithRbacEnabled; }