syntax = "proto3";

package envoy.config.filter.network.zookeeper_proxy.v1alpha1;

import "google/protobuf/wrappers.proto";

import "udpa/annotations/migrate.proto";
import "udpa/annotations/status.proto";
import "validate/validate.proto";

option java_package = "io.envoyproxy.envoy.config.filter.network.zookeeper_proxy.v1alpha1";
option java_outer_classname = "ZookeeperProxyProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/filter/network/zookeeper_proxy/v1alpha1";
option (udpa.annotations.file_migrate).move_to_package =
    "envoy.extensions.filters.network.zookeeper_proxy.v3";
option (udpa.annotations.file_status).package_version_status = FROZEN;

// [#protodoc-title: ZooKeeper proxy]
// ZooKeeper Proxy :ref:`configuration overview <config_network_filters_zookeeper_proxy>`.
// [#extension: envoy.filters.network.zookeeper_proxy]

message ZooKeeperProxy {
  // The human readable prefix to use when emitting :ref:`statistics
  // <config_network_filters_zookeeper_proxy_stats>`.
  string stat_prefix = 1 [(validate.rules).string = {min_bytes: 1}];

  // [#not-implemented-hide:] The optional path to use for writing ZooKeeper access logs.
  // If the access log field is empty, access logs will not be written.
  string access_log = 2;

  // Messages — requests, responses and events — that are bigger than this value will
  // be ignored. If it is not set, the default value is 1Mb.
  //
  // The value here should match the jute.maxbuffer property in your cluster configuration:
  //
  // https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#Unsafe+Options
  //
  // if that is set. If it isn't, ZooKeeper's default is also 1Mb.
  google.protobuf.UInt32Value max_packet_bytes = 3;
}
