Skip to content

Commit 8807e2a

Browse files
feat: Local resolve uses new state url endpoint (#306)
* feat: Local resolve uses new state url endpoint * feat: Shade the new proto
1 parent 0c340bd commit 8807e2a

File tree

4 files changed

+36
-43
lines changed

4 files changed

+36
-43
lines changed

confidence-proto/src/main/proto/confidence/flags/admin/v1/resolver.proto

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,14 @@ package confidence.flags.admin.v1;
44

55
import "google/protobuf/timestamp.proto";
66
import "google/api/resource.proto";
7-
import "google/api/annotations.proto";
87
import "confidence/iam/iam.proto";
9-
import "google/api/field_behavior.proto";
108

119
import "confidence/flags/admin/v1/types.proto";
1210

1311
option java_package = "com.spotify.confidence.shaded.flags.admin.v1";
1412
option java_multiple_files = true;
1513
option java_outer_classname = "ResolverProto";
1614

17-
// Service for fetching the state for resolving flags
18-
service ResolverStateService {
19-
// Gets the full state for running a resolver
20-
rpc FullResolverState(ResolverStateRequest) returns (stream ResolverState) {
21-
option (google.api.http) = {
22-
get: "/v1/resolverState:full"
23-
};
24-
}
25-
26-
// Gets a signed uri that can be used to download the current resolver state
27-
rpc ResolverStateUri(ResolverStateUriRequest) returns (ResolverStateUriResponse){
28-
option (google.api.http) = {
29-
get: "/v1/resolverState:resolverStateUri"
30-
};
31-
}
32-
}
33-
34-
// Request to fetch resolver state uri
35-
message ResolverStateUriRequest {
36-
37-
}
38-
39-
// Response of fetching resolver state uri
40-
message ResolverStateUriResponse {
41-
// The signed uri that can be used to fetch state
42-
string signed_uri = 1;
43-
// At what time the state uri expires
44-
google.protobuf.Timestamp expire_time = 2;
45-
string account = 3;
46-
47-
}
48-
49-
// Request to get the resolver state for the whole account
50-
message ResolverStateRequest {
51-
}
52-
5315
// The full state for operating a flags resolver
5416
message ResolverState {
5517
// All active flags
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
syntax = "proto3";
2+
3+
package confidence.flags.resolver.v1;
4+
5+
import "google/protobuf/timestamp.proto";
6+
7+
option java_package = "com.spotify.confidence.shaded.flags.resolver.v1";
8+
option java_multiple_files = true;
9+
option java_outer_classname = "ResolverStateProto";
10+
11+
// Service for fetching resolver state metadata (e.g., a signed URI to the state file)
12+
service ResolverStateService {
13+
// Gets a signed uri that can be used to download the current resolver state
14+
rpc ResolverStateUri(ResolverStateUriRequest) returns (ResolverStateUriResponse) {
15+
}
16+
}
17+
18+
// Request to fetch resolver state uri
19+
message ResolverStateUriRequest {}
20+
21+
// Response of fetching resolver state uri
22+
message ResolverStateUriResponse {
23+
// The signed uri that can be used to fetch state
24+
string signed_uri = 1;
25+
// At what time the state uri expires
26+
google.protobuf.Timestamp expire_time = 2;
27+
// The account the referenced state belongs to
28+
string account = 3;
29+
}
30+
31+

openfeature-provider-local/src/main/java/com/spotify/confidence/FlagsAdminStateFetcher.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import com.google.protobuf.ByteString;
88
import com.google.protobuf.Timestamp;
99
import com.spotify.confidence.shaded.flags.admin.v1.Flag;
10-
import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateServiceGrpc;
11-
import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateUriRequest;
12-
import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateUriResponse;
1310
import com.spotify.confidence.shaded.flags.admin.v1.Segment;
11+
import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateServiceGrpc;
12+
import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateUriRequest;
13+
import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateUriResponse;
1414
import com.spotify.confidence.shaded.iam.v1.Client;
1515
import com.spotify.confidence.shaded.iam.v1.ClientCredential;
1616
import io.grpc.health.v1.HealthCheckResponse;

openfeature-provider-local/src/main/java/com/spotify/confidence/LocalResolverServiceFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
import com.google.protobuf.Struct;
77
import com.spotify.confidence.TokenHolder.Token;
88
import com.spotify.confidence.shaded.flags.admin.v1.FlagAdminServiceGrpc;
9-
import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateServiceGrpc;
10-
import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateServiceGrpc.ResolverStateServiceBlockingStub;
119
import com.spotify.confidence.shaded.flags.resolver.v1.InternalFlagLoggerServiceGrpc;
10+
import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateServiceGrpc;
11+
import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateServiceGrpc.ResolverStateServiceBlockingStub;
1212
import com.spotify.confidence.shaded.flags.resolver.v1.Sdk;
1313
import com.spotify.confidence.shaded.flags.resolver.v1.WriteFlagLogsRequest;
1414
import com.spotify.confidence.shaded.iam.v1.AuthServiceGrpc;

0 commit comments

Comments
 (0)