Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions docs/eventing/experimental-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Experimental features

In Knative we want to keep the innovation alive, experimenting and delivering new features without affecting the stability of the project.

In order to achieve that goal in Knative Eventing, we have a process to include new features.
This allows users like you to try out new features and provide feedback back to the project.

This document explains how to enable experimental features and which ones are available today.

For more details about the process, the feature phases, quality requirements and guarantees, check out the [Experimental features process documentation](https://github.com/knative/eventing/blob/main/docs/experimental-features.md).

## Before you begin

You must have a Knative cluster running with the Eventing component installed. [Learn more](../install/)

## Experimental features configuration

When installing Eventing, the `config-features` ConfigMap is added to your cluster in the `knative-eventing` namespace.
In order to enable a feature, you just need to add it to the config map and set its value to `"enabled"`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Note: @eric-sap related to the other PR you're doing, it looks like it's both `` and "" 🙂 so "enabled"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

In this particular case (judging by the new-cool-feature: example text below this sentence) it looks like the quotes are literally supposed to be part of the configmap (as opposed to, say, the metadata.name or namespace, which do not have quotes). I'm unsure as to whether the yaml parser cares one way or the other. I only mention it here because in the config-kafka configmap, there are no fields that require literal double-quotes around them (nor are there examples of such in the document).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

That's my bad, i was using true and false as values before, which needs escapes. #3714

For example, to enable `new-cool-feature`:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: config-features
namespace: knative-eventing
labels:
eventing.knative.dev/release: devel
knative.dev/config-propagation: original
knative.dev/config-category: eventing
data:
new-cool-feature: "enabled"
```
Comment on lines +22 to +34
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you add the kubectl command part as per the style guide for any YAML files

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't know if there's a kubectl counterpart for modifying the config maps...


In order to disable it, you can either remove the flag or set it to `"disabled"`:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: config-features
namespace: knative-eventing
labels:
eventing.knative.dev/release: devel
knative.dev/config-propagation: original
knative.dev/config-category: eventing
data:
new-cool-feature: "disabled"
```

## Features list

<!-- TODO there are no experimental features at the moment -->
Comment thread
slinkydeveloper marked this conversation as resolved.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ nav:
- Debugging: eventing/debugging/index.md
- Accessing CloudEvent traces: eventing/accessing-traces.md
- Metrics API: eventing/metrics.md
- Experimental Features: eventing/experimental-features.md
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should probably go in the admin guide if they all require configmap editing?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🤷 I see it's the same for serving...

- Code samples:
- Overview: eventing/samples/README.md
- Container source: eventing/sources/container-source/README.md
Expand Down