Skip to content

Commit

Permalink
chore: move
Browse files Browse the repository at this point in the history
  • Loading branch information
markphelps committed Nov 6, 2023
1 parent 5cb67a8 commit e4df56d
Show file tree
Hide file tree
Showing 15 changed files with 1,712 additions and 1,763 deletions.
11 changes: 7 additions & 4 deletions internal/cmd/grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"go.flipt.io/flipt/internal/server/audit/webhook"
"go.flipt.io/flipt/internal/server/auth"
"go.flipt.io/flipt/internal/server/evaluation"
evaluationdata "go.flipt.io/flipt/internal/server/evaluation/data"
"go.flipt.io/flipt/internal/server/metadata"
middlewaregrpc "go.flipt.io/flipt/internal/server/middleware/grpc"
"go.flipt.io/flipt/internal/storage"
Expand Down Expand Up @@ -282,10 +283,11 @@ func NewGRPCServer(
}

var (
fliptsrv = fliptserver.New(logger, store)
metasrv = metadata.New(cfg, info)
evalsrv = evaluation.New(logger, store)
healthsrv = health.NewServer()
fliptsrv = fliptserver.New(logger, store)
metasrv = metadata.New(cfg, info)
evalsrv = evaluation.New(logger, store)
evalDataSrv = evaluationdata.New(logger, store)
healthsrv = health.NewServer()
)

var (
Expand Down Expand Up @@ -340,6 +342,7 @@ func NewGRPCServer(
register.Add(fliptsrv)
register.Add(metasrv)
register.Add(evalsrv)
register.Add(evalDataSrv)

// forward internal gRPC logging to zap
grpcLogLevel, err := zapcore.ParseLevel(cfg.Log.GRPCLevel)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ import (

"go.flipt.io/flipt/internal/storage"
"go.flipt.io/flipt/rpc/flipt"
"go.flipt.io/flipt/rpc/flipt/data"
"go.flipt.io/flipt/rpc/flipt/evaluation"
"go.uber.org/zap"
"google.golang.org/grpc"
)

type EvaluationStore interface {
Expand All @@ -19,23 +20,28 @@ type Server struct {
logger *zap.Logger
store EvaluationStore

data.UnimplementedDataServiceServer
evaluation.UnimplementedDataServiceServer
}

func NewServer(logger *zap.Logger, store EvaluationStore) *Server {
func New(logger *zap.Logger, store EvaluationStore) *Server {
return &Server{
logger: logger,
store: store,
}
}

func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *data.EvaluationNamespaceSnapshotRequest) (*data.EvaluationNamespaceSnapshot, error) {
// RegisterGRPC registers the *Server onto the provided grpc Server.
func (srv *Server) RegisterGRPC(server *grpc.Server) {
evaluation.RegisterDataServiceServer(server, srv)
}

func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *evaluation.EvaluationNamespaceSnapshotRequest) (*evaluation.EvaluationNamespaceSnapshot, error) {
var (
namespaceKey = r.Key
resp = &data.EvaluationNamespaceSnapshot{}
resp = &evaluation.EvaluationNamespaceSnapshot{}
remaining = true
nextPage string
segments = make(map[string]*data.EvaluationSegment)
segments = make(map[string]*evaluation.EvaluationSegment)
)

// flags/variants in batches
Expand All @@ -54,7 +60,7 @@ func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *data.Eval
remaining = nextPage != ""

for _, f := range flags {
flag := &data.EvaluationFlag{
flag := &evaluation.EvaluationFlag{
Key: f.Key,
Name: f.Name,
Description: f.Description,
Expand All @@ -71,7 +77,7 @@ func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *data.Eval
}

for _, r := range rules {
rule := &data.EvaluationRule{
rule := &evaluation.EvaluationRule{
Id: r.ID,
Rank: r.Rank,
SegmentOperator: r.SegmentOperator,
Expand All @@ -83,13 +89,13 @@ func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *data.Eval
rule.Segments = append(rule.Segments, ss)
} else {

ss := &data.EvaluationSegment{
ss := &evaluation.EvaluationSegment{
Key: s.SegmentKey,
MatchType: s.MatchType,
}

for _, c := range s.Constraints {
ss.Constraints = append(ss.Constraints, &data.EvaluationConstraint{
ss.Constraints = append(ss.Constraints, &evaluation.EvaluationConstraint{
Id: c.ID,
Type: c.Type,
Property: c.Property,
Expand All @@ -109,7 +115,7 @@ func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *data.Eval

// distributions for rule
for _, d := range distributions {
dist := &data.EvaluationDistribution{
dist := &evaluation.EvaluationDistribution{
VariantId: d.VariantID,
VariantKey: d.VariantKey,
VariantAttachment: d.VariantAttachment,
Expand All @@ -130,22 +136,22 @@ func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *data.Eval
}

for _, r := range rollouts {
rollout := &data.EvaluationRollout{
rollout := &evaluation.EvaluationRollout{
Type: r.RolloutType,
Rank: r.Rank,
}

switch r.RolloutType {
case flipt.RolloutType_THRESHOLD_ROLLOUT_TYPE:
rollout.Rule = &data.EvaluationRollout_Threshold{
Threshold: &data.EvaluationRolloutThreshold{
rollout.Rule = &evaluation.EvaluationRollout_Threshold{
Threshold: &evaluation.EvaluationRolloutThreshold{
Percentage: r.Threshold.Percentage,
Value: r.Threshold.Value,
},
}

case flipt.RolloutType_SEGMENT_ROLLOUT_TYPE:
segment := &data.EvaluationRolloutSegment{
segment := &evaluation.EvaluationRolloutSegment{
Value: r.Segment.Value,
SegmentOperator: r.Segment.SegmentOperator,
}
Expand All @@ -154,13 +160,13 @@ func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *data.Eval
// optimization: reuse segment if already seen
ss, ok := segments[s.SegmentKey]
if !ok {
ss := &data.EvaluationSegment{
ss := &evaluation.EvaluationSegment{
Key: s.SegmentKey,
MatchType: s.MatchType,
}

for _, c := range s.Constraints {
ss.Constraints = append(ss.Constraints, &data.EvaluationConstraint{
ss.Constraints = append(ss.Constraints, &evaluation.EvaluationConstraint{
Id: c.ID,
Type: c.Type,
Property: c.Property,
Expand All @@ -175,7 +181,7 @@ func (srv *Server) EvaluationSnapshotNamespace(ctx context.Context, r *data.Eval
segment.Segments = append(segment.Segments, ss)
}

rollout.Rule = &data.EvaluationRollout_Segment{
rollout.Rule = &evaluation.EvaluationRollout_Segment{
Segment: segment,
}
}
Expand Down
Loading

0 comments on commit e4df56d

Please sign in to comment.