Skip to content

feat(charts): Add V1 conversation API settings to openhands chart#252

Draft
jpshackelford wants to merge 1 commit into
mainfrom
add-v1-conversation-settings
Draft

feat(charts): Add V1 conversation API settings to openhands chart#252
jpshackelford wants to merge 1 commit into
mainfrom
add-v1-conversation-settings

Conversation

@jpshackelford
Copy link
Copy Markdown
Contributor

Summary

This PR adds configurable settings for V1 conversation API feature flags to the OpenHands Helm chart. These settings prepare the charts for upcoming OpenHands releases (1.0.0+) that include V1 conversation support.

Changes

New Configuration Options (values.yaml)

Added a new v1Conversations section with the following settings:

Setting Environment Variable Default Description
enableV1Routes ENABLE_V1 "true" Server-level switch that controls whether V1 API routes (/api/v1/*) are mounted
defaultV1Enabled V1_ENABLED "0" Default setting for new users - determines if their conversations use V1 API
enableV1GithubResolver ENABLE_V1_GITHUB_RESOLVER "false" Controls whether GitHub integration uses V1 conversations
enableV1SlackResolver ENABLE_V1_SLACK_RESOLVER "false" Controls whether Slack integration uses V1 conversations

Default Behavior

With these defaults:

  • V1 API routes are available (ENABLE_V1=1) - clients can use V1 endpoints if they choose
  • All conversations start as V0 (V1_ENABLED=0) - new users default to legacy V0 conversations
  • Integrations use V0 - GitHub and Slack resolvers use V0 conversation API

This provides a safe upgrade path where V1 is available but not enabled by default.

Code References (from OpenHands repo)

These settings map to the following code in OpenHands:

  1. ENABLE_V1 - openhands/server/config/server_config.py:41

    enable_v1: bool = os.getenv('ENABLE_V1') != '0'
  2. V1_ENABLED - openhands/storage/data_models/settings.py:54

    v1_enabled: bool | None = Field(default=bool(os.getenv('V1_ENABLED') == '1'))
  3. ENABLE_V1_GITHUB_RESOLVER / ENABLE_V1_SLACK_RESOLVER - enterprise/integrations/utils.py:80-85

    ENABLE_V1_GITHUB_RESOLVER = os.getenv('ENABLE_V1_GITHUB_RESOLVER', 'false').lower() == 'true'
    ENABLE_V1_SLACK_RESOLVER = os.getenv('ENABLE_V1_SLACK_RESOLVER', 'false').lower() == 'true'

Chart Version

Bumps chart version from 0.1.35 to 0.1.36.

Testing

To enable V1 conversations for all new users, override in your values:

v1Conversations:
  defaultV1Enabled: "1"

To enable V1 for GitHub resolver:

v1Conversations:
  enableV1GithubResolver: "true"

@jpshackelford can click here to continue refining the PR

Add configurable settings for V1 conversation API feature flags:
- enableV1Routes: Server-level switch for V1 API routes (default: true)
- defaultV1Enabled: Default v1_enabled setting for new users (default: 0/false)
- enableV1GithubResolver: V1 support for GitHub integration (default: false)
- enableV1SlackResolver: V1 support for Slack integration (default: false)

These settings prepare the charts for upcoming OpenHands releases (1.0.0+)
that include V1 conversation support. By default, V1 routes are available
but all conversations start as V0 conversations.

Bumps chart version to 0.1.36.

Co-authored-by: openhands <[email protected]>
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