envoy.extensions.key_value.file_based.v3.config.proto Maven / Gradle / Ivy
syntax = "proto3";
package envoy.extensions.key_value.file_based.v3;
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";
import "xds/annotations/v3/status.proto";
import "udpa/annotations/status.proto";
import "validate/validate.proto";
option java_package = "io.envoyproxy.envoy.extensions.key_value.file_based.v3";
option java_outer_classname = "ConfigProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/key_value/file_based/v3;file_basedv3";
option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#protodoc-title: Key/value file-based store storage plugin]
// [#extension: envoy.key_value.file_based]
// This is configuration to flush a key value store out to disk.
message FileBasedKeyValueStoreConfig {
option (xds.annotations.v3.message_status).work_in_progress = true;
// The filename to read the keys and values from, and write the keys and
// values to.
string filename = 1 [(validate.rules).string = {min_len: 1}];
// The interval at which the key value store should be flushed to the file.
google.protobuf.Duration flush_interval = 2;
// The maximum number of entries to cache, or 0 to allow for unlimited entries.
// Defaults to 1000 if not present.
google.protobuf.UInt32Value max_entries = 3;
}