Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Evaluation snapshot service #2330

Merged
merged 15 commits into from
Nov 7, 2023
Merged

Conversation

markphelps
Copy link
Collaborator

Creates an internal evaluation snapshot service for use by #2322

Copy link
Contributor

github-actions bot commented Nov 2, 2023

Uffizzi Ephemeral Environment deployment-40219

☁️ https://app.uffizzi.com/github.com/flipt-io/flipt/pull/2330

📄 View Application Logs etc.

⏰ This Preview will be destroyed in 1 hours at: Tue Nov 7 16:43:47 UTC 2023

What is Uffizzi? Learn more!

Copy link

codecov bot commented Nov 2, 2023

Codecov Report

Merging #2330 (126619f) into client-eval (a5f6196) will decrease coverage by 0.07%.
The diff coverage is 11.76%.

❗ Current head 126619f differs from pull request most recent head db31e44. Consider uploading reports for the commit db31e44 to get more accurate results

@@               Coverage Diff               @@
##           client-eval    #2330      +/-   ##
===============================================
- Coverage        70.86%   70.79%   -0.07%     
===============================================
  Files               78       78              
  Lines             7455     7462       +7     
===============================================
  Hits              5283     5283              
- Misses            1871     1878       +7     
  Partials           301      301              
Files Coverage Δ
internal/ext/exporter.go 86.38% <100.00%> (ø)
internal/cmd/grpc.go 8.63% <0.00%> (-0.04%) ⬇️
internal/cmd/http.go 2.94% <0.00%> (-0.09%) ⬇️

📣 Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!

Copy link
Member

@GeorgeMac GeorgeMac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looking good so far 👌

Copy link
Member

@GeorgeMac GeorgeMac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change looks good. Will tests come later via ITs and perhaps the client side evaluator?

@markphelps
Copy link
Collaborator Author

Change looks good. Will tests come later via ITs and perhaps the client side evaluator?

Yeah i will add some tests next before merge. Did you see my earlier comment about using our own messages here (new ones for this service) or bringing in existing flipt.proto types?

@markphelps markphelps force-pushed the evaluation-snapshot-service branch from 2f57de8 to 672c02e Compare November 6, 2023 16:06
@markphelps markphelps changed the base branch from main to client-eval November 6, 2023 16:07
@markphelps markphelps changed the title feat(wip): Evaluation snapshot service feat: Evaluation snapshot service Nov 7, 2023
@markphelps markphelps merged commit 9408ddf into client-eval Nov 7, 2023
27 checks passed
@markphelps markphelps deleted the evaluation-snapshot-service branch November 7, 2023 16:57
markphelps added a commit that referenced this pull request Nov 21, 2023
* feat: Evaluation snapshot service (#2330)

* chore(wip): gah

* feat(wip): snapshot api

* feat: finish proto server

* chore: fix linter errors

* chore: move

* chore: fix build

* chore: add ability to skip generating sdks

* chore: dont generate interface method

* chore: fix build

* fix: mount api

* chore: add namespace key to resp

* chore: detect boolean flag types

* chore: create own types for evaluation service

* chore: rm spaces

* chore: rename cmp type fields

---------

Co-authored-by: Yoofi Quansah <[email protected]>

* feat: initial commit for rust evaluator client side (#2322)

* feat: initial commit for rust evaluator client side

* chore: rename of entire directory tree

* chore: write tests for all the matches constraints types

* chore: redo gitignore

* chore: format rust code

* chore: use generic instead of parameter impl

* chore: remove println! statement

* feat: support variant attachment as String type Rust

* feat: new engine logic

* chore: fix unwrap by using match instead

* chore: add boolean method to engine and format code

* feat: add request logic for getting document text from configurable upstream Flipt instance

* chore: apply cargo clippy updates

* feat: add three basic functions for allocating engine and retrieving it

* chore: remove TODO

* feat: modify code to adapt to endpoint

* chore: use environment variables to get update interval

* chore: remove unnecessary clone

* chore: add rust workspace

* chore: update enums

* chore: impl default for responses

* chore: make constants

* feat: Add changes for FFI boundaries and example code

---------

Co-authored-by: Mark Phelps <[email protected]>

* chore: engine model refactor (#2356)

* chore: refactor model layout; fix duration bug

* chore: rename get_duration to get_duration_millis

* feat: add boolean exported unsafe FFI function and couple other fixes (#2357)

Co-authored-by: Mark Phelps <[email protected]>

* chore: restructure client eval (#2362)

* feat: add initial commit for Python evaluation client using Rust core (#2358)

* feat: add initial commit for Python evaluation client using Rust core

* chore: fix README linting issue

* feat: move python source code and project under sdk

* chore: clean up Python client README.md and change ENGINE_LIB_PATH meaning

* chore: fix suggestions on PR

* feat: achieve unit test parity with Golang evaluator on Rust core (#2392)

* feat: add integration style tests for evaluation

* feat: add evaluatortest parity with Golang evaluator on Rust core engine

* chore: use mockall as dev dependency and attribute TestParser as only being used during tests

* feat: add initial commit for flipt-client-go evaluation client (#2390)

* feat: add initial commit for flipt-client-go evaluation client

* chore: fix README.md

* chore: README updates based on suggestions

* chore: only support one namespace for Golang client

* chore: add to go.work

* chore: mod tidy

* feat: incorporate error handling from Rust core over FFI to clients (#2400)

* chore: Rm clients in monorepo (#2407)

* chore: rm clients as they are moving to seperate repo

* chore: rm go client sdk

* chore: remove unused bits from .gitignore around Rust and Python and change go.work version back to 1.21

* chore: mod tidy

---------

Co-authored-by: Yoofi Quansah <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wip Work In Progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants