Version 1.0.1 - Ajout de metrics

This commit is contained in:
CICD - Pipeline 2023-11-28 20:04:33 +01:00
parent c0ce8b9338
commit f1df0b94f0

31
main.js
View File

@ -4,6 +4,7 @@ const fs = require('fs');
const os = require('os'); const os = require('os');
const osutils = require('os-utils'); const osutils = require('os-utils');
const {statfs} = require('fs'); const {statfs} = require('fs');
const { exec } = require('child_process');
const server = http.createServer(async (req, res) => { const server = http.createServer(async (req, res) => {
const parsedUrl = url.parse(req.url, true); const parsedUrl = url.parse(req.url, true);
@ -24,6 +25,36 @@ const server = http.createServer(async (req, res) => {
res.statusCode = 404; res.statusCode = 404;
res.end('Not Found'); res.end('Not Found');
} }
// Restart the machine
if (parsedUrl.pathname === '/restart' && query.key) {
const config = JSON.parse(fs.readFileSync('config.json'));
if (query.key === config.AUTH_KEY) {
//Restart the machine
exec("sudo reboot", (error, stdout, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
});
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(metrics));
} else {
res.statusCode = 401;
res.end('Unauthorized');
}
} else {
res.statusCode = 404;
res.end('Not Found');
}
}); });
server.listen(4000, () => { server.listen(4000, () => {