airgapped docker build
This commit is contained in:
parent
d7320b9b01
commit
7ea05c571b
|
@ -3,6 +3,7 @@ builder/*
|
|||
.temp/
|
||||
packages/server/runtime_apps/
|
||||
.idea/
|
||||
bb-airgapped.tar.gz
|
||||
|
||||
# Logs
|
||||
logs
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
const fs = require("fs")
|
||||
const { execSync } = require("child_process")
|
||||
const path = require("path")
|
||||
|
||||
const IMAGES = {
|
||||
worker: "budibase/worker",
|
||||
apps: "budibase/apps",
|
||||
proxy: "envoyproxy/envoy:v1.16-latest",
|
||||
minio: "minio/minio",
|
||||
couch: "ibmcom/couchdb3",
|
||||
curl: "curlimages/curl",
|
||||
redis: "redis",
|
||||
watchtower: "containrrr/watchtower"
|
||||
}
|
||||
|
||||
const FILES = {
|
||||
COMPOSE: "docker-compose.yaml",
|
||||
ENVOY: "envoy.yaml"
|
||||
}
|
||||
|
||||
const OUTPUT_DIR = path.join(__dirname, "../", "bb-airgapped")
|
||||
|
||||
function copyFile(file) {
|
||||
fs.copyFileSync(
|
||||
path.join(__dirname, "../", "../", file),
|
||||
path.join(OUTPUT_DIR, file)
|
||||
)
|
||||
}
|
||||
|
||||
// create output dir
|
||||
console.log(`Creating ${OUTPUT_DIR} for build..`)
|
||||
fs.rmdirSync(OUTPUT_DIR, { recursive: true })
|
||||
fs.mkdirSync(OUTPUT_DIR)
|
||||
|
||||
// package images into tar files
|
||||
for (let image in IMAGES) {
|
||||
console.log(`Creating tar for ${image}..`)
|
||||
execSync(`docker save ${IMAGES[image]} -o ${OUTPUT_DIR}/${image}.tar`)
|
||||
}
|
||||
|
||||
// copy config files
|
||||
copyFile(FILES.COMPOSE)
|
||||
copyFile(FILES.ENVOY)
|
||||
|
||||
// compress
|
||||
execSync(`tar -czf bb-airgapped.tar.gz hosting/scripts/bb-airgapped`)
|
||||
|
||||
// clean up
|
||||
fs.rmdirSync(OUTPUT_DIR, { recursive: true })
|
|
@ -46,6 +46,7 @@
|
|||
"build:docker": "lerna run build:docker && cd hosting/scripts/linux/ && ./release-to-docker-hub.sh $BUDIBASE_RELEASE_VERSION && cd -",
|
||||
"build:docker:production": "lerna run build:docker && cd hosting/scripts/linux/ && ./release-to-docker-hub.sh $BUDIBASE_RELEASE_VERSION release && cd -",
|
||||
"build:docker:develop": "node scripts/pinVersions && lerna run build:docker && cd hosting/scripts/linux/ && ./release-to-docker-hub.sh develop && cd -",
|
||||
"build:docker:airgap": "node hosting/scripts/airgapped/airgappedDockerBuild",
|
||||
"release:helm": "./scripts/release_helm_chart.sh",
|
||||
"env:multi:enable": "lerna run env:multi:enable",
|
||||
"env:multi:disable": "lerna run env:multi:disable",
|
||||
|
|
Loading…
Reference in New Issue