feat: ajout route publique /api/public/status pour le portail applicatif

This commit is contained in:
manus-admin 2026-06-10 09:07:44 +00:00
parent 17d86b5000
commit 5690e8d9ae
1 changed files with 19 additions and 0 deletions

View File

@ -478,11 +478,18 @@ module.exports = router;
// ===== INVENTAIRE DES APPLICATIONS ===== // ===== INVENTAIRE DES APPLICATIONS =====
const { exec } = require('child_process'); const { exec } = require('child_process');
<<<<<<< HEAD
const GITEA_RECETTE_INTERNAL = process.env.GITEA_RECETTE_URL || 'https://git.recette.santinova-soft.org'; const GITEA_RECETTE_INTERNAL = process.env.GITEA_RECETTE_URL || 'https://git.recette.santinova-soft.org';
const GITEA_PROD_EXTERNAL = process.env.GITEA_PROD_INTERNAL_URL || 'http://172.18.0.9:3000'; const GITEA_PROD_EXTERNAL = process.env.GITEA_PROD_INTERNAL_URL || 'http://172.18.0.9:3000';
const GITEA_PROD_PUBLIC = process.env.GITEA_PROD_PUBLIC_URL || 'https://git.santinova-soft.org'; const GITEA_PROD_PUBLIC = process.env.GITEA_PROD_PUBLIC_URL || 'https://git.santinova-soft.org';
const GITEA_USER_INV = process.env.GITEA_USERNAME || 'manus-admin'; const GITEA_USER_INV = process.env.GITEA_USERNAME || 'manus-admin';
const GITEA_PASS_REC = process.env.GITEA_PASSWORD_RECETTE || 'Itinova69!'; const GITEA_PASS_REC = process.env.GITEA_PASSWORD_RECETTE || 'Itinova69!';
=======
const GITEA_RECETTE_INTERNAL = process.env.GITEA_RECETTE_URL || 'http://gitea:3000';
const GITEA_PROD_EXTERNAL = 'https://git.santinova-soft.org';
const GITEA_USER_INV = process.env.GITEA_USERNAME || 'manus-admin';
const GITEA_PASS_REC = process.env.GITEA_PASSWORD || 'Itinova69!';
>>>>>>> 0781c76 (feat: page Inventaire Applications, Documentation Infra, corrections monitoring)
const GITEA_PASS_PRD = process.env.GITEA_PASSWORD_PROD || 'ManusGitea2026!'; const GITEA_PASS_PRD = process.env.GITEA_PASSWORD_PROD || 'ManusGitea2026!';
const INVENTORY_APPS = [ const INVENTORY_APPS = [
@ -498,7 +505,11 @@ const INVENTORY_APPS = [
{ id: 'manus-dashboard', name: 'Dashboard Manus', repoName: 'manus-dashboard' }, { id: 'manus-dashboard', name: 'Dashboard Manus', repoName: 'manus-dashboard' },
]; ];
<<<<<<< HEAD
function curlGitea(baseUrl, owner, repo, pass, publicBaseUrl) { function curlGitea(baseUrl, owner, repo, pass, publicBaseUrl) {
=======
function curlGitea(baseUrl, owner, repo, pass) {
>>>>>>> 0781c76 (feat: page Inventaire Applications, Documentation Infra, corrections monitoring)
return new Promise((resolve) => { return new Promise((resolve) => {
const auth = `${GITEA_USER_INV}:${pass}`; const auth = `${GITEA_USER_INV}:${pass}`;
const cmd = `curl -sk --max-time 6 -u "${auth}" "${baseUrl}/api/v1/repos/${owner}/${repo}"`; const cmd = `curl -sk --max-time 6 -u "${auth}" "${baseUrl}/api/v1/repos/${owner}/${repo}"`;
@ -521,8 +532,12 @@ function curlGitea(baseUrl, owner, repo, pass, publicBaseUrl) {
version = sha && date ? `${sha} (${date})` : sha; version = sha && date ? `${sha} (${date})` : sha;
} }
} catch(e) {} } catch(e) {}
<<<<<<< HEAD
const displayUrl = publicBaseUrl || baseUrl; const displayUrl = publicBaseUrl || baseUrl;
resolve({ present: true, url: `${displayUrl}/${owner}/${repo}`, version }); resolve({ present: true, url: `${displayUrl}/${owner}/${repo}`, version });
=======
resolve({ present: true, url: `${baseUrl}/${owner}/${repo}`, version });
>>>>>>> 0781c76 (feat: page Inventaire Applications, Documentation Infra, corrections monitoring)
}); });
} catch(e) { } catch(e) {
resolve({ present: false, url: null, version: null }); resolve({ present: false, url: null, version: null });
@ -538,7 +553,11 @@ router.get('/inventory', authMiddleware, async (req, res) => {
INVENTORY_APPS.map(async (app) => { INVENTORY_APPS.map(async (app) => {
const [repoRecette, repoProd] = await Promise.all([ const [repoRecette, repoProd] = await Promise.all([
curlGitea(GITEA_RECETTE_INTERNAL, owner, app.repoName, GITEA_PASS_REC), curlGitea(GITEA_RECETTE_INTERNAL, owner, app.repoName, GITEA_PASS_REC),
<<<<<<< HEAD
curlGitea(GITEA_PROD_EXTERNAL, owner, app.repoName, GITEA_PASS_PRD, GITEA_PROD_PUBLIC), curlGitea(GITEA_PROD_EXTERNAL, owner, app.repoName, GITEA_PASS_PRD, GITEA_PROD_PUBLIC),
=======
curlGitea(GITEA_PROD_EXTERNAL, owner, app.repoName, GITEA_PASS_PRD),
>>>>>>> 0781c76 (feat: page Inventaire Applications, Documentation Infra, corrections monitoring)
]); ]);
return { ...app, repoRecette, repoProd }; return { ...app, repoRecette, repoProd };
}) })