argoproj / argo-workflows

Workflow Engine for Kubernetes
https://argo-workflows.readthedocs.io/
Apache License 2.0
14.64k stars 3.14k forks source link

Support OpenFeature to toggle experimental features #12390

Open terrytangyuan opened 7 months ago

terrytangyuan commented 7 months ago

Summary

It could be potentially useful to integrate OpenFeature with Argo Workflows. https://www.cncf.io/blog/2023/12/19/openfeature-becomes-a-cncf-incubating-project/

The idea is that we can enable/disable experimental features through standardized feature flags (compatible with different flag providers) so that users won't be able to use certain features unless admins of the operator think it's stable.

We could start with some of the environment variables that toggles experimental features.


Message from the maintainers:

Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

agilgur5 commented 7 months ago

It currently requires integration with a feature flag provider though, which is additional infra or service, whereas env vars don't require anything additional.

If they added in an in-memory option that could be used instead of a provider, then we could use that by default.

terrytangyuan commented 7 months ago

You are right. It seems like we need either third-party flag provider or use flagd + OpenFeature operator: https://openfeature.dev/docs/tutorials/ofo