// Configuration for FeedClient
syntax = "proto2";

package platforms_syshealth.collection.feed;

message FeedClientConfig {
  optional string target_address = 1;

  enum AuthType {
    DEFAULT = 0;
    LOAS2 = 1;
    LOAS3 = 2;
    INSECURE = 3;
  }
  optional AuthType auth_type = 2 [default = DEFAULT];

  message Loas3Config {
    optional string private_key_path = 1;
    optional string cert_chain_path = 2;
    optional string root_cert_path = 3;
  }
  optional Loas3Config loas3_config = 3;

  optional string server_name = 4;

  // Timeout in seconds for WriteMetrics RPC.
  optional int32 write_metrics_timeout_seconds = 5 [default = 30];
  // Timeout in seconds for GetPolicies RPC.
  optional int32 get_policies_timeout_seconds = 6 [default = 60];
}
