nope/modules/wamo/cli/generateConfig.ts

153 lines
3.6 KiB
TypeScript
Raw Normal View History

/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @create date 2021-02-09 10:12:37
2021-02-12 16:39:19 +00:00
* @modify date 2021-02-12 17:38:30
* @desc [description]
*/
import { hostname } from "os";
import { join, resolve } from "path";
import { createFile } from "../../../lib/helpers/fileMethods";
const name = hostname();
const config = {
functions: [],
packages: [
// Bridge
{
nameOfPackage: "bridgeLayer",
defaultInstances: [
{
options: {
identifier: ("wamo-" + name + "-bridge").toLowerCase(),
2021-02-12 16:39:19 +00:00
params: ["io-client", "http://localhost:7000"],
type: "AdditionalBridgeModule"
},
selector: "AdditionalBridgeModule"
}
],
autostart: {},
path: "dist\\modules\\bridge\\src\\bridge.package.js"
},
// Beckhoff
{
nameOfPackage: "beckhoffPackage",
defaultInstances: [
{
options: {
identifier: name,
params: [
{
port: 48898,
amsPortSource: 32905,
amsPortTarget: 851,
timeout: 5000,
amsNetIdTarget: "1.1.1.1.1.1",
amsNetIdSource: "2.2.2.2.2.2",
host: "localhost",
twinCatVersion: 3
}
],
type: "BeckhoffPlc"
},
selector: "BeckhoffPlc"
}
],
autostart: {},
path:
"dist\\modules\\mod-Beckhoff-PLC-Interface\\src\\beckhoff.package.js"
},
// MQTT-Broker
{
nameOfPackage: "mqttBrokerPackage",
defaultInstances: [
{
options: {
identifier: ("wamo-" + name + "-mqtt-broker").toLowerCase(),
params: [],
type: "MQTTBrokerModule"
},
selector: "MQTTBrokerModule"
}
],
autostart: {},
path: "dist\\modules\\mqtt-broker\\src\\mqtt.broker.package.js"
},
// Updater
{
nameOfPackage: "updaterPackage",
defaultInstances: [
{
options: {
identifier: ("wamo-" + name + "-mqtt-broker").toLowerCase(),
params: [],
type: "UpdaterModule"
},
selector: "UpdaterModule"
}
],
autostart: {},
path: "dist\\modules\\updater\\src\\updater.package.js"
},
// Evil
{
nameOfPackage: "evilPackage",
defaultInstances: [
{
options: {
identifier: ("wamo-" + name + "-evil-module").toLowerCase(),
params: [],
type: "EvilModule"
}
}
],
autostart: {},
path: "dist\\modules\\evil\\src\\slave.package.js"
},
// HostManager:
{
nameOfPackage: "hostManagerPackage",
defaultInstances: [
{
options: {
identifier: ("wamo-" + name + "-host-manager").toLowerCase(),
params: [],
type: "HostManagerModule"
},
selector: "HostManagerModule"
}
],
autostart: {},
path: "dist\\modules\\host-manager\\src\\hostManager.package.js"
}
]
};
const pubSubConfig = {
nameOfPackage: "pubsubPackage",
defaultInstances: [
{
options: {
identifier: "pub-sub-system",
params: [],
type: "PubSubModule"
}
}
],
autostart: {},
path: "dist\\modules\\pub-sub\\src\\pub-sub.package.js"
};
// Define the Filename for the Configuration
const filename: string = join(
resolve(process.cwd()),
"config",
"settings.json"
);
createFile(filename, JSON.stringify(config, undefined, 4)).then(() =>
console.log("Created Configuartion in", filename)
);