feat(creator): commit real OmniVoice compose file (not a doc snippet) - #1846
Conversation
…yml) #1845 left the compose as a doc snippet because docker-compose*.yml is guard- protected by basename. Fix: name it omnivoice.compose.yml (outside the glob) and commit it for real, so 'make -C pmoves omnivoice-up' works without the operator hand-pasting from SPARK_DEPLOY.md. Repoints OMNIVOICE_COMPOSE to the new path. Service unchanged (omnivoice-server, :8002, GPU reservation, HF cache volume, profiles creator/voice, OMNIVOICE_PLATFORM arm64 hook for SPARK). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughRenames the OmniVoice Docker Compose file from ChangesOmniVoice Compose File Rename and Service Definition
Estimated code review effort🎯 2 (Simple) | ⏱️ ~5 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
pmoves/services/creator-operator/omnivoice.compose.yml (1)
30-30: ⚡ Quick winConsider using
*_FILEpattern for OMNIVOICE_TOKEN secret per secret-hardening conventions.The
OMNIVOICE_TOKENenvironment variable is read directly from the environment without using a file-based pattern (e.g.,OMNIVOICE_TOKEN_FILE). According to PMOVES secret-hardening conventions, critical secrets should prefer file-based loading (*_FILEpaths) to avoid plaintext secret exposure in process environment.While the field is optional (defaults to empty), the pattern still deviates from guideline recommendations. Consider:
- Using
${OMNIVOICE_TOKEN_FILE:-}and loading the token from a mounted secret file, or- Implementing a central env helper that manages token injection
This is a good-to-have hardening improvement rather than a blocker, since the token is optional and the field allows operators to override. If your deployment already handles secret injection at a higher level, you may defer this.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@pmoves/services/creator-operator/omnivoice.compose.yml` at line 30, The OMNIVOICE_TOKEN environment variable in the omnivoice.compose.yml file is using direct environment variable binding instead of the file-based secret pattern. Replace the current OMNIVOICE_TOKEN=${OMNIVOICE_TOKEN:-} with a file-based approach by either changing it to OMNIVOICE_TOKEN_FILE=${OMNIVOICE_TOKEN_FILE:-} and ensuring your application loads the token from the specified file path, or implement a central environment helper that manages secure token injection. This aligns with PMOVES secret-hardening conventions and reduces the risk of plaintext secret exposure in process environment listings.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@pmoves/services/creator-operator/omnivoice.compose.yml`:
- Line 30: The OMNIVOICE_TOKEN environment variable in the omnivoice.compose.yml
file is using direct environment variable binding instead of the file-based
secret pattern. Replace the current OMNIVOICE_TOKEN=${OMNIVOICE_TOKEN:-} with a
file-based approach by either changing it to
OMNIVOICE_TOKEN_FILE=${OMNIVOICE_TOKEN_FILE:-} and ensuring your application
loads the token from the specified file path, or implement a central environment
helper that manages secure token injection. This aligns with PMOVES
secret-hardening conventions and reduces the risk of plaintext secret exposure
in process environment listings.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 42184683-7467-495d-a66c-0f79820ffd42
📒 Files selected for processing (2)
pmoves/Makefilepmoves/services/creator-operator/omnivoice.compose.yml
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 444e99f2e4
ℹ️ 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".
|
No high-severity findings from coderabbitai[bot]. P2: 0, P3: 2 (omnivoice.compose.yml:30 — OMNIVOICE_TOKEN env-var vs |
|
Triage — chatgpt-codex-connector[bot] review P1:
P2: 0, P3: 0 Use |
…ach it Codex P2: flute-gateway normalizes OMNIVOICE_URL 127.0.0.1 -> host.docker.internal (main.py:183), which on Linux/bridge Docker resolves to the host gateway interface, not loopback — so a 127.0.0.1-published OmniVoice port was unreachable from the flute-gateway container, breaking the default in-stack deployment unless every operator overrode the bind. Default to 0.0.0.0 (access gated by OMNIVOICE_TOKEN); operators on exposed nodes with no in-container consumer can still set OMNIVOICE_BIND=127.0.0.1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Follow-up to #1845. That PR had to leave the OmniVoice compose as a paste-from-doc snippet because
docker-compose*.ymlis damage-control-protected by basename (even service-localdocker-compose.omnivoice.ymlwas blocked).Fix: name it
omnivoice.compose.yml— outside thedocker-compose*.ymlglob — and commit it as a real, usable file.make -C pmoves omnivoice-upnow works directly (the Makegate's fail-fast 'operator must install it' path is no longer hit).OMNIVOICE_COMPOSErepointed to the new path.Service definition is identical to the doc snippet:
omnivoice-serveron :8002, GPU reservation (nvidia/all),/healthzhealthcheck,omnivoice-hf-cachevolume, profiles[creator, voice],OMNIVOICE_PLATFORMarm64 hook for SPARK. Still a validate-on-SPARK scaffold (arm64 CUDA wheel TODO-confirm-on-node per SPARK_DEPLOY.md). YAML validated.🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
/healthzhealth check, configurable host/port and model-related environment options, and a persisted HuggingFace cache volume.