@decaf-ts/fabric-weaver
Version:
template for ts projects
46 lines • 5.68 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateDockerComposeFile = generateDockerComposeFile;
exports.createCAService = createCAService;
exports.createBaseDockerService = createBaseDockerService;
const yaml_1 = require("../utils/yaml.cjs");
const constants_1 = require("./constants.cjs");
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
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_1.default.join(process.cwd(), "output");
if (!fs_1.default.existsSync(basePath))
fs_1.default.mkdirSync(basePath, { recursive: true });
(0, yaml_1.writeFileYaml)(path_1.default.join(process.cwd(), "output", "docker-compose.yaml"), dockerCompose);
}
function createCAService(cfg, org) {
return createBaseDockerService(org.name + "-ca", cfg.image);
}
function createBaseDockerService(name, image) {
const service = {
[name]: {
container_name: name,
hostname: name,
restart: constants_1.DockerRestartPolicy.UNLESS_STOPPED,
image: image,
command: "tail -f /dev/null",
},
};
return service;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLWNvbXBvc2UtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RvY2tlci9kb2NrZXItY29tcG9zZS1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFXQSw4REF5QkM7QUFFRCwwQ0FFQztBQUVELDBEQWVDO0FBcERELHdDQUE4QztBQUM5QywyQ0FBa0Q7QUFFbEQsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUV4QixTQUFnQix5QkFBeUIsQ0FBQyxNQUFvQjtJQUM1RCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBCLHVDQUF1QztJQUN2QyxNQUFNLGFBQWEsR0FBa0I7UUFDbkMsUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFDO0lBRUYsMEJBQTBCO0lBQzFCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRSxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFM0Isb0NBQW9DO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXBELElBQUksQ0FBQyxZQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUFFLFlBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFMUUsSUFBQSxvQkFBYSxFQUNYLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxFQUN6RCxhQUFhLENBQ2QsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixlQUFlLENBQUMsR0FBdUIsRUFBRSxHQUFvQjtJQUMzRSxPQUFPLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsU0FBZ0IsdUJBQXVCLENBQ3JDLElBQVksRUFDWixLQUFhO0lBRWIsTUFBTSxPQUFPLEdBQWtCO1FBQzdCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDTixjQUFjLEVBQUUsSUFBSTtZQUNwQixRQUFRLEVBQUUsSUFBSTtZQUNkLE9BQU8sRUFBRSwrQkFBbUIsQ0FBQyxjQUFjO1lBQzNDLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLG1CQUFtQjtTQUM3QjtLQUNGLENBQUM7SUFFRixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgV2VhdmVyQ29uZmlnLFxuICBXZWF2ZXJHbG9iYWxDb25maWcsXG4gIFdlYXZlck9yZ0NvbmZpZyxcbn0gZnJvbSBcIi4uL2NvcmUvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgd3JpdGVGaWxlWWFtbCB9IGZyb20gXCIuLi91dGlscy95YW1sXCI7XG5pbXBvcnQgeyBEb2NrZXJSZXN0YXJ0UG9saWN5IH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBEb2NrZXJDb21wb3NlLCBEb2NrZXJTZXJ2aWNlIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZURvY2tlckNvbXBvc2VGaWxlKGNvbmZpZzogV2VhdmVyQ29uZmlnKSB7XG4gIGNvbnNvbGUubG9nKGNvbmZpZyk7XG5cbiAgLy8gQ3JlYXRlIERvY2tlciBDb21wb3NlIEpTT04gc3RydWN0dXJlXG4gIGNvbnN0IGRvY2tlckNvbXBvc2U6IERvY2tlckNvbXBvc2UgPSB7XG4gICAgc2VydmljZXM6IHt9LFxuICB9O1xuXG4gIC8vQ3JlYXRlIG9yZ2FuaXphdGlvbiBDQSdzXG4gIGZvciAoY29uc3Qgb3JnIG9mIGNvbmZpZy5vcmdzKSB7XG4gICAgY29uc3QgY2FTZXJ2aWNlID0gY3JlYXRlQ0FTZXJ2aWNlKGNvbmZpZy5nbG9iYWwsIG9yZy5vcmdhbml6YXRpb24pO1xuICAgIE9iamVjdC5hc3NpZ24oZG9ja2VyQ29tcG9zZS5zZXJ2aWNlcywgY2FTZXJ2aWNlKTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKGRvY2tlckNvbXBvc2UpO1xuXG4gIC8vIEdlbmVyYXRlIERvY2tlciBDb21wb3NlIFlBTUwgZmlsZVxuICBjb25zdCBiYXNlUGF0aCA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIm91dHB1dFwiKTtcblxuICBpZiAoIWZzLmV4aXN0c1N5bmMoYmFzZVBhdGgpKSBmcy5ta2RpclN5bmMoYmFzZVBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIHdyaXRlRmlsZVlhbWwoXG4gICAgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIFwib3V0cHV0XCIsIFwiZG9ja2VyLWNvbXBvc2UueWFtbFwiKSxcbiAgICBkb2NrZXJDb21wb3NlXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDQVNlcnZpY2UoY2ZnOiBXZWF2ZXJHbG9iYWxDb25maWcsIG9yZzogV2VhdmVyT3JnQ29uZmlnKSB7XG4gIHJldHVybiBjcmVhdGVCYXNlRG9ja2VyU2VydmljZShvcmcubmFtZSArIFwiLWNhXCIsIGNmZy5pbWFnZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCYXNlRG9ja2VyU2VydmljZShcbiAgbmFtZTogc3RyaW5nLFxuICBpbWFnZTogc3RyaW5nXG4pOiBEb2NrZXJTZXJ2aWNlIHtcbiAgY29uc3Qgc2VydmljZTogRG9ja2VyU2VydmljZSA9IHtcbiAgICBbbmFtZV06IHtcbiAgICAgIGNvbnRhaW5lcl9uYW1lOiBuYW1lLFxuICAgICAgaG9zdG5hbWU6IG5hbWUsXG4gICAgICByZXN0YXJ0OiBEb2NrZXJSZXN0YXJ0UG9saWN5LlVOTEVTU19TVE9QUEVELFxuICAgICAgaW1hZ2U6IGltYWdlLFxuICAgICAgY29tbWFuZDogXCJ0YWlsIC1mIC9kZXYvbnVsbFwiLFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG4iXX0=