export async function getConfig()

in packages/repocop/src/config.ts [67:97]


export async function getConfig(): Promise<Config> {
	const queryLogging = (process.env['QUERY_LOGGING'] ?? 'false') === 'true';

	const stage = getEnvOrThrow('STAGE');

	const databaseConfig: DatabaseConfig =
		stage === 'DEV'
			? await getDevDatabaseConfig()
			: await getDatabaseConfig(stage, 'repocop');

	return {
		app: getEnvOrThrow('APP'),
		stage,
		stack: getEnvOrThrow('STACK'),
		anghammaradSnsTopic: getEnvOrThrow('ANGHAMMARAD_SNS_ARN'),
		interactiveMonitorSnsTopic: getEnvOrThrow('INTERACTIVE_MONITOR_TOPIC_ARN'),
		databaseConnectionString: getDatabaseConnectionString(databaseConfig),
		withQueryLogging: queryLogging,
		enableMessaging: process.env.ENABLE_MESSAGING === 'false' ? false : true,
		ignoredRepositoryPrefixes: [
			'guardian/esd-', // ESD team
			'guardian/pluto-', // Multimedia team
		],
		interactivesCount: Number(getEnvOrThrow('INTERACTIVES_COUNT')),
		branchProtectionEnabled: process.env.BRANCH_PROTECTION_ENABLED === 'true',
		dependencyGraphIntegratorTopic: getEnvOrThrow(
			'DEPENDENCY_GRAPH_INPUT_TOPIC_ARN',
		),
		gitHubOrg: process.env['GITHUB_ORG'] ?? 'guardian',
	};
}