Checkpoint: Préparation recette-production : manifeste Budget SI aligné avec le registre dashboard, visuel de portail sélectionné, et label Traefik paramétrable par BUDGET_SI_DOMAIN afin que la production réponde sur son URL dédiée. Vérification complète réussie : 60 tests, TypeScript et build.
All checks were successful
Validation applicative / TypeScript, tests et build (push) Successful in 2m22s
All checks were successful
Validation applicative / TypeScript, tests et build (push) Successful in 2m22s
This commit is contained in:
6
app.json
6
app.json
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"id": "itinova-budget-si",
|
"id": "itinova-budget-si",
|
||||||
"name": "Gestion Budget Informatique",
|
"name": "Gestion budget informatique",
|
||||||
"category": "SANTINOVA",
|
"category": "SANTINOVA",
|
||||||
"urls": {
|
"urls": {
|
||||||
"recette": "https://budget-si.recette.santinova-soft.org",
|
"recette": "https://budget-si.recette.santinova-soft.org",
|
||||||
"prod": "https://budget-si.santinova-soft.org"
|
"prod": "https://budget-si.santinova-soft.org"
|
||||||
},
|
},
|
||||||
"containerName": "itinova-budget-si-app",
|
"containerName": "itinova-budget-si-app",
|
||||||
"image": "images/budget-si.png",
|
"image": "images/budget-si.jpg",
|
||||||
"giteaRepo": "itinova-budget-si",
|
"giteaRepo": "manus-admin/itinova-budget-si",
|
||||||
"giteaOwner": "manus-admin",
|
"giteaOwner": "manus-admin",
|
||||||
"ci": {
|
"ci": {
|
||||||
"required": true
|
"required": true
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ services:
|
|||||||
- web
|
- web
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.budget-si.rule=Host(`budget-si.recette.santinova-soft.org`)"
|
- "traefik.http.routers.budget-si.rule=Host(`${BUDGET_SI_DOMAIN:-budget-si.recette.santinova-soft.org}`)"
|
||||||
- "traefik.http.routers.budget-si.entrypoints=websecure"
|
- "traefik.http.routers.budget-si.entrypoints=websecure"
|
||||||
- "traefik.http.routers.budget-si.tls.certresolver=letsencrypt"
|
- "traefik.http.routers.budget-si.tls.certresolver=letsencrypt"
|
||||||
- "traefik.http.services.budget-si.loadbalancer.server.port=3000"
|
- "traefik.http.services.budget-si.loadbalancer.server.port=3000"
|
||||||
|
|||||||
22
server/appManifest.test.ts
Normal file
22
server/appManifest.test.ts
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import { readFile } from "node:fs/promises";
|
||||||
|
import { resolve } from "node:path";
|
||||||
|
import { describe, expect, it } from "vitest";
|
||||||
|
|
||||||
|
describe("manifeste applicatif Budget SI", () => {
|
||||||
|
it("déclare les environnements, la catégorie et le dépôt Gitea attendus", async () => {
|
||||||
|
const raw = await readFile(resolve(process.cwd(), "app.json"), "utf8");
|
||||||
|
const manifest = JSON.parse(raw) as Record<string, unknown>;
|
||||||
|
|
||||||
|
expect(manifest).toMatchObject({
|
||||||
|
id: "itinova-budget-si",
|
||||||
|
name: "Gestion budget informatique",
|
||||||
|
category: "SANTINOVA",
|
||||||
|
giteaRepo: "manus-admin/itinova-budget-si",
|
||||||
|
image: "images/budget-si.jpg",
|
||||||
|
urls: {
|
||||||
|
recette: "https://budget-si.recette.santinova-soft.org",
|
||||||
|
prod: "https://budget-si.santinova-soft.org",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -8,5 +8,6 @@ describe("docker-compose de recette", () => {
|
|||||||
|
|
||||||
expect(compose).toContain("DATABASE_URL=mysql://budget_user:BudgetSI2027!@itinova-budget-si-db:3306/budget_si");
|
expect(compose).toContain("DATABASE_URL=mysql://budget_user:BudgetSI2027!@itinova-budget-si-db:3306/budget_si");
|
||||||
expect(compose).not.toContain("DATABASE_URL=mysql://budget_user:BudgetSI2027!@db:3306/budget_si");
|
expect(compose).not.toContain("DATABASE_URL=mysql://budget_user:BudgetSI2027!@db:3306/budget_si");
|
||||||
|
expect(compose).toContain("BUDGET_SI_DOMAIN:-budget-si.recette.santinova-soft.org");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
8
todo.md
8
todo.md
@@ -204,3 +204,11 @@
|
|||||||
- [x] Ouvrir une liasse depuis le bouton de l'interface de recette afin de valider le parcours utilisateur de consultation
|
- [x] Ouvrir une liasse depuis le bouton de l'interface de recette afin de valider le parcours utilisateur de consultation
|
||||||
- [x] Corriger l'alerte frontale indiquant à tort un chiffrement indisponible en recette
|
- [x] Corriger l'alerte frontale indiquant à tort un chiffrement indisponible en recette
|
||||||
- [x] Corriger l'accès à la base de recette empêchant la connexion administrateur après le dernier redéploiement
|
- [x] Corriger l'accès à la base de recette empêchant la connexion administrateur après le dernier redéploiement
|
||||||
|
|
||||||
|
## Promotion Salaires — recette et production
|
||||||
|
- [ ] Vérifier la version Salaires active et le statut Gitea de recette avant promotion
|
||||||
|
- [ ] Mettre à jour le dashboard et le portail de recette pour la fenêtre Salaires
|
||||||
|
- [ ] Promouvoir la version Salaires validée vers la production via Gitea CI/CD
|
||||||
|
- [ ] Mettre à jour le dashboard et le portail de production pour la fenêtre Salaires
|
||||||
|
- [ ] Vérifier les accès HTTPS administrateur et le statut des déploiements dans les deux environnements
|
||||||
|
- [ ] Paramétrer le domaine Traefik Budget SI par environnement pour que la production réponde sur son URL dédiée
|
||||||
|
|||||||
Reference in New Issue
Block a user