diff --git a/.eslintrc.js b/.eslintrc.js
index 8f0c022ea7..325fe0a7f7 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -14,6 +14,9 @@ module.exports = {
plugins: [
'vue',
],
+ globals: {
+ userconfig: true,
+ },
rules: {
'max-len': [
'error',
diff --git a/HomeUI/src/services/FluxService.js b/HomeUI/src/services/FluxService.js
index bb342131fe..ae8b0f3de9 100644
--- a/HomeUI/src/services/FluxService.js
+++ b/HomeUI/src/services/FluxService.js
@@ -60,6 +60,13 @@ export default {
getFluxVersion() {
return Api().get('/flux/version');
},
+ getFluxTags(zelidauthHeader) {
+ return Api().get('/flux/tags', {
+ headers: {
+ zelidauth: zelidauthHeader,
+ },
+ });
+ },
broadcastMessage(zelidauthHeader, message) {
const data = message;
const axiosConfig = {
diff --git a/HomeUI/src/views/Home.vue b/HomeUI/src/views/Home.vue
index bfa193589b..22426ce60f 100644
--- a/HomeUI/src/views/Home.vue
+++ b/HomeUI/src/views/Home.vue
@@ -10,6 +10,11 @@
:data="getNodeStatusResponse.nodeStatus"
:variant="getNodeStatusResponse.class"
/>
+
`${key.slice(0, 16)}: ${tags[key].slice(0, 16)}`).join(', ');
+ }
+ },
async getStaticIpInfo() {
const response = await FluxService.getStaticIpInfo();
console.log(response);
@@ -353,6 +369,9 @@ export default {
this.$store.commit('flux/setPrivilege', data.data.privilage);
this.$store.commit('flux/setZelid', zelidauth.zelid);
localStorage.setItem('zelidauth', qs.stringify(zelidauth));
+ if (data.data.privilage === 'admin') {
+ this.getTags();
+ }
this.showToast('success', data.data.message);
}
console.log(data);
@@ -431,6 +450,9 @@ export default {
this.$store.commit('flux/setPrivilege', response.data.data.privilage);
this.$store.commit('flux/setZelid', zelidauth.zelid);
localStorage.setItem('zelidauth', qs.stringify(zelidauth));
+ if (response.data.data.privilage === 'admin') {
+ this.getTags();
+ }
this.showToast('success', response.data.data.message);
} else {
this.showToast(this.getVariant(response.data.status), response.data.data.message || response.data.data);
@@ -469,6 +491,9 @@ export default {
this.$store.commit('flux/setPrivilege', response.data.data.privilage);
this.$store.commit('flux/setZelid', zelidauth.zelid);
localStorage.setItem('zelidauth', qs.stringify(zelidauth));
+ if (response.data.data.privilage === 'admin') {
+ this.getTags();
+ }
this.showToast('success', response.data.data.message);
} else {
this.showToast(this.getVariant(response.data.status), response.data.data.message || response.data.data);
@@ -551,6 +576,9 @@ export default {
this.$store.commit('flux/setPrivilege', response.data.data.privilage);
this.$store.commit('flux/setZelid', zelidauth.zelid);
localStorage.setItem('zelidauth', qs.stringify(zelidauth));
+ if (response.data.data.privilage === 'admin') {
+ this.getTags();
+ }
this.showToast('success', response.data.data.message);
} else {
this.showToast(this.getVariant(response.data.status), response.data.data.message || response.data.data);
@@ -602,6 +630,9 @@ export default {
this.$store.commit('flux/setPrivilege', response.data.data.privilage);
this.$store.commit('flux/setZelid', zelidauth.zelid);
localStorage.setItem('zelidauth', qs.stringify(zelidauth));
+ if (response.data.data.privilage === 'admin') {
+ this.getTags();
+ }
this.showToast('success', response.data.data.message);
} else {
this.showToast(this.getVariant(response.data.status), response.data.data.message || response.data.data);
diff --git a/ZelBack/config/default.js b/ZelBack/config/default.js
index f17c7830a7..7120a188c4 100644
--- a/ZelBack/config/default.js
+++ b/ZelBack/config/default.js
@@ -1,7 +1,6 @@
-// eslint-disable-next-line prefer-const
-let userconfig = require('../../config/userconfig');
+let { isDevelopment } = require('../../config/userconfig');
-const isDevelopment = userconfig.initial.development || false;
+isDevelopment = isDevelopment || false;
module.exports = {
development: isDevelopment,
diff --git a/ZelBack/src/lib/log.js b/ZelBack/src/lib/log.js
index 5f36ea5bac..e3972bd42e 100644
--- a/ZelBack/src/lib/log.js
+++ b/ZelBack/src/lib/log.js
@@ -12,7 +12,7 @@ const levels = {
const logLevel = config && config.logLevel ? config.logLevel : levels.debug;
-const homeDirPath = path.join(__dirname, '../../../');
+const appRootPath = path.join(__dirname, '../../../');
const fileSizeCache = {};
@@ -69,7 +69,7 @@ function debug(args) {
try {
console.log(args);
// write to file
- const filepath = `${homeDirPath}debug.log`;
+ const filepath = `${appRootPath}debug.log`;
writeToFile(filepath, args);
} catch (err) {
console.error('This should not have happened');
@@ -83,7 +83,7 @@ function error(args) {
}
try {
// write to file
- const filepath = `${homeDirPath}error.log`;
+ const filepath = `${appRootPath}error.log`;
writeToFile(filepath, args);
debug(args);
} catch (err) {
@@ -98,7 +98,7 @@ function warn(args) {
}
try {
// write to file
- const filepath = `${homeDirPath}warn.log`;
+ const filepath = `${appRootPath}warn.log`;
writeToFile(filepath, args);
debug(args);
} catch (err) {
@@ -113,7 +113,7 @@ function info(args) {
}
try {
// write to file
- const filepath = `${homeDirPath}info.log`;
+ const filepath = `${appRootPath}info.log`;
writeToFile(filepath, args);
debug(args);
} catch (err) {
diff --git a/ZelBack/src/routes.js b/ZelBack/src/routes.js
index 55f8cb511d..2ab574570f 100644
--- a/ZelBack/src/routes.js
+++ b/ZelBack/src/routes.js
@@ -235,6 +235,9 @@ module.exports = (app, expressWs) => {
app.get('/flux/nodejsversions', cache('30 seconds'), (req, res) => {
fluxService.getNodeJsVersions(req, res);
});
+ app.get('/flux/tags', cache('30 seconds'), (req, res) => {
+ fluxService.getFluxTags(req, res);
+ });
app.get('/flux/ip', cache('30 seconds'), (req, res) => {
fluxService.getFluxIP(req, res);
});
diff --git a/ZelBack/src/services/appsService.js b/ZelBack/src/services/appsService.js
index 758d4733d8..393ee7cf42 100644
--- a/ZelBack/src/services/appsService.js
+++ b/ZelBack/src/services/appsService.js
@@ -1,4 +1,3 @@
-/* global userconfig */
const config = require('config');
const https = require('https');
const axios = require('axios');
@@ -5826,17 +5825,17 @@ async function restoreFluxPortsSupport() {
try {
const isUPNP = upnpService.isUPNP();
- const apiPort = userconfig.initial.apiport || config.server.apiport;
- const homePort = +apiPort - 1;
- const apiPortSSL = +apiPort + 1;
- const syncthingPort = +apiPort + 2;
+ const { apiPort } = userconfig.computed;
+ const { homePort } = userconfig.computed;
+ const { apiPortSsl } = userconfig.computed;
+ const { syncthingPort } = userconfig.computed;
const firewallActive = await fluxNetworkHelper.isFirewallActive();
if (firewallActive) {
// setup UFW if active
await fluxNetworkHelper.allowPort(serviceHelper.ensureNumber(apiPort));
await fluxNetworkHelper.allowPort(serviceHelper.ensureNumber(homePort));
- await fluxNetworkHelper.allowPort(serviceHelper.ensureNumber(apiPortSSL));
+ await fluxNetworkHelper.allowPort(serviceHelper.ensureNumber(apiPortSsl));
await fluxNetworkHelper.allowPort(serviceHelper.ensureNumber(syncthingPort));
}
diff --git a/ZelBack/src/services/benchmarkService.js b/ZelBack/src/services/benchmarkService.js
index 1423831101..ad0f6fd534 100644
--- a/ZelBack/src/services/benchmarkService.js
+++ b/ZelBack/src/services/benchmarkService.js
@@ -1,8 +1,5 @@
-/* global userconfig */
const benchmarkrpc = require('daemonrpc');
const config = require('config');
-const path = require('path');
-const fs = require('fs');
const serviceHelper = require('./serviceHelper');
const messageHelper = require('./messageHelper');
const verificationHelper = require('./verificationHelper');
@@ -14,9 +11,6 @@ const isTestnet = userconfig.initial.testnet;
const rpcport = isTestnet === true ? config.benchmark.rpcporttestnet : config.benchmark.rpcport;
-const homeDirPath = path.join(__dirname, '../../../../');
-const newBenchmarkPath = path.join(homeDirPath, '.fluxbenchmark');
-
let response = messageHelper.createErrorMessage();
/**
@@ -32,7 +26,7 @@ async function executeCall(rpc, params) {
try {
let rpcuser = 'zelbenchuser';
let rpcpassword = 'zelbenchpassword';
- if (fs.existsSync(newBenchmarkPath)) {
+ if (userconfig.computed.isNewBenchPath) {
rpcuser = 'fluxbenchuser';
rpcpassword = 'fluxbenchpassword';
}
@@ -246,8 +240,8 @@ async function executeUpnpBench() {
log.info('executeUpnpBench - Flux not yet synced');
return;
}
- const isUPNP = upnpService.isUPNP();
- if ((userconfig.initial.apiport && userconfig.initial.apiport !== config.server.apiport) || isUPNP) {
+
+ if (upnpService.isUPNP()) {
log.info('Calling FluxBench startMultiPortBench');
log.info(await startMultiPortBench());
}
diff --git a/ZelBack/src/services/daemonService/daemonServiceMiscRpcs.js b/ZelBack/src/services/daemonService/daemonServiceMiscRpcs.js
index 7a99123807..909bdc3423 100644
--- a/ZelBack/src/services/daemonService/daemonServiceMiscRpcs.js
+++ b/ZelBack/src/services/daemonService/daemonServiceMiscRpcs.js
@@ -1,4 +1,3 @@
-/* global userconfig */
const messageHelper = require('../messageHelper');
const daemonServiceUtils = require('./daemonServiceUtils');
const daemonServiceBlockchainRpcs = require('./daemonServiceBlockchainRpcs');
diff --git a/ZelBack/src/services/dockerService.js b/ZelBack/src/services/dockerService.js
index e5b2895be2..adfac98d6c 100644
--- a/ZelBack/src/services/dockerService.js
+++ b/ZelBack/src/services/dockerService.js
@@ -77,7 +77,7 @@ function getAppDockerNameIdentifier(appName) {
Labels?: { [label: string]: string } | undefined;
abortSignal?: AbortSignal;
- * @returns {object} Network
+ * @returns {Promise