68 lines
1.8 KiB
JavaScript
68 lines
1.8 KiB
JavaScript
|
#!/usr/bin/env node
|
||
|
const path = require("path")
|
||
|
const fs = require("fs")
|
||
|
const { processStringSync } = require("@budibase/string-templates")
|
||
|
|
||
|
const Configs = {
|
||
|
prod: {
|
||
|
apps: "app-service.budibase.svc.cluster.local",
|
||
|
worker: "worker-service.budibase.svc.cluster.local",
|
||
|
minio: "minio-service.budibase.svc.cluster.local",
|
||
|
couchdb: "budibase-prod-svc-couchdb",
|
||
|
},
|
||
|
preprod: {
|
||
|
apps: "app-service.budibase.svc.cluster.local",
|
||
|
worker: "worker-service.budibase.svc.cluster.local",
|
||
|
minio: "minio-service.budibase.svc.cluster.local",
|
||
|
couchdb: "budibase-preprod-svc-couchdb",
|
||
|
},
|
||
|
compose: {
|
||
|
compose: true,
|
||
|
apps: "app-service",
|
||
|
worker: "worker-service",
|
||
|
minio: "minio-service",
|
||
|
couchdb: "couchdb-service",
|
||
|
},
|
||
|
}
|
||
|
|
||
|
const Commands = {
|
||
|
Prod: "prod",
|
||
|
Preprod: "preprod",
|
||
|
Compose: "compose",
|
||
|
}
|
||
|
|
||
|
async function init(managementCommand) {
|
||
|
const config = Configs[managementCommand]
|
||
|
const hostingPath = path.join(process.cwd(), "..", "..", "hosting")
|
||
|
const nginxHbsPath = path.join(hostingPath, "nginx.prod.conf.hbs")
|
||
|
const nginxOutputPath = path.join(
|
||
|
hostingPath,
|
||
|
"proxy",
|
||
|
".generated-nginx.prod.conf"
|
||
|
)
|
||
|
const contents = fs.readFileSync(nginxHbsPath, "utf8")
|
||
|
fs.writeFileSync(nginxOutputPath, processStringSync(contents, config))
|
||
|
}
|
||
|
|
||
|
const managementCommand = process.argv.slice(2)[0]
|
||
|
|
||
|
if (
|
||
|
!managementCommand ||
|
||
|
!Object.values(Commands).some(command => managementCommand === command)
|
||
|
) {
|
||
|
throw new Error(
|
||
|
"You must supply either a 'compose', 'preprod' or 'prod' commmand to generate an NGINX config."
|
||
|
)
|
||
|
}
|
||
|
|
||
|
init(managementCommand)
|
||
|
.then(() => {
|
||
|
console.log("Done! 🎉")
|
||
|
})
|
||
|
.catch(err => {
|
||
|
console.error(
|
||
|
"Something went wrong while creating the nginx configuration",
|
||
|
err.message
|
||
|
)
|
||
|
})
|