feat: poc for flagd as a crd proxy #421
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR
fixes #411 and introduce a proposed implementation of flagd server deployment.
How to run ?
Start server
Use the new command
server
with the required parameters. Consider checking auto-generated documentation [1].To start a non-TLS server with default address (localhost:9090) binding :
go run main.go server --source <K8s CRD>
ex:
go run main.go server --source core.openfeature.dev/test/test
To start TLS enabled server default address (localhost:9090) binding :
go run main.go server --source <K8s CRD> -s -c <cert> -k <cert_key>
ex:
go run main.go server --source core.openfeature.dev/test/test -s -c server.crt -k server.key
Start flagd (client)
Once flagd server is up and running, start flagd in
provider
mode and connect to grpc stram,go run main.go start --uri grpc://localhost:9090 --debug
.You can run multiple flagd instances to verify server behavior,
go run main.go start --uri grpc://localhost:9090 --debug -p 8023 -m 8024
NOTE - Flagd TLS connectivity is still pending #398
Components
Following diagram shows high-level implementation,
[1] - https://github.com/open-feature/flagd/blob/62dd7bba1dcdf38b56f48a284703590b6dc4e21f/docs/configuration/flagd_server.md