[codex] Complete Rust runtime cutover#4
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0727ea3484
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| build: | ||
| context: . | ||
| args: | ||
| INSTALL_LOCAL_LLM: ${INSTALL_LOCAL_LLM:-false} | ||
| context: ./rust/iscy-backend |
There was a problem hiding this comment.
Run Rust migrations before serving Compose app
With the Compose service now starting the Rust image directly, a fresh postgres_data volume only contains an empty Postgres database: main.rs runs init-demo/migrate only when that CLI argument is passed, while normal startup just connects the stores. The previous app entrypoint ran migrations before serving, so the documented cp .env.*.example .env && make dev-up/prod-up flow now comes up healthy on /health/live but the first dashboard/API request fails against missing tables such as processes_process and risks_risk. Add an init/migration step to this service startup path or a one-shot dependency before the server is marked ready.
Useful? React with 👍 / 👎.
| ports: | ||
| - "${ISCY_HTTP_PORT:-9000}:9000" |
There was a problem hiding this comment.
Keep the Rust app port out of prod/stage Compose
Because this ports mapping lives in the base file, it is inherited when running docker-compose.yml with docker-compose.prod.yml or docker-compose.stage.yml, so production/stage expose the Axum app directly on host port 9000 in addition to Nginx on 80/8080. That bypasses the reverse-proxy-only path configured in those overlays (host routing, body-size limits, future TLS) and can also collide with another local dev instance; move this mapping to the dev override or explicitly clear it in the prod/stage overlays.
Useful? React with 👍 / 👎.
Summary
Completes the Rust runtime cutover by removing the remaining Django/Python application runtime and making the Rust Axum backend the only app process.
What changed
apps/,config/,templates/,manage.py,requirements*.txt, the root PythonDockerfile, and the Python Docker entrypoint.appbuildsrust/iscy-backenddirectly and serves on port 9000.seeds/, which are required by compile-timeinclude_str!usage.Validation
nix develop --command cargo fmt --manifest-path rust/iscy-backend/Cargo.toml -- --checknix develop --command cargo test --manifest-path rust/iscy-backend/Cargo.tomlnix develop --command cargo clippy --manifest-path rust/iscy-backend/Cargo.toml --all-targets -- -D warningsnix flake showNotes
Docker Compose config validation could not be run in the local shell because
dockeris not installed in this environment; the CIdocker-configjob should cover this on GitHub Actions.