Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,52 +4,14 @@ 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";

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
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
}


Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down