Skip to content

Conversation

@Rohan-flutterint
Copy link
Contributor

  • Added --allow-experimental and --allow-beta CLI flags and wired them into service startup so unstable components are only loaded when explicitly requested
  • Introduced gating in the component environment to block beta/experimental plugins unless they are enabled, with opt-ins available via AllowExperimental/AllowBeta and stream-builder options for programmatic control
  • Updated manager creation to respect the environment gating by constructing metrics and tracers through the global environment
  • Closes : Experimental / beta components should require user to 'opt in'. #426

Added --allow-experimental and --allow-beta CLI flags and wired them into service startup so unstable components are only loaded when explicitly requested

Introduced gating in the component environment to block beta/experimental plugins unless they are enabled, with opt-ins available via AllowExperimental/AllowBeta and stream-builder options for programmatic control

Updated manager creation to respect the environment gating by constructing metrics and tracers through the global environment
@Rohan-flutterint Rohan-flutterint changed the title Added --allow-experimental and --allow-beta CLI flags #426 Added --allow-experimental and --allow-beta CLI flags Aug 11, 2025
@joeblew999
Copy link

Great idea !!

@jem-davies
Copy link
Collaborator

jem-davies commented Aug 27, 2025

@rohankumardubey - thanks for the effort with such a quick PR again 🚀

I had raised this as an issue because it's bad that the only thing to warn users regarding beta/experimental components are the warnings on the doc site - and that it would be cool if we had something like feature-gates from kubernetes.

The problem with fixing this, is that we will inevitably break the public API, and therefore to maintain semantic versioning, we would need to release it on a Major version update. Also prior to that we will need to review the state of experimental & beta components.

Maybe we could alter such that we log warnings for now, on a minor release, and mark this for a major release?

@jem-davies
Copy link
Collaborator

Going to pick this up and alter such that we emit warnings for now

@jem-davies
Copy link
Collaborator

jem-davies commented Oct 23, 2025

OK so with #507 - we can flag the warnings (and in future potential terminal errors) at the time we Lint the configuration - meaning that we won't instantiate any components before shutting down. i.e. Catching the experimental / beta component earlier than the approach used here.

@jem-davies jem-davies closed this Oct 23, 2025
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.

Experimental / beta components should require user to 'opt in'.

3 participants