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
4 changes: 4 additions & 0 deletions src/bitdrift_public/protobuf/client/v1/api.proto
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import "bitdrift_public/protobuf/filter/v1/filter.proto";
import "bitdrift_public/protobuf/workflow/v1/workflow.proto";
import "bitdrift_public/protobuf/bdtail/v1/bdtail_config.proto";
import "bitdrift_public/protobuf/config/v1/config.proto";
import "bitdrift_public/protobuf/client/v1/feature_flag.proto";
import "bitdrift_public/protobuf/logging/v1/payload.proto";
import "validate/validate.proto";

Expand Down Expand Up @@ -296,6 +297,9 @@ message UploadArtifactRequest {

// The session ID associated with the artifact.
string session_id = 7 [(validate.rules).string = {min_len: 1}];

// The set of feature flags that were active at the time of artifact emission.
repeated FeatureFlag feature_flags = 8;
}

message UploadArtifactResponse {
Expand Down
3 changes: 3 additions & 0 deletions src/bitdrift_public/protobuf/client/v1/artifact.proto
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ syntax = "proto3";

import "google/protobuf/timestamp.proto";
import "bitdrift_public/protobuf/logging/v1/payload.proto";
import "bitdrift_public/protobuf/client/v1/feature_flag.proto";

package bitdrift_public.protobuf.client.v1;

Expand All @@ -31,6 +32,8 @@ message ArtifactUploadIndex {
map<string, bitdrift_public.protobuf.logging.v1.Data> state_metadata = 5;

string session_id = 6;

repeated FeatureFlag feature_flags = 7;
}

// List of files, in order of time, that are pending upload.
Expand Down
23 changes: 23 additions & 0 deletions src/bitdrift_public/protobuf/client/v1/feature_flag.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// api - bitdrift's client/server API definitions
// Copyright Bitdrift, Inc. All rights reserved.
//
// Use of this source code and APIs are governed by a source available license that can be found in
// the LICENSE file or at:
// https://polyformproject.org/wp-content/uploads/2020/06/PolyForm-Shield-1.0.0.txt

syntax = "proto3";

import "google/protobuf/timestamp.proto";
import "validate/validate.proto";

package bitdrift_public.protobuf.client.v1;
message FeatureFlag {
// The name of the feature flag.
string name = 1 [(validate.rules).string = {min_len: 1}];

// The variant of the feature flag, if any.
optional string variant = 2;

// The last time the feature flag was updated.
google.protobuf.Timestamp last_updated = 3 [(validate.rules).message = {required: true}];
}
Loading