@Override
    public Config loadConfig(OptionSet options) {
      Map<String, String> submissionConfig = new HashMap<>();

      if (options.has(configPathOpt)) {
        ConfigLoader loader = new PropertiesConfigLoader(options.valueOf(configPathOpt));
        submissionConfig.putAll(loader.getConfig());
      }

      submissionConfig.putAll(getConfigOverrides(options));

      return new MapConfig(submissionConfig);
    }
This class contains the main() method used by run-app.sh.
It creates the {@link ApplicationRunner} based on the config, and then run the application.
samza-core/src/main/java/org/apache/samza/runtime/ApplicationRunnerMain.java