async function run()

in cloudrun-malware-scanner/server.ts [196:222]


async function run(): Promise<void> {
  let projectId = process.env.PROJECT_ID;
  if (!projectId) {
    // Metrics needs project ID, so get it from GoogleAuth
    projectId = await new GoogleAuth().getProjectId();
  }
  metrics.init(projectId);

  const storage = new Storage({
    userAgent: `cloud-solutions/${packageName}-usage-v${packageVersion}`,
  });

  let configFile;
  if (process.argv.length >= 3) {
    configFile = process.argv[2];
  } else {
    configFile = './config.json';
  }

  const config = await readAndVerifyConfig(configFile, storage);

  const scanner = new Scanner(config, ClamdClient, storage, metrics);

  await waitForClamD(scanner);

  new Server(scanner, config, parseInt(process.env.PORT || '8080')).start();
}