You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/annotations.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Example:
8
8
```yaml
9
9
metadata:
10
10
annotations:
11
-
openfeature.dev/enabled: "true"
11
+
openfeature.dev/enabled: "true"
12
12
```
13
13
14
14
### `openfeature.dev/flagsourceconfiguration`
@@ -18,11 +18,11 @@ If no namespace is provided it is assumed that the CR is within the same namespa
18
18
If multiple CRs are provided, they are merged with the latest taking precedence, for example, in the scenario below, `config-B` will take priority in the merge, replacing duplicated values that are set in `config-A`.
| MetricsPort | Defines the port for flagd to serve metrics on | optional `int32`| `8013` |
45
-
| Port | Defines the port for flagd to listen on | optional `int32` | `8014` |
46
-
| SocketPath | Defines the unix socket path to listen on | optional `string` | `""` |
47
-
| SyncProviderArgs | String arguments passed to the sidecar on startup, flagd documentation can be found [here](https://github.com/open-feature/flagd/blob/main/docs/configuration/configuration.md) | optional `array of strings`, key values separated by `=`, e.g `key=value` | `""` |
48
-
| Image | Allows for the sidecar image to be overridden | optional `string` | `ghcr.io/open-feature/flagd` |
49
-
| Tag | Tag to be appended to the sidecar image | optional `string` | `main` |
50
-
| Sources | An array of objects defining configuration and sources for each sync provider to use within flagd, documentation of the object is directly below this table | optional `array of objects` |`[]` |
51
-
| EnvVars | An array of environment variables to be applied to the sidecar, all names become prepended with the EnvVarPrefix | optional `array of environment variables` | `[]` |
52
-
| EnvVarPrefix | String value defining the prefix to be applied to all environment variables applied to the sidecar| optional `string` | `FLAGD` |
53
-
| DefaultSyncProvider | Defines the default provider to be used, can be set to `kubernetes`, `filepath` or `http`. | optional `string` | `kubernetes` |
54
-
| RolloutOnChange | When set to true the operator will trigger a restart of any `Deployments` within the `FlagSourceConfiguration` reconcile loop, updating the injected sidecar with the latest configuration. | optional `boolean` | `false` |
| MetricsPort | Defines the port for flagd to serve metrics on | optional `int32`| `8013` |
45
+
| Port | Defines the port for flagd to listen on | optional `int32` | `8014` |
46
+
| SocketPath | Defines the unix socket path to listen on | optional `string` | `""` |
47
+
| SyncProviderArgs | String arguments passed to the sidecar on startup, flagd documentation can be found [here](https://github.com/open-feature/flagd/blob/main/docs/configuration/configuration.md) | optional `array of strings`, key values separated by `=`, e.g `key=value` | `""` |
48
+
| Image | Allows for the sidecar image to be overridden | optional `string` | `ghcr.io/open-feature/flagd` |
49
+
| Tag | Tag to be appended to the sidecar image | optional `string` | `main` |
50
+
| Sources | An array of objects defining configuration and sources for each sync provider to use within flagd, documentation of the object is directly below this table | optional `array of objects` | `[]` |
51
+
| EnvVars | An array of environment variables to be applied to the sidecar, all names become prepended with the EnvVarPrefix | optional `array of environment variables` | `[]` |
52
+
| EnvVarPrefix | String value defining the prefix to be applied to all environment variables applied to the sidecar| optional `string` | `FLAGD` |
53
+
| DefaultSyncProvider | Defines the default provider to be used, can be set to `kubernetes`, `filepath` or `http`. | optional `string` | `kubernetes` |
54
+
| RolloutOnChange | When set to true the operator will trigger a restart of any `Deployments` within the `FlagSourceConfiguration` reconcile loop, updating the injected sidecar with the latest configuration. | optional `boolean` | `false` |
55
55
56
56
## Source Fields
57
57
58
-
| Field | Behavior | Type |
59
-
|----------- | ----------- | -----------|
60
-
| Source | Defines the URI of the flag source, this can be either a `host:port` or the `namespace/name` of a `FeatureFlagConfiguration` | `string` |
61
-
| Provider | Defines the provider to be used, can be set to `kubernetes`, `filepath` or `http`. If not provided the default sync provider is used. | optional `string` |
62
-
| HttpSyncBearerToken | Defines the bearer token to be used with a `http` sync. Has no effect if `Provider` is not `http` | optional `string` |
| Source | Defines the URI of the flag source, this can be either a `host:port` or the `namespace/name` of a `FeatureFlagConfiguration` | `string` |
61
+
| Provider | Defines the provider to be used, can be set to `kubernetes`, `filepath` or `http`. If not provided the default sync provider is used. | optional `string` |
62
+
| HttpSyncBearerToken | Defines the bearer token to be used with a `http` sync. Has no effect if `Provider` is not `http` | optional `string` |
The `manager-role` applies the rules described below, its definition can be found [here](../config/rbac/role.yaml). It provides the operator with sufficient permissions over the `core.openfeature.dev` resources, and the required permissions for injecting the `flagd` sidecar into appropriate pods. The `ConfigMap` permissions are needed to allow the mounting of `FeatureFlagConfiguration` resources for filepath syncs.
The `flagd-kubernetes-sync` role providers the permission to get, watch and list all `core.openfeature.dev` resources, permitting the kubernetes sync feature in injected `flagd` containers.
47
46
Its definition can be found [here](../config/rbac/flagd_kubernetes_sync_clusterrole.yaml).
48
47
During startup the operator will backfill permissions to the `flagd-kubernetes-sync` cluster role binding from the current state of the cluster, adding all service accounts from pods with the `core.openfeature.dev/enabled` annotation set to `"true"`, preventing unexpected behavior during upgrades.
|`core.openfeature.dev`|`FlagSourceConfiguration`| get, watch, list |
52
+
|`core.openfeature.dev`|`FeatureFlagConfiguration`| get, watch, list |
54
53
55
54
When a `Pod` has the `core.openfeature.dev/enabled` annotation value set to `"true"`, its `Service Account` is added as a subject for this role's `Role Binding`, granting it all required permissions for watching its associated `FeatureFlagConfigurations`. As a result `flagd` can provide real time events describing flag configuration changes.
0 commit comments