Skip to content

Improve go-livepeer aiRunnerImage flag [$450] #69

@rickstaa

Description

@rickstaa

Overview

Currently, the aiRunnerImage flag in orchestrators allows users to specify a single image for running AI pipelines. While effective for simple use cases, it lacks flexibility for scenarios requiring multiple pipelines with different runner containers. To change pipeline specific runner containers today, orchestrators must manually run the container and provide its URL in the aiModels.json file—a workaround that reduces efficiency and scalability. By implementing this feature you will:

  • Improve flexibility for orchestrators to manage pipeline-specific containers.
  • Enable quick rollbacks of specific pipeline containers in case of issues.
  • Allow experimentation with new features by assigning custom runners to specific pipelines without affecting others.

Desired Solution

Enhance the aiRunnerImage flag to accept both string and JSON string inputs:

  1. String Input (Existing Behavior): When a single string is provided, the flag behaves as it currently does, overriding the default runner image.
  2. JSON Input (New Behavior): When a JSON string is passed, it specifies pipeline-specific images as key-value pairs. Example:
    This configuration enables orchestrators to define different images for individual pipelines within the same flag.

Implementation Notes

  1. Code References:
  2. Backward Compatibility: Ensure the existing string input behavior remains unchanged.
  3. Validation: Implement error handling for invalid JSON inputs to prevent unexpected failures.

Bounty Requirements

  • Update the aiRunnerImage flag to support string and JSON string inputs.
  • Provide clear documentation for orchestrators on how to use this new feature.
  • Test cases for:

Applicant Requirements

  • Backend Development:

How to Apply

  1. Express Your Interest: Fill out this form, making sure to specify the bounty you are interested in
  2. Wait for Review: Our team will review expressions of interest and select the best candidate.
  3. Get Assigned: If selected, we'll contact you and assign the bounty to you.
  4. Start Working: Dive into your task! If you need assistance or guidance, join the discussions in the #developer-lounge channel on our Discord server.
  5. Submit Your Work: Create a pull request in the relevant repository and request a review.
  6. Notify Us: Ping us on Discord when you’re pull request is ready for review.
  7. Receive Your Bounty: We'll arrange the bounty payment once your pull request is approved.
  8. Gain Recognition: Your valuable contributions will be showcased in our project's changelog.

Contact Information

For questions or clarifications, please contact: hans@livepeer.org

FAQs

How is payment made? Bounties are paid out in LPT on the Arbitrum network. On acceptance of your application, we will ask for an Arbitrum-compatible wallet address from you for which we can send payment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    approvedBounties approved by Ecosystem team.bountySoftware bounies.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions