INNER CODE UNIT · TypeScript
main
linode/apl-core · src/operator/main.ts:65
async function main(): Promise<void> {
try {
d.info('Starting APL Operator')
ensureDirectoryStructure()
const aplOps = new AplOperations()
// Phase 1: Run installation with retry until success
const installer = new Installer(aplOps)
// Installs run far longer than the liveness probe tolerates without a beat.
const heartbeat = startHeartbeat()
try {
const { installationMode, isInstalled } = await retryInstallStep(() => installer.getInstallationState())
const isRecoveryMode = installationMode === 'recovery'
if (isInstalled) {
d.info('Installation already completed, skipping install steps')
} else if (isRecoveryMode) {
d.info('Recovery mode enabled, checking prerequisites')