Skip to content

Conversation

@jdye64
Copy link
Collaborator

@jdye64 jdye64 commented Aug 13, 2025

Description

This PR splits the monolithic nv-ingest-ms-runtime service into 2 separate, and new, services.

  • nv-ingest-rest-api
  • nv-ingest-worker

The driver for this change is several things.

  • Scalability. The REST API and worker services can be independently scaled to allow for more fine grained control of traffic
  • Canary releases where worker components can be individually upgraded in production while leaving REST API services live
  • Ease reverse proxy setups in Helm

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.
  • If adjusting docker-compose.yaml environment variables have you ensured those are mimicked in the Helm values.yaml file.

@copy-pr-bot
Copy link

copy-pr-bot bot commented Aug 13, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

- ${DATASET_ROOT:-./data}:/workspace/data
cap_add:
- sys_nice
environment:
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like having 2 services that share basically the same environment variables simply because trying to keep things synced never ends well. Just leaving here for now and we can discuss approaches.

Notice nv-ingest-rest-api has nearly the same variables

It also seems cumbersome to try and say "well rest-api only needs these envs but then worker needs these other ones and some of the same" seems like blanket of all env variables and a single place to store them all would be preferred. Also easier for docs

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need any of the args above for the rest service? I didn't think we were doing any real work there.

Copy link
Collaborator

@drobison00 drobison00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine overall. Would just like to rename nv-ingest-worker to nv-ingest-service. Also had a question about environment variables for the REST service.

capabilities: [gpu]


nv-ingest-worker:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we call this nv-ingest-service, so it aligns with all the unit tests.

- ${DATASET_ROOT:-./data}:/workspace/data
cap_add:
- sys_nice
environment:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need any of the args above for the rest service? I didn't think we were doing any real work there.

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.

2 participants