Skip to content

Staging - #61

Merged
RustyRory merged 64 commits into
devfrom
staging
Jun 1, 2026
Merged

Staging#61
RustyRory merged 64 commits into
devfrom
staging

Conversation

@RustyRory

Copy link
Copy Markdown
Owner

No description provided.

RustyRory and others added 30 commits April 27, 2026 12:31
RustyRory and others added 29 commits May 20, 2026 14:24
- eslint.config.js: add confirm/alert globals, add removeContainer/deleteDeployApp to allowed unused vars pattern
- compose.js: replace literal spaces with {2} in regex (no-regex-spaces)
- server.js: remove unused testConfig import
- deploy.js: remove unused composeUp/composeRebuild imports

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a checkbox in both the nginx add form and the deploy clone form.
When checked, generates proxy_pass without trailing slash so the path
prefix is preserved — needed for Next.js apps with basePath.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Nouvelle architecture backend orientée "projet" :
- registry.js : CRUD apps.json v2 avec historique des déploiements (10 max)
- build.js : capture logs build sur disque + EventEmitter pour WS temps réel
- metrics.js : CPU/RAM via Docker stats API
- deploy.js : machine d'état PENDING→BUILDING→STARTING→RUNNING/FAILED avec
  logs persistés, git spawn streamé, healthcheck HTTP post-deploy
- compose.js : ajout composeRebuildStreaming() avec capture stdout/stderr
- docker.js : ajout getContainersByNames()
- server.js : nouvelles routes /api/projects CRUD + déploiements + env + métriques
  WS build logs (/ws?deployId=) + container logs (/ws?container=)
- data/apps.json : migration vers schéma v2 (id, gitUrl, branch, deployments[])

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Nouvelle architecture frontend par projet (sidebar + vue unifiée) :
- index.html : shell SPA minimal (sidebar + main + modal overlay)
- style.css : dark theme complet (Railway-inspired), login + home pages gardées
- store.js : état global pub/sub pour les projets
- api.js : tous les appels fetch centralisés (projets, deploy, containers, env, WS)
- app.js : router hash-based + polling 5s + bootstrap
- views/sidebar.js : liste projets avec dots de statut, modal nouveau projet
- views/project.js : vue projet à 4 onglets :
  · Overview → containers (CPU/RAM live), nginx status, dernier déploiement
  · Deployments → historique + deploy form + logs de build en WS temps réel
  · Variables → éditeur .env avec charger .env.example
  · Paramètres → config git/nginx/port + danger zone suppression
- deploy.js : séparation createDeploymentRecord / runDeployment (retour deployId)
- server.js : retourne deployId sur POST /api/projects/:id/deployments

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Merge de feat/v2-redesign → staging

Sprint 1 — Backend :
- registry.js : CRUD apps.json v2 avec historique déploiements (10 max)
- build.js : capture logs build sur disque + EventEmitter WS temps réel
- metrics.js : CPU/RAM via Docker stats API
- deploy.js : machine d'état PENDING→BUILDING→STARTING→RUNNING/FAILED
  avec logs persistés, git spawn streamé, healthcheck HTTP post-deploy
- Nouvelles routes /api/projects CRUD + déploiements + métriques
- WS build logs (/ws?deployId=) + container logs (/ws?container=)

Sprint 2 — Frontend :
- SPA Vanilla JS avec router hash-based
- Sidebar projets avec dots de statut temps réel
- Vue projet unifiée : Overview | Deployments | Variables | Paramètres
- Logs de build en streaming WebSocket pendant le deploy
- Métriques CPU/RAM par container
- Modal nouveau projet, exec, logs container

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@RustyRory
RustyRory merged commit 4bb1983 into dev Jun 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant