mediacentral-publish
Version:
A publish tool for publishing cloud-ux projects
33 lines (29 loc) • 1.78 kB
JavaScript
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
const { writeFileSync } = require('fs');
const { join } = require('path');
const logger = require.main.require('log4js').getLogger(`mediacentral-publish ${__filename}`);
module.exports = (() => {
var _ref = _asyncToGenerator(function* (path, PROJECT_NAME, VERSION, ORGANIZATION) {
logger.trace('Creating Metadata with path: ', path, '\nProject name:', PROJECT_NAME, 'Version: ', VERSION, 'Organization:', ORGANIZATION);
const registry = "local";
const image = `${registry}/${ORGANIZATION}/${PROJECT_NAME}:${VERSION}`;
const metadata = {
name: PROJECT_NAME,
version: VERSION,
vendor: ORGANIZATION,
charts_files: [`${PROJECT_NAME}-${VERSION}.tgz`],
image_files: [`${PROJECT_NAME}-${VERSION}-images.tar`],
image_list: [`${image}`]
};
const filePath = join(path, 'metadata.json');
writeFileSync(filePath, JSON.stringify(metadata, null, 4));
logger.trace('Created metade in: ', filePath, '\n With metadata: \n', metadata);
return {
output: `A metadata file created in ${filePath}.`,
file: filePath
};
});
return function (_x, _x2, _x3, _x4) {
return _ref.apply(this, arguments);
};
})();