diff --git a/confidence-proto/src/main/proto/confidence/flags/admin/v1/resolver.proto b/confidence-proto/src/main/proto/confidence/flags/admin/v1/resolver.proto index e4dba23f..e30de4fd 100644 --- a/confidence-proto/src/main/proto/confidence/flags/admin/v1/resolver.proto +++ b/confidence-proto/src/main/proto/confidence/flags/admin/v1/resolver.proto @@ -4,9 +4,7 @@ package confidence.flags.admin.v1; import "google/protobuf/timestamp.proto"; import "google/api/resource.proto"; -import "google/api/annotations.proto"; import "confidence/iam/iam.proto"; -import "google/api/field_behavior.proto"; import "confidence/flags/admin/v1/types.proto"; @@ -14,42 +12,6 @@ option java_package = "com.spotify.confidence.shaded.flags.admin.v1"; option java_multiple_files = true; option java_outer_classname = "ResolverProto"; -// Service for fetching the state for resolving flags -service ResolverStateService { - // Gets the full state for running a resolver - rpc FullResolverState(ResolverStateRequest) returns (stream ResolverState) { - option (google.api.http) = { - get: "/v1/resolverState:full" - }; - } - - // Gets a signed uri that can be used to download the current resolver state - rpc ResolverStateUri(ResolverStateUriRequest) returns (ResolverStateUriResponse){ - option (google.api.http) = { - get: "/v1/resolverState:resolverStateUri" - }; - } -} - -// Request to fetch resolver state uri -message ResolverStateUriRequest { - -} - -// Response of fetching resolver state uri -message ResolverStateUriResponse { - // The signed uri that can be used to fetch state - string signed_uri = 1; - // At what time the state uri expires - google.protobuf.Timestamp expire_time = 2; - string account = 3; - -} - -// Request to get the resolver state for the whole account -message ResolverStateRequest { -} - // The full state for operating a flags resolver message ResolverState { // All active flags diff --git a/confidence-proto/src/main/proto/confidence/flags/resolver/v1/resolver.proto b/confidence-proto/src/main/proto/confidence/flags/resolver/v1/resolver.proto new file mode 100644 index 00000000..92f19ed5 --- /dev/null +++ b/confidence-proto/src/main/proto/confidence/flags/resolver/v1/resolver.proto @@ -0,0 +1,31 @@ +syntax = "proto3"; + +package confidence.flags.resolver.v1; + +import "google/protobuf/timestamp.proto"; + +option java_package = "com.spotify.confidence.shaded.flags.resolver.v1"; +option java_multiple_files = true; +option java_outer_classname = "ResolverStateProto"; + +// Service for fetching resolver state metadata (e.g., a signed URI to the state file) +service ResolverStateService { + // Gets a signed uri that can be used to download the current resolver state + rpc ResolverStateUri(ResolverStateUriRequest) returns (ResolverStateUriResponse) { + } +} + +// Request to fetch resolver state uri +message ResolverStateUriRequest {} + +// Response of fetching resolver state uri +message ResolverStateUriResponse { + // The signed uri that can be used to fetch state + string signed_uri = 1; + // At what time the state uri expires + google.protobuf.Timestamp expire_time = 2; + // The account the referenced state belongs to + string account = 3; +} + + diff --git a/openfeature-provider-local/src/main/java/com/spotify/confidence/FlagsAdminStateFetcher.java b/openfeature-provider-local/src/main/java/com/spotify/confidence/FlagsAdminStateFetcher.java index b05263d9..94b3604b 100644 --- a/openfeature-provider-local/src/main/java/com/spotify/confidence/FlagsAdminStateFetcher.java +++ b/openfeature-provider-local/src/main/java/com/spotify/confidence/FlagsAdminStateFetcher.java @@ -7,10 +7,10 @@ import com.google.protobuf.ByteString; import com.google.protobuf.Timestamp; import com.spotify.confidence.shaded.flags.admin.v1.Flag; -import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateServiceGrpc; -import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateUriRequest; -import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateUriResponse; import com.spotify.confidence.shaded.flags.admin.v1.Segment; +import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateServiceGrpc; +import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateUriRequest; +import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateUriResponse; import com.spotify.confidence.shaded.iam.v1.Client; import com.spotify.confidence.shaded.iam.v1.ClientCredential; import io.grpc.health.v1.HealthCheckResponse; diff --git a/openfeature-provider-local/src/main/java/com/spotify/confidence/LocalResolverServiceFactory.java b/openfeature-provider-local/src/main/java/com/spotify/confidence/LocalResolverServiceFactory.java index 802507ce..f56a2131 100644 --- a/openfeature-provider-local/src/main/java/com/spotify/confidence/LocalResolverServiceFactory.java +++ b/openfeature-provider-local/src/main/java/com/spotify/confidence/LocalResolverServiceFactory.java @@ -6,9 +6,9 @@ import com.google.protobuf.Struct; import com.spotify.confidence.TokenHolder.Token; import com.spotify.confidence.shaded.flags.admin.v1.FlagAdminServiceGrpc; -import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateServiceGrpc; -import com.spotify.confidence.shaded.flags.admin.v1.ResolverStateServiceGrpc.ResolverStateServiceBlockingStub; import com.spotify.confidence.shaded.flags.resolver.v1.InternalFlagLoggerServiceGrpc; +import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateServiceGrpc; +import com.spotify.confidence.shaded.flags.resolver.v1.ResolverStateServiceGrpc.ResolverStateServiceBlockingStub; import com.spotify.confidence.shaded.flags.resolver.v1.Sdk; import com.spotify.confidence.shaded.flags.resolver.v1.WriteFlagLogsResponse; import com.spotify.confidence.shaded.iam.v1.AuthServiceGrpc;