- Query /api/devops/version endpoint to get deployed commit
- Compare deployed commit with latest commit in repository
- Warn if deployment didn't use the latest code
- Suggest --force --no-cache if commits don't match
This prevents silent deployment failures where old code is deployed.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Stop and remove existing containers before starting new ones
- Use force-recreate flag to ensure new images are used
- Fixes issue where containers weren't being updated with latest code
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Add deployment-status.sh to high-signal areas in AGENTS.md and create new
"Deployment Operations" section in README.md with usage documentation.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Add comprehensive deployment status script that provides:
- Docker container status (backend/web)
- Deployed commit information from devops endpoint
- Git repository status (branch, commits, uncommitted changes)
- Health endpoint status (local and production)
- Recent deployment history (container creation times)
- Suggested actions based on current state
Usage: ./deployment-status.sh
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Add INTERACTIVE flag to properly detect when command-line args are used
- Fix deployment script to skip menu when flags are provided
- Allow non-interactive deployment with --force, --skip-health-check, --no-cache
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Update deployment script header to document this VM as single production environment
- Clarify there are no separate staging/development environments
- All deployments go directly to production on this VM
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Ensure script always uses token from files instead of inherited
environment variable which may contain stale values.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Update to match Dockerfile changes and bypass Docker BuildKit
secret caching issues.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Update from gitea_npm_token to gitea_npm_token_v2 to match
Dockerfile changes and bypass BuildKit secret cache.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Add docker-compose.yml following trading web pattern
- Update web Dockerfile to use multi-stage build with metadata
- Add build metadata (commit SHA, branch, timestamp, author, message)
- Rewrite deploy.sh to use docker compose with build metadata
- Add hotcopy deployment script for quick updates
- Add comprehensive backend API with deployment orchestration
- Add health checks, service management, and monitoring endpoints
- Add CI/CD workflow configuration
- Add deployment documentation and guides
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Fix sidebar layout: use flexbox instead of margin-left approach
- Update sidebar to use responsive display (hidden on mobile, static on desktop)
- Fix mobile overlay z-index and positioning issues
- Add proper flex container structure to all pages
- Add new dashboard pages: health, metrics, system, env, code-quality, settings/cosmos
- Add comprehensive API client and type definitions
- Add error boundary and log viewer components
- Add test infrastructure with Vitest and Playwright
- Add Docker configuration and deployment scripts
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Add timeout to auth check to prevent hanging on API failures
- Add timeout to API requests to prevent infinite loading
- Add proper error state and error messages to dashboard
- Show empty states when no services/deployments are available
- Update E2E tests to handle authentication properly
- Improve user feedback when API is unavailable
This fixes the "Loading..." hang issue when backend APIs are unavailable
and provides better user experience with clear error messages and retry options.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Copy design tokens CSS directly into repo for Docker compatibility
- Simplify Primitives.tsx to use local design tokens instead of @bytelyst/ui
- Remove @bytelyst/ui dependency to avoid Docker build issues
- Update globals.css to import local tokens.css
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Added aria-label to logout button for better screen reader support
- Improves accessibility compliance while maintaining existing functionality
- Part of systematic UX improvements across ByteLyst applications
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Phase 1 of UX compliance implementation:
- Add .pnpmfile.cjs for local package resolution from common platform
- Install @bytelyst/ui for shared UI components
- Create Primitives.tsx product adapter for type-safe component extensions
- Integrate @bytelyst/design-tokens CSS variables
- Add lib/utils.ts with cn utility function
- Enable design token usage via CSS custom properties
This establishes the foundation for component normalization and
consistent styling across ByteLyst products, following the UX
implementation guide patterns.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
deploy-invttrdg.sh passes git-derived build args to backend and web Dockerfiles
via a build_image() helper. These surface in the new /api/devops/info endpoint
and the DevOps tab in Settings.
Auto-resolves GITEA_NPM_TOKEN from /opt/bytelyst/.gitea_token if unset, and
switches to direct docker build (--secret) instead of docker compose build
(which doesn't support --secret).
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The deployment scripts need to run docker-prep.sh before building Docker images
to package the @bytelyst/* dependencies as tarballs. This step was missing
after reverting the base image approach.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Reverting deployment script changes that were part of the base image approach.
The base image strategy is too complex for the current pnpm workspace structure.
Reverting to the proven docker-prep.sh tarball approach.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Update deploy-all.sh to pull shared base images before building, ensuring
all repos use the latest common package versions.
Changes:
- Add base image pull step (backend and web)
- Use local cache if pull fails
- Apply to all repos in deployment list
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Update deployment scripts to pull shared base images instead of running
docker-prep.sh to pack @bytelyst/* tarballs.
Changes:
- Remove docker-prep.sh execution
- Add base image pull step (backend and web)
- Use local cache if pull fails
Benefits:
- Faster deployment (no tarball packing)
- Simpler deployment process
- Consistent package versions via base images
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The deployment scripts were missing the docker-prep.sh step which is required
to pack @bytelyst/* packages into .docker-deps directory and modify package.json
files to use local tarballs. Without this, Docker build fails trying to install
packages from npm registry instead of local tarballs.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- deploy-invttrdg.sh: Single-repo deployment for trading platform
* Dirty checks (uncommitted changes, unpushed commits)
* Pre-deployment smoke tests (backend contracts, web DOM tests)
* Docker build and deployment (backend + web)
* Post-deployment validation (health checks, endpoint verification)
* Comprehensive smoke testing for production-grade deployment
- deploy-all.sh: Multi-repo deployment orchestration
* Deploy all 4 production repos or specific ones
* Same safety checks and deployment process for each repo
* Health checks for all services
- DEPLOYMENT_GUIDE.md: Complete deployment documentation
* Usage instructions for both scripts
* Service endpoint mappings
* Troubleshooting guide
* Docker management commands
These scripts enable safe, tested production deployments with
comprehensive validation at every stage.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>