33 lines
774 B
JavaScript
33 lines
774 B
JavaScript
/* eslint-env node */
|
|
// https://github.com/bluesky-social/atproto/blob/main/services/pds/index.js
|
|
'use strict'
|
|
|
|
const {
|
|
PDS,
|
|
envToCfg,
|
|
envToSecrets,
|
|
httpLogger,
|
|
readEnv,
|
|
} = require('/app/packages/pds')
|
|
const pkg = require('/app/packages/pds/package.json')
|
|
|
|
const main = async () => {
|
|
const env = readEnv()
|
|
env.version ??= pkg.version
|
|
const cfg = envToCfg(env)
|
|
const secrets = envToSecrets(env)
|
|
const pds = await PDS.create(cfg, secrets)
|
|
|
|
await pds.start()
|
|
|
|
httpLogger.info('pds is running')
|
|
// Graceful shutdown (see also https://aws.amazon.com/blogs/containers/graceful-shutdowns-with-ecs/)
|
|
process.on('SIGTERM', async () => {
|
|
httpLogger.info('pds is stopping')
|
|
await pds.destroy()
|
|
httpLogger.info('pds is stopped')
|
|
})
|
|
}
|
|
|
|
main()
|