mirror of https://github.com/Budibase/budibase.git
3 changed files with 1151 additions and 9 deletions
@ -0,0 +1,80 @@ |
|||
#!/usr/bin/env node
|
|||
const compose = require("docker-compose") |
|||
const path = require("path") |
|||
const readline = require("readline") |
|||
|
|||
// This script wraps docker-compose allowing you to manage your dev infrastructure with simple commands.
|
|||
const CONFIG = { |
|||
cwd: path.resolve(process.cwd(), "../../hosting"), |
|||
config: "docker-compose.dev.yaml", |
|||
log: true, |
|||
} |
|||
|
|||
const Commands = { |
|||
Up: "up", |
|||
Down: "down", |
|||
Nuke: "nuke", |
|||
} |
|||
|
|||
const managementCommand = process.argv.slice(2)[0] |
|||
|
|||
if ( |
|||
!managementCommand || |
|||
!Object.values(Commands).some(command => managementCommand === command) |
|||
) { |
|||
throw new Error( |
|||
"You must supply either an 'up' or 'down' commmand to manage the budibase dev env." |
|||
) |
|||
} |
|||
|
|||
async function up() { |
|||
console.log("Spinning up your budibase dev environment... 🔧✨") |
|||
try { |
|||
await compose.upAll(CONFIG) |
|||
} catch (err) { |
|||
console.log("something went wrong:", err.message) |
|||
} |
|||
} |
|||
|
|||
async function down() { |
|||
console.log("Spinning down your budibase dev environment... 🌇") |
|||
try { |
|||
await compose.stop(CONFIG) |
|||
} catch (err) { |
|||
console.log("something went wrong:", err.message) |
|||
} |
|||
} |
|||
|
|||
async function nuke() { |
|||
console.log( |
|||
"Clearing down your budibase dev environment, including all containers and volumes... 💥" |
|||
) |
|||
try { |
|||
await compose.down(CONFIG) |
|||
} catch (err) { |
|||
console.log("something went wrong:", err.message) |
|||
} |
|||
} |
|||
|
|||
let command |
|||
switch (managementCommand) { |
|||
case Commands.Up: |
|||
command = up |
|||
break |
|||
case Commands.Down: |
|||
command = down |
|||
break |
|||
case Commands.Nuke: |
|||
command = nuke |
|||
break |
|||
default: |
|||
command = up |
|||
} |
|||
|
|||
command() |
|||
.then(() => { |
|||
console.log("Done! 🎉") |
|||
}) |
|||
.catch(() => { |
|||
console.log("Error while managing budibase dev environment.") |
|||
}) |
|||
File diff suppressed because it is too large
Loading…
Reference in new issue