Support an isolated beta/staging environment
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- docker, docker-compose, javascript, mongodb, node.js, postgresql, react, redis
- Ambito
- api, backend, ci-cd, cloud, databases, devops, documentation, infrastructure
Direzione di ricerca
Inizia individuando la configurazione Compose e lo script di deployment attualmente per un singolo ambiente, quindi traccia l’API, Socket.IO, le origins della build del client, i secrets e le destinazioni del database. Il lavoro è completato quando beta dispone di risorse di deployment e dati isolate, della gestione di rollback e health-check e di procedure documentate per deployment, reset e data-seeding.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Goal
Add a beta/staging environment where changes can be tested without disrupting active production races.
Current constraints
The production host currently has:
- 1 vCPU
- 1.9 GiB RAM with no swap
- About 738 MiB available RAM during normal operation
- About 505 MiB used by the existing Docker containers
- About 14 GiB free disk space after routine cleanup
Normal beta traffic would be negligible. The main constraints are the fixed memory cost of duplicated services and contention from building images on the single CPU. A fully duplicated stack would add roughly 500 MiB at idle, leaving too little safety margin on the current host.
Recommended direction
Prefer a fully isolated beta stack on a separate small VPS. This keeps beta deployments, migrations, restarts, memory spikes, and broken builds from affecting production. An on-demand VPS that is stopped when unused could keep the cost low.
If beta must share the production host, first resize it to at least 4 GiB RAM, add service resource limits, and build images in CI rather than on the server.
Likely implementation work
- Add beta.letscube.net, TLS, and a separately registered WCA OAuth callback.
- Parameterize the Compose project name and currently single-environment deployment script.
- Use separate secrets, sessions, Mongo database, PostgreSQL database, Redis namespace or instance, and migration target.
- Configure beta API, Socket.IO, CORS, and client build origins.
- Separate deployment locks, logs, image and rollback tags, health checks, and backups.
- Prefer CI-built images that each environment pulls and deploys.
- Document beta deployment, rollback, reset, and data-seeding procedures.
Rough effort
- Minimal usable environment: 1–2 focused days.
- Polished setup with CI image builds, verified rollback, documentation, and end-to-end testing: 2–4 days.
Alternative options
- Run beta API/socket processes against logically isolated databases on the current host: lower memory use, but it shares production failure modes.
- Run a fully isolated beta stack on demand on the current host: workable only with careful resource management and still risks production contention.
- Host only a beta client against production: very low effort, but it does not safely test backend, protocol, migration, or deployment changes.
- Lingua principale
- JavaScript
- Stelle
- 30
- Fork
- 9
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di coder13/LetsCube
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
area: data area: platform enhancement priority: P1
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
Tutte le issue di coder13/LetsCube
Issue simili
-
NoCode.vue, Task.vue: replace explicit `any` with real typesForse già presa @prayas-bit l’ha presa oggi. Apertaarea/frontend good first issue kind/cooldown
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
kestra-io/kestra#20347 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Electron/Chromium StatusNotifierItem unreachable via unique bus name, tray icon never appearsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
ubuntu/gnome-shell-extension-appindicator#676 · 1 commento ·
-
first-Agent inherits Docker TLS settings for its recorded Unix socketForse già presa @ericcaiwx-star l’ha presa oggi. Apertaclawsweeper:bulk-filed clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
openclaw/openclaw-enterprise#1337 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue quality
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
StudentSuite/awesome-student-resources#554 ·
I maintainer di solito rispondono entro 1 giorno