Skip to content

Commit b028f20

Browse files
authored
feat: Context value hydration via flagd (#223)
Signed-off-by: Simon Schrottner <[email protected]>
1 parent f5afee5 commit b028f20

File tree

4 files changed

+42
-2
lines changed

4 files changed

+42
-2
lines changed

flags/metadata-flags.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"flags": {
3+
"flagd-context-aware": {
4+
"state": "ENABLED",
5+
"variants": {
6+
"internal": "INTERNAL",
7+
"external": "EXTERNAL"
8+
},
9+
"defaultVariant": "external",
10+
"targeting": {
11+
"if": [
12+
{
13+
"==": [
14+
{
15+
"var": [
16+
"injectedMetadata"
17+
]
18+
},
19+
"set"
20+
]
21+
},
22+
"internal",
23+
"external"
24+
]
25+
}
26+
}
27+
}
28+
}

gherkin/targeting.feature

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,9 @@ Feature: Targeting rules
144144
| missing-variant-targeting-flag | 3 |
145145
| non-string-variant-targeting-flag | 2 |
146146
| empty-targeting-flag | 1 |
147+
148+
@flagdcontext
149+
Scenario: Use Flagd provided context
150+
Given a String-flag with key "flagd-context-aware" and a default value "not"
151+
When the flag was evaluated with details
152+
Then the resolved details value should be "INTERNAL"

launchpad/configs/default.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,8 @@
88
"uri": "rawflags/selector-flags.json",
99
"provider": "file"
1010
}
11-
]
11+
],
12+
"context-value": {
13+
"injectedMetadata": "set"
14+
}
1215
}

launchpad/configs/ssl.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,8 @@
1010
"uri": "rawflags/selector-flags.json",
1111
"provider": "file"
1212
}
13-
]
13+
],
14+
"context-value": {
15+
"injectedMetadata": "set"
16+
}
1417
}

0 commit comments

Comments
 (0)