Skip to content
Merged
Changes from 1 commit
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
Next Next commit
feat: client-side flags in e2e k8s demo
Signed-off-by: Todd Baert <[email protected]>
  • Loading branch information
toddbaert committed Dec 6, 2023
commit 5e467d9ac54692f76352df22ef8afa1471f365ce
50 changes: 40 additions & 10 deletions config/k8s/end-to-end.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: core.openfeature.dev/v1beta1
kind: FeatureFlag
metadata:
name: end-to-end
name: ui-flags
labels:
app: open-feature-demo
spec:
Expand Down Expand Up @@ -30,6 +30,17 @@ spec:
- email
- yellow
- null
---
# A basic flag custom resource
apiVersion: core.openfeature.dev/v1beta1
kind: FeatureFlag
metadata:
name: app-flags
labels:
app: open-feature-demo
spec:
flagSpec:
flags:
fib-algo:
variants:
recursive: recursive
Expand All @@ -53,20 +64,22 @@ spec:
'off': false
defaultVariant: 'off'
---
# Feature flag source custom resource, configuring flagd to source flags from FeatureFlag crd
# Feature flag source custom resource, configuring flagd to source flags from FeatureFlag CRDs
apiVersion: core.openfeature.dev/v1beta1
kind: FeatureFlagSource
metadata:
name: end-to-end
name: flag-sources
labels:
app: open-feature-demo
spec:
sources:
- source: end-to-end
- source: app-flags
provider: kubernetes
- source: ui-flags
provider: kubernetes

---
# Deployment of a demo-app using our custom resource
# Deployment of a demo-app using our custom resources
apiVersion: apps/v1
kind: Deployment
metadata:
Expand All @@ -84,7 +97,7 @@ spec:
app: open-feature-demo
annotations:
openfeature.dev/enabled: "true"
openfeature.dev/featureflagsource: "end-to-end"
openfeature.dev/featureflagsource: "flag-sources"
spec:
containers:
- name: open-feature-demo
Expand All @@ -93,21 +106,38 @@ spec:
- flagd
ports:
- containerPort: 30000

env:
- name: FLAGD_PORT_WEB
value: "30002"
---
# Service exposed using NodePort
# Service to expose our application
apiVersion: v1
kind: Service
metadata:
name: open-feature-demo-service
name: open-feature-demo-app-service
labels:
app: open-feature-demo
spec:
type: NodePort
selector:
app: open-feature-demo
ports:
# By default and for convenience, the `targetPort` is set to the same value as the `port` field.
- port: 30000
targetPort: 30000
nodePort: 30000
---
# Service to expose flagd for client-side evaluations
apiVersion: v1
kind: Service
metadata:
name: open-feature-demo-ui-service
labels:
app: open-feature-demo
spec:
type: NodePort
selector:
app: open-feature-demo
ports:
- port: 30002
targetPort: 8013
nodePort: 30002