syntax = "proto3";

package envoy.extensions.grpc_service.call_credentials.file_based_metadata.v3;

import "envoy/config/core/v3/base.proto";

import "udpa/annotations/sensitive.proto";
import "udpa/annotations/status.proto";

option java_package = "io.envoyproxy.envoy.extensions.grpc_service.call_credentials.file_based_metadata.v3";
option java_outer_classname = "FileBasedMetadataCredentialsProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/grpc_service/call_credentials/file_based_metadata/v3;file_based_metadatav3";
option (udpa.annotations.file_status).package_version_status = ACTIVE;

// [#protodoc-title: File-Based Metadata Call Credentials]

// [#not-implemented-hide:]
message FileBasedMetadataCallCredentials {
  // Location or inline data of secret to use for authentication of the Google gRPC connection
  // this secret will be attached to a header of the gRPC connection
  config.core.v3.DataSource secret_data = 1 [(udpa.annotations.sensitive) = true];

  // Metadata header key to use for sending the secret data
  // if no header key is set, "authorization" header will be used
  string header_key = 2;

  // Prefix to prepend to the secret in the metadata header
  // if no prefix is set, the default is to use no prefix
  string header_prefix = 3;
}
