@cap-js-community/mtx-tool
Version:
Multitenancy and Extensibility Tool is a cli to reduce operational overhead for multitenant Cloud Foundry applications
101 lines (96 loc) • 2.59 kB
JavaScript
;
const ENV = Object.freeze({
UAA_APP: "MTX_UAA_APP",
UAA_KEY: "MTX_UAA_KEY",
REGISTRY_APP: "MTX_REG_APP",
REGISTRY_KEY: "MTX_REG_KEY",
CDS_APP: "MTX_CDS_APP",
HDI_APP: "MTX_HDI_APP",
HDI_KEY: "MTX_HDI_KEY",
SERVER_APP: "MTX_SRV_APP",
});
const SETTING_TYPE = {
UAA_APP: "UAA_APP",
UAA_KEY: "UAA_KEY",
REGISTRY_APP: "REGISTRY_APP",
REGISTRY_KEY: "REGISTRY_KEY",
CDS_APP: "CDS_APP",
HDI_APP: "HDI_APP",
HDI_KEY: "HDI_KEY",
SERVER_APP: "SERVER_APP",
};
const SETTING = {
[SETTING_TYPE.UAA_APP]: {
config: "uaaAppName",
name: "uaa app",
envVariable: ENV.UAA_APP,
question: "cf app bound to xsuaa service (optional)?",
failMessage: "option requires configured app bound to service label:xsuaa plan:application",
requireServices: [
{
label: "xsuaa",
plan: "application",
},
{
label: "xsuaa",
plan: "broker",
},
],
},
[SETTING_TYPE.REGISTRY_APP]: {
config: "regAppName",
name: "saas-registry app",
envVariable: ENV.REGISTRY_APP,
question: "cf app bound to saas-registry service (optional)?",
failMessage: "option requires configured app bound to service label:saas-registry plan:application or plan:service",
requireServices: [
{
label: "saas-registry",
plan: "application",
},
{
label: "saas-registry",
plan: "service",
},
],
},
[SETTING_TYPE.CDS_APP]: {
config: "cdsAppName",
name: "cds-mtx app",
envVariable: ENV.CDS_APP,
question: "cf app running @sap/cds-mtx or @sap/cds-mtxs library (optional)?",
failMessage: "option requires configured app running @sap/cds-mtx",
requireRoute: true,
},
[SETTING_TYPE.HDI_APP]: {
config: "hdiAppName",
name: "service-manager app",
envVariable: ENV.HDI_APP,
question: "cf app bound to service-manager or managed-hana service (optional)?",
failMessage:
"option requires configured app bound to service label:managed-hana plan:hdi-shared OR label:service-manager plan:container",
requireServices: [
{
label: "service-manager",
plan: "container",
},
{
label: "managed-hana",
plan: "hdi-shared",
},
],
},
[SETTING_TYPE.SERVER_APP]: {
config: "srvAppName",
name: "server app",
envVariable: ENV.SERVER_APP,
question: "cf app with server (optional)?",
failMessage: "option requires configured server app",
requireRoute: true,
},
};
module.exports = {
ENV,
SETTING_TYPE,
SETTING,
};