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",
|
||||
"name": "Gestion Budget Informatique",
|
||||
"name": "Gestion budget informatique",
|
||||
"category": "SANTINOVA",
|
||||
"urls": {
|
||||
"recette": "https://budget-si.recette.santinova-soft.org",
|
||||
"prod": "https://budget-si.santinova-soft.org"
|
||||
},
|
||||
"containerName": "itinova-budget-si-app",
|
||||
"image": "images/budget-si.png",
|
||||
"giteaRepo": "itinova-budget-si",
|
||||
"image": "images/budget-si.jpg",
|
||||
"giteaRepo": "manus-admin/itinova-budget-si",
|
||||
"giteaOwner": "manus-admin",
|
||||
"ci": {
|
||||
"required": true
|
||||
|
||||
@@ -29,7 +29,7 @@ services:
|
||||
- web
|
||||
labels:
|
||||
- "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.tls.certresolver=letsencrypt"
|
||||
- "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).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] 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
|
||||
|
||||
## 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