Skip to content

feat: add sandbox env injection case via cloud control#19383

Merged
KKould merged 9 commits intodatabendlabs:mainfrom
KKould:feat/sandbox_udf_env
Feb 25, 2026
Merged

feat: add sandbox env injection case via cloud control#19383
KKould merged 9 commits intodatabendlabs:mainfrom
KKould:feat/sandbox_udf_env

Conversation

@KKould
Copy link
Copy Markdown
Member

@KKould KKould commented Feb 2, 2026

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

The previous Resource interface in this PR was relatively simple and limited. It has since been expanded into separate Create / List / Alter / Delete interfaces and renamed to Worker. The syntax design also takes inspiration from CREATE WAREHOUSE (https://docs.databend.com/sql/sql-commands/ddl/warehouse/create-warehouse
), which is conceptually similar to our warehouse abstraction.

As with the earlier Resource design, each Worker corresponds to a single UDF, and the cloud starts the corresponding worker based on the function name.

Originally, ENV was intended to be passed via tags, similar to CREATE WAREHOUSE. However, due to the security risks of transmitting environment variables in plaintext, ENV configuration is now managed by the cloud instead.

example:

CREATE WORKER read_env;
CREATE WORKER IF NOT EXISTS read_env;
CREATE WORKER read_env WITH size='small', auto_suspend='300', auto_resume='true', max_cluster_count='3', min_cluster_count='1';

ALTER WORKER read_env SET size='medium', auto_suspend='600';
ALTER WORKER read_env UNSET size, auto_suspend;
ALTER WORKER read_env SET TAG purpose='sandbox', owner='ci';
ALTER WORKER read_env UNSET TAG purpose, owner;

SHOW WORKERS;

ALTER WORKER read_env SUSPEND;
ALTER WORKER read_env RESUME;

DROP WORKER read_env;
DROP WORKER IF EXISTS read_env;

Tips:
At the moment, the experience of using environment variables in Sandbox UDFs may feel somewhat fragmented. After creating a UDF, users still need to manually configure the environment variables in the cloud, which is an area that could be improved.

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Bug Fix (non-breaking change which fixes an issue)
  • New Feature (non-breaking change which adds functionality)
  • Breaking Change (fix or feature that could cause existing functionality not to work as expected)
  • Documentation Update
  • Refactoring
  • Performance Improvement
  • Other (please describe):

This change is Reviewable

@KKould KKould self-assigned this Feb 2, 2026
@github-actions github-actions bot added the pr-feature this PR introduces a new feature to the codebase label Feb 2, 2026
@KKould KKould requested a review from everpcpc February 2, 2026 08:29
@KKould KKould marked this pull request as ready for review February 10, 2026 02:36
@KKould KKould requested a review from sundy-li February 10, 2026 02:37
@KKould
Copy link
Copy Markdown
Member Author

KKould commented Feb 10, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2b8e258c54

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@KKould KKould merged commit 23b040e into databendlabs:main Feb 25, 2026
89 checks passed
@sundy-li
Copy link
Copy Markdown
Member

📚 Documentation Added

I've created comprehensive documentation for the WORKER feature introduced in this PR:

PR: databendlabs/databend-docs#3083
Title: docs: add WORKER documentation for PR #19383
URL: databendlabs/databend-docs#3083

The documentation includes:

New Documentation

    • Complete WORKER documentation directory
    • Overview of WORKER functionality
    • CREATE WORKER syntax and examples
    • SHOW WORKERS syntax and output format
    • ALTER WORKER syntax (SET/UNSET options, tags, SUSPEND/RESUME)
    • DROP WORKER syntax and behavior
    • Comprehensive usage examples and best practices

Documentation Updates

  • Updated DDL index page to include WORKER in Resource Management section
  • Updated UDF documentation to reference WORKER management
  • Added sidebar navigation configuration

The documentation covers all aspects of the WORKER feature as implemented in this PR, including syntax examples based on the test cases in .

This should help users understand and effectively use the new WORKER management capabilities for UDF execution environments in Databend Cloud.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-feature this PR introduces a new feature to the codebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants