Skip to content

Commit 1595e14

Browse files
ff crd doc and todo cleanups
Signed-off-by: James Milligan <[email protected]>
1 parent 73d473b commit 1595e14

File tree

7 files changed

+42
-7
lines changed

7 files changed

+42
-7
lines changed

docs/README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,13 @@ Follow the documentation below to deploy the open feature operator to your local
1010
- [Getting Started](./getting_started.md)
1111

1212
## Configuration
13+
14+
Configuration of the deployed sidecars is handled through the `FeatureFlagConfiguration` CRs defined in the `openfeature.dev/featureflagconfiguration` annotation of a deployed `PodSpec`.
15+
> Configuration for the operator will be possible in the future, to help contribute [click here](https://github.com/open-feature/open-feature-operator/issues)
16+
1317
- [Annotations](./annotations.md)
14-
- [Permissions](./permissions.md)
18+
- [FeatureFlagConfigurations](./feature_flag_configuration.md)
1519

1620
## Other Resources
17-
- [Architecture](./architecture.md)
21+
- [Architecture](./architecture.md)
22+
- [Permissions](./permissions.md)

docs/architecture.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Architecture
22

33
The high level architecture of the operator is as follows:
4-
TODO: these annotations are wrong
54
<p align="center">
65
<img src="../images/arch-0.png" width="650">
76
</p>

docs/feature_flag_configuration.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Feature Flag Configuration
2+
3+
The `FeatureFlagConfiguration` version `v1alpha2` CRD defines the a CR with the following example structure:
4+
5+
```yaml
6+
apiVersion: core.openfeature.dev/v1alpha2
7+
kind: FeatureFlagConfiguration
8+
metadata:
9+
name: featureflagconfiguration-sample
10+
spec:
11+
flagDSpec:
12+
envs:
13+
- name: FLAGD_PORT
14+
value: "8080"
15+
featureFlagSpec:
16+
"flags": {
17+
"foo": {
18+
"state": "ENABLED",
19+
"variants": {
20+
"bar": "BAR",
21+
"baz": "BAZ"
22+
},
23+
"defaultVariant": "bar"
24+
}
25+
}
26+
```
27+
28+
Within the CRD there are 2 main objects, namely the `flagDSpec` and the `featureFlagSpec`, both offering a different set of configuration for the injected `flagd` sidecars.
29+
30+
The `featureFlagSpec` is a json object representing the flag configurations themselves, the documentation for this object can be found [here](https://github.com/open-feature/flagd/blob/main/docs/configuration/flag_configuration.md).
31+
32+
The `flagDSpec` has one property called `envs` which contains a list of environment variables used to override the default start command values in `flagd`, the documentation for this configuration can be found [here](https://github.com/open-feature/flagd/blob/main/docs/configuration/configuration.md).

docs/getting_started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ kubectl describe pod busybox-curl-7bd5767999-spf7v
8585

8686
Now that we have confirmed that the flagd sidecar has been injected and the configuration is correct we can test out the flag evaluation using curl.
8787

88-
> This would not be the usual method for evaluating flags in our applications, instead a language specific flagd provider would be used in conjunction with the OpenFeature SDK, documentation can be found here (TODO: Flagd provider page or the doc website)
88+
> This would not be the usual method for evaluating flags in our applications, instead a language specific flagd provider would be used in conjunction with the OpenFeature SDK, documentation can be found [here](https://github.com/open-feature/flagd/blob/main/docs/usage/flagd_providers.md).
8989
9090
```
9191
kubectl exec -it busybox-curl-7bd5767999-spf7v sh

docs/installation.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
## Prerequisites
55

6-
Cert manager is required by the operator, the installation docs can be found [here](https://cert-manager.io/docs/installation/kubernetes/). (see why here TODO).
6+
OpenFeature Operator is a server that communicates with Kubernetes components within the cluster, as such it requires a means of authorizing requests between peers. Cert manager handles the authorization by adding certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates.
7+
The installation docs for cert manager can be found [here](https://cert-manager.io/docs/installation/kubernetes/).
78
Alternatively, running the commands below will install cert manager into the `cert-manager` namespace.
89

910
```

docs/permissions.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Permissions
22

3-
TODO: these perms seem very permissive, might be worth investigating
4-
53
The open feature operator uses the `open-feature-operator-controller-manager` service account, this service account contains the following `RoleBindings`:
64
- `open-feature-operator-leader-election-role` (role name: `leader-election-role`)
75
- `open-feature-operator-manager-role` (role name: `manager-role`)

images/arch-0.png

15.6 KB
Loading

0 commit comments

Comments
 (0)