Compare commits

..

46 Commits

Author SHA1 Message Date
tristan 96c5f3bab0 fix : revert to node:lts-alpine and regenerate package-lock.json
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:28:08 +02:00
tristan 27b9c39f26 fix : refresh button style 2026-04-06 16:22:12 +02:00
tristan b297de862c feat : add health metrics block on environment detail
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 16:12:04 +02:00
tristan 75530ea46a feat : add Dashboard to sidebar and redirect / to /dashboard 2026-04-06 16:10:50 +02:00
tristan 14ee2f65db feat : add dashboard page with container status overview 2026-04-06 16:10:37 +02:00
tristan 114a29eb0f feat : add i18n translations for dashboard and health
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 16:09:38 +02:00
tristan ce9b9a598b feat : add frontend dashboard types and service
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 16:09:27 +02:00
tristan a2eab27da1 feat : add EnvironmentHealthProvider for detailed env metrics 2026-04-06 16:08:43 +02:00
tristan e2000352f5 feat : add DashboardProvider for container status overview 2026-04-06 16:08:41 +02:00
tristan 0acb8b28e5 feat : add Dashboard and EnvironmentHealth API Platform DTOs 2026-04-06 16:08:02 +02:00
tristan 15ad990756 feat : add DockerService for container status and stats 2026-04-06 16:07:52 +02:00
tristan ae8e033152 docs : plan d'implementation phase 2b dashboard sante
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:05:04 +02:00
tristan f487c929fd docs : spec phase 2b dashboard sante
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:02:57 +02:00
tristan 7127bdfdfc fix : use Docker Registry V2 Bearer token auth for Gitea
The Gitea container registry requires a two-step auth flow:
1. Get Bearer token from /v2/token with Basic auth
2. Use Bearer token for /v2/{owner}/{package}/tags/list

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:53:15 +02:00
tristan 5d2aba634e feat : add deploy modal with tag selection and result display 2026-04-06 15:25:56 +02:00
tristan 046feab8ac feat : add i18n translations for deploy feature 2026-04-06 15:24:30 +02:00
tristan aa42a0ee35 feat : add frontend deploy types and service 2026-04-06 15:24:17 +02:00
tristan 73849b3ef8 feat : add DeployProcessor for triggering deployments
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 15:23:39 +02:00
tristan 2107e95188 feat : add TagListProvider for listing registry tags
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 15:23:30 +02:00
tristan d6948a8155 feat : add TagList and DeployResult API Platform DTOs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 15:23:23 +02:00
tristan d9aebe2be2 feat : add DeployService for executing deploy scripts 2026-04-06 15:22:29 +02:00
tristan 0dbde148b7 feat : add GiteaRegistryService for listing container tags 2026-04-06 15:22:22 +02:00
tristan c1014de637 feat : add Gitea env vars, mount Docker socket and deploy dirs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:21:38 +02:00
tristan 6d6b3e171c docs : plan d'implementation phase 2a deploy et versions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:19:12 +02:00
tristan db71cc92ee docs : spec phase 2a deploiement de version et versions disponibles
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:12:17 +02:00
tristan e6aec7d95a fix : use MalioButton/MalioButtonIcon everywhere, fix env count and fixture URLs
- Replace all native HTML buttons with MalioButton and MalioButtonIcon components
- Add app:read group on environments relation to fix 0 count in list
- Fix fixture URLs (http for apps, https for gitea)
- Maintenance icons: alert-outline (activate) / shield-check-outline (deactivate)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 14:38:34 +02:00
tristan 4a43770238 fix : add labels on log file fields and use MalioButtonIcon for delete
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 14:05:28 +02:00
tristan 157d7c96b9 style : use modal component for forms based on Lesstime pattern
- Create reusable AppModal component (Teleport, backdrop blur, transitions)
- Replace inline forms with modals on list and detail pages
- Consistent with Lesstime TaskModal design (header, body scroll, footer)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 14:02:51 +02:00
tristan 3a3a46992c style : align design with SIRH/Lesstime visual patterns
- Remove max-width constraint, use responsive padding (px-4 sm:px-8 lg:px-16)
- Replace heavy border cards with bg-tertiary-500 backgrounds
- Use primary-500 colored titles like SIRH
- Use neutral color palette instead of m-* custom colors
- Auto-fill grid for responsive card layout
- Consistent button styles with SIRH/Lesstime patterns

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:51:23 +02:00
tristan 8366e00017 fix : add missing imports in services and pages
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:46:47 +02:00
tristan df51feaba6 feat : redirect authenticated users to /applications
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:40:34 +02:00
tristan e1dd04488e feat : add application detail page with environment management
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:39:56 +02:00
tristan 0ec551e717 feat : add applications list page, replace old dashboard
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:37:44 +02:00
tristan 71c0821248 feat : add i18n translations for applications and environments 2026-04-06 13:36:09 +02:00
tristan e3044f82b0 feat : add environments service with maintenance toggle 2026-04-06 13:35:26 +02:00
tristan 9673ea0125 feat : add applications CRUD service 2026-04-06 13:35:14 +02:00
tristan a2e849e168 feat : add Application/Environment/LogFile TypeScript types 2026-04-06 13:34:48 +02:00
tristan 3ffe7904b3 feat : add application, environment, logfile fixtures
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:33:36 +02:00
tristan 467c2fcef8 refactor : remove old YAML-based application config system
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:32:17 +02:00
tristan bf62ccf9e9 refactor : rewrite MaintenanceToggleProcessor for Environment entity
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:31:33 +02:00
tristan 77dc804547 feat : add migration for application, environment, log_file tables
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:30:44 +02:00
tristan 25ca2fb6ca feat : add LogFile entity
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:30:01 +02:00
tristan d292ddbbbe feat : add Environment entity with API Platform resource
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:29:41 +02:00
tristan 82169b254c feat : add Application entity with API Platform resource
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 13:29:01 +02:00
tristan 6f26202bcb docs : plan d'implementation phase 1 applications et environnements
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:25:06 +02:00
tristan 969ca37d9f docs : spec phase 1 gestion applications et environnements
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:17:47 +02:00
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
parameters:
app.version: '0.1.15'
app.version: '0.1.11'
+1 -1
View File
@@ -21,7 +21,7 @@ use Symfony\Component\Serializer\Attribute\Groups;
new Post(
uriTemplate: '/applications/{slug}/environments',
uriVariables: [
'slug' => new Link(toProperty: 'application', fromClass: Application::class, identifiers: ['slug']),
'slug' => new Link(fromClass: Application::class, fromProperty: 'environments'),
],
security: "is_granted('ROLE_ADMIN')",
),