Skip to content

Commit 9891df2

Browse files
committed
chore: bump flagd-core in playground, add metadata example, fix doc links
Signed-off-by: Michael Beemer <[email protected]>
1 parent b2471b8 commit 9891df2

File tree

16 files changed

+1079
-3359
lines changed

16 files changed

+1079
-3359
lines changed

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
url = https://github.com/open-feature/spec.git
77
[submodule "schemas"]
88
path = schemas
9-
url = https://github.com/open-feature/schemas.git
9+
url = https://github.com/open-feature/flagd-schemas.git

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ update-public-schema: pull-schemas-submodule
137137

138138
.PHONY: run-web-docs
139139
run-web-docs: generate-docs generate-proto-docs
140-
docker build -t squidfunk/mkdocs-material . \
141-
&& docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material
140+
docker build -t flag-docs:latest . --load \
141+
&& docker run --rm -it -p 8000:8000 -v ${PWD}:/docs flag-docs:latest
142142

143143
# Run the playground app in dev mode
144144
# See the readme in the playground-app folder for more details

docs/architecture.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ erDiagram
3333

3434
### In-Process evaluation
3535

36-
In-process deployments embed the flagd evaluation engine directly into the client application through the use of an [in-process provider](./installation.md#in-process).
36+
In-process deployments embed the flagd evaluation engine directly into the client application through the use of an [in-process provider](./providers/index.md).
3737
The in-process provider is connected via the sync protocol to an implementing [gRPC service](./concepts/syncs.md#grpc-sync) that provides the flag definitions.
3838
You can use flagd as a [gRPC sync service](./reference/grpc-sync-service.md).
3939
In this mode, the flag sync stream will expose aggregated flag configurations currently configured through [syncs](./concepts/syncs.md).

docs/playground/playground.js

+42-33
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/providers/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ The following table lists all the available flagd providers.
2323
| :simple-python: [Python](./python.md) | :material-check: | :material-close: |
2424
| :material-web: [Web](./web.md) | :material-check: | :material-close: |
2525

26-
For information on implementing a flagd provider, see the specifications for [RPC](../reference/specifications/rpc-providers.md) and [in-process](../reference/specifications/in-process-providers.md) providers.
26+
For information on implementing a flagd provider, see the [specification](../reference/specifications/providers.md).

docs/providers/python.md

+1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
{%
66
include "https://raw.githubusercontent.com/open-feature/python-sdk-contrib/main/providers/openfeature-provider-flagd/README.md"
77
start="## Installation"
8+
end="## License"
89
%}

docs/reference/flag-definitions.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Example of an invalid configuration:
156156
`targeting` is an **optional** property.
157157
A targeting rule **must** be valid JSON.
158158
Flagd uses a modified version of [JsonLogic](https://jsonlogic.com/), as well as some custom pre-processing, to evaluate these rules.
159-
If no targeting rules are defined, the response reason will always be `STATIC`, this allows for the flag values to be cached, this behavior is described [here](specifications/rpc-providers.md#caching).
159+
If no targeting rules are defined, the response reason will always be `STATIC`, this allows for the flag values to be cached, this behavior is described [here](specifications/providers.md#flag-evaluation-caching).
160160

161161
#### Variants Returned From Targeting Rules
162162

docs/reference/specifications/providers.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Consistent with our [naming conventions](../naming.md), the flagd provider name
2121

2222
There are two modes of operation (`resolvers`) for flagd providers; _in-process_ and _RPC_.
2323
Both modes have their advantages and disadvantages.
24-
For more information on the architectural implications of these different modes, see the [RPC vs In-Process Evaluation](/architecture/#rpc-vs-in-process-evaluation) page.
24+
For more information on the architectural implications of these different modes, see the [RPC vs In-Process Evaluation](../../architecture.md#rpc-vs-in-process-evaluation) page.
2525

2626
## flagd Provider Lifecycle
2727

docs/schema/v0/flags.json

+32
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,21 @@
4949
"$ref": "./targeting.json"
5050
}
5151
}
52+
},
53+
"metadata": {
54+
"title": "Flag Set Metadata",
55+
"description": "Metadata about the flag set, with keys of type string, and values of type boolean, string, or number.",
56+
"properties": {
57+
"flagSetId": {
58+
"description": "The unique identifier for the flag set.",
59+
"type": "string"
60+
},
61+
"version": {
62+
"description": "The version of the flag set.",
63+
"type": "string"
64+
}
65+
},
66+
"$ref": "#/definitions/metadata"
5267
}
5368
},
5469
"definitions": {
@@ -72,6 +87,11 @@
7287
},
7388
"targeting": {
7489
"$ref": "./targeting.json"
90+
},
91+
"metadata": {
92+
"title": "Flag Metadata",
93+
"description": "Metadata about an individual feature flag, with keys of type string, and values of type boolean, string, or number.",
94+
"$ref": "#/definitions/metadata"
7595
}
7696
},
7797
"required": [
@@ -179,6 +199,18 @@
179199
"$ref": "#/definitions/objectVariants"
180200
}
181201
]
202+
},
203+
"metadata": {
204+
"type": "object",
205+
"additionalProperties": {
206+
"description": "Any additional key/value pair with value of type boolean, string, or number.",
207+
"type": [
208+
"string",
209+
"number",
210+
"boolean"
211+
]
212+
},
213+
"required": []
182214
}
183215
}
184216
}

docs/schema/v0/targeting.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -455,8 +455,7 @@
455455
}
456456
},
457457
"fractionalWeightArg": {
458-
"$comment": "if we remove the \"sum to 100\" restriction, update the descriptions below!",
459-
"description": "Distribution for all possible variants, with their associated weighting out of 100.",
458+
"description": "Distribution for all possible variants, with their associated weighting.",
460459
"type": "array",
461460
"minItems": 1,
462461
"maxItems": 2,
@@ -466,7 +465,7 @@
466465
"type": "string"
467466
},
468467
{
469-
"description": "Weighted distribution for this variant key (must sum to 100).",
468+
"description": "Weighted distribution for this variant key.",
470469
"type": "number"
471470
}
472471
]

0 commit comments

Comments
 (0)