UNPKG

@decaf-ts/fabric-weaver

Version:
38 lines 5.29 kB
import { writeFileYaml } from "../utils/yaml"; import { DockerRestartPolicy } from "./constants"; import fs from "fs"; import path from "path"; export function generateDockerComposeFile(config) { console.log(config); // Create Docker Compose JSON structure const dockerCompose = { services: {}, }; //Create organization CA's for (const org of config.orgs) { const caService = createCAService(config.global, org.organization); Object.assign(dockerCompose.services, caService); } console.log(dockerCompose); // Generate Docker Compose YAML file const basePath = path.join(process.cwd(), "output"); if (!fs.existsSync(basePath)) fs.mkdirSync(basePath, { recursive: true }); writeFileYaml(path.join(process.cwd(), "output", "docker-compose.yaml"), dockerCompose); } export function createCAService(cfg, org) { return createBaseDockerService(org.name + "-ca", cfg.image); } export function createBaseDockerService(name, image) { const service = { [name]: { container_name: name, hostname: name, restart: DockerRestartPolicy.UNLESS_STOPPED, image: image, command: "tail -f /dev/null", }, }; return service; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLWNvbXBvc2UtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RvY2tlci9kb2NrZXItY29tcG9zZS1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBb0I7SUFDNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQix1Q0FBdUM7SUFDdkMsTUFBTSxhQUFhLEdBQWtCO1FBQ25DLFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQztJQUVGLDBCQUEwQjtJQUMxQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRTNCLG9DQUFvQztJQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVwRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTFFLGFBQWEsQ0FDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUscUJBQXFCLENBQUMsRUFDekQsYUFBYSxDQUNkLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUF1QixFQUFFLEdBQW9CO0lBQzNFLE9BQU8sdUJBQXVCLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLElBQVksRUFDWixLQUFhO0lBRWIsTUFBTSxPQUFPLEdBQWtCO1FBQzdCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDTixjQUFjLEVBQUUsSUFBSTtZQUNwQixRQUFRLEVBQUUsSUFBSTtZQUNkLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxjQUFjO1lBQzNDLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLG1CQUFtQjtTQUM3QjtLQUNGLENBQUM7SUFFRixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgV2VhdmVyQ29uZmlnLFxuICBXZWF2ZXJHbG9iYWxDb25maWcsXG4gIFdlYXZlck9yZ0NvbmZpZyxcbn0gZnJvbSBcIi4uL2NvcmUvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgd3JpdGVGaWxlWWFtbCB9IGZyb20gXCIuLi91dGlscy95YW1sXCI7XG5pbXBvcnQgeyBEb2NrZXJSZXN0YXJ0UG9saWN5IH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBEb2NrZXJDb21wb3NlLCBEb2NrZXJTZXJ2aWNlIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZURvY2tlckNvbXBvc2VGaWxlKGNvbmZpZzogV2VhdmVyQ29uZmlnKSB7XG4gIGNvbnNvbGUubG9nKGNvbmZpZyk7XG5cbiAgLy8gQ3JlYXRlIERvY2tlciBDb21wb3NlIEpTT04gc3RydWN0dXJlXG4gIGNvbnN0IGRvY2tlckNvbXBvc2U6IERvY2tlckNvbXBvc2UgPSB7XG4gICAgc2VydmljZXM6IHt9LFxuICB9O1xuXG4gIC8vQ3JlYXRlIG9yZ2FuaXphdGlvbiBDQSdzXG4gIGZvciAoY29uc3Qgb3JnIG9mIGNvbmZpZy5vcmdzKSB7XG4gICAgY29uc3QgY2FTZXJ2aWNlID0gY3JlYXRlQ0FTZXJ2aWNlKGNvbmZpZy5nbG9iYWwsIG9yZy5vcmdhbml6YXRpb24pO1xuICAgIE9iamVjdC5hc3NpZ24oZG9ja2VyQ29tcG9zZS5zZXJ2aWNlcywgY2FTZXJ2aWNlKTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKGRvY2tlckNvbXBvc2UpO1xuXG4gIC8vIEdlbmVyYXRlIERvY2tlciBDb21wb3NlIFlBTUwgZmlsZVxuICBjb25zdCBiYXNlUGF0aCA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIm91dHB1dFwiKTtcblxuICBpZiAoIWZzLmV4aXN0c1N5bmMoYmFzZVBhdGgpKSBmcy5ta2RpclN5bmMoYmFzZVBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIHdyaXRlRmlsZVlhbWwoXG4gICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwib3V0cHV0XCIsIFwiZG9ja2VyLWNvbXBvc2UueWFtbFwiKSxcbiAgICBkb2NrZXJDb21wb3NlXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDQVNlcnZpY2UoY2ZnOiBXZWF2ZXJHbG9iYWxDb25maWcsIG9yZzogV2VhdmVyT3JnQ29uZmlnKSB7XG4gIHJldHVybiBjcmVhdGVCYXNlRG9ja2VyU2VydmljZShvcmcubmFtZSArIFwiLWNhXCIsIGNmZy5pbWFnZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCYXNlRG9ja2VyU2VydmljZShcbiAgbmFtZTogc3RyaW5nLFxuICBpbWFnZTogc3RyaW5nXG4pOiBEb2NrZXJTZXJ2aWNlIHtcbiAgY29uc3Qgc2VydmljZTogRG9ja2VyU2VydmljZSA9IHtcbiAgICBbbmFtZV06IHtcbiAgICAgIGNvbnRhaW5lcl9uYW1lOiBuYW1lLFxuICAgICAgaG9zdG5hbWU6IG5hbWUsXG4gICAgICByZXN0YXJ0OiBEb2NrZXJSZXN0YXJ0UG9saWN5LlVOTEVTU19TVE9QUEVELFxuICAgICAgaW1hZ2U6IGltYWdlLFxuICAgICAgY29tbWFuZDogXCJ0YWlsIC1mIC9kZXYvbnVsbFwiLFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG4iXX0=