StaticConfig staticConfig()

in src/main/java/com/google/cloud/run/kafkascaler/ConfigurationProvider.java [130:154]


  StaticConfig staticConfig() throws IOException {
    ImmutableSet<String> missingEnvVars =
        getMissingEnvVars(ImmutableSet.of("KAFKA_TOPIC_ID", "CONSUMER_GROUP_ID"));

    if (!missingEnvVars.isEmpty()) {
      throw new IllegalArgumentException(
          "Environment variables "
              + String.join(",", missingEnvVars)
              + " are required but not set.");
    }
    String topicName = envProvider.getEnv("KAFKA_TOPIC_ID");
    String consumerGroupId = envProvider.getEnv("CONSUMER_GROUP_ID");

    boolean useMinInstances = USE_MIN_INSTANCES_DEFAULT;
    if (!isNullOrEmpty(envProvider.getEnv("USE_MIN_INSTANCES"))) {
      useMinInstances = Boolean.parseBoolean(envProvider.getEnv("USE_MIN_INSTANCES"));
    }

    boolean outputScalerMetrics = OUTPUT_SCALER_METRICS_DEFAULT;
    if (!isNullOrEmpty(envProvider.getEnv("OUTPUT_SCALER_METRICS"))) {
      outputScalerMetrics = Boolean.parseBoolean(envProvider.getEnv("OUTPUT_SCALER_METRICS"));
    }

    return new StaticConfig(topicName, consumerGroupId, useMinInstances, outputScalerMetrics);
  }