Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
122 lines (104 sloc) 4.08 KB
syntax = "proto2";
package cloudprober;
import "github.com/google/cloudprober/common/tlsconfig/proto/config.proto";
import "github.com/google/cloudprober/probes/proto/config.proto";
import "github.com/google/cloudprober/rds/server/proto/config.proto";
import "github.com/google/cloudprober/servers/proto/config.proto";
import "github.com/google/cloudprober/surfacers/proto/config.proto";
import "github.com/google/cloudprober/targets/proto/targets.proto";
option go_package = "github.com/google/cloudprober/config/proto";
message ProberConfig {
// Probes to run.
repeated probes.ProbeDef probe = 1;
// Surfacers are used to export probe results for further processing.
// If no surfacer is configured, a prometheus and a file surfacer are
// initialized:
// - Prometheus makes probe results available at http://<host>:9313/metrics.
// - File surfacer writes results to stdout.
//
// You can disable default surfacers (in case you want no surfacer at all), by
// adding the following to your config:
// surfacer {}
repeated surfacer.SurfacerDef surfacer = 2;
// Servers to run inside cloudprober. These servers can serve as targets for
// other probes.
repeated servers.ServerDef server = 3;
// Shared targets allow you to re-use the same targets copy across multiple
// probes. Example usage:
//
// shared_targets {
// name: "internal-vms"
// targets {
// rds_targets {
// ..
// }
// }
// }
//
// probe {
// name: "vm-ping"
// type: PING
// targets {
// shared_targets: "internal-vms"
// }
// }
//
// probe {
// name: "vm-http"
// type: HTTP
// targets {
// shared_targets: "internal-vms"
// }
// }
repeated SharedTargets shared_targets = 4;
// Common services related options.
// Next tag: 106
// Resource discovery server
optional rds.ServerConf rds_server = 95;
// Port for the default HTTP server. This port is also used for prometheus
// exporter (URL /metrics). Default port is 9313. If not specified in the
// config, default port can be overridden by the environment variable
// CLOUDPROBER_PORT.
optional int32 port = 96;
// Port to run the default gRPC server on. If not specified, and if
// environment variable CLOUDPROBER_GRPC_PORT is set, CLOUDPROBER_GRPC_PORT is
// used for the default gRPC server. If CLOUDPROBER_GRPC_PORT is not set as
// well, default gRPC server is not started.
optional int32 grpc_port = 104;
// TLS config, it can be used to:
// - Specify client's CA cert for client cert verification:
// tls_config {
// ca_cert_file: "...."
// }
//
// - Specify TLS cert and key:
// tls_config {
// tls_cert_file: "..."
// tls_key_file: "..."
// }
optional tlsconfig.TLSConfig grpc_tls_config = 105;
// Host for the default HTTP server. Default listens on all addresses. If not
// specified in the config, default port can be overridden by the environment
// variable CLOUDPROBER_HOST.
optional string host = 101;
// Probes are staggered across time to avoid executing all of them at the
// same time. This behavior can be disabled by setting the following option
// to true.
optional bool disable_jitter = 102 [default = false];
// How often to export system variables. To learn more about system variables:
// http://godoc.org/github.com/google/cloudprober/sysvars.
optional int32 sysvars_interval_msec = 97 [default = 10000];
// Variables specified in this environment variable are exported as it is.
// This is specifically useful to export information about system environment,
// for example, docker image tag/digest-id, OS version etc. See
// tools/cloudprober_startup.sh in the cloudprober directory for an example on
// how to use these variables.
optional string sysvars_env_var = 98 [default = "SYSVARS"];
// Global targets options. Per-probe options are specified within the probe
// stanza.
optional targets.GlobalTargetsOptions global_targets_options = 100;
}
message SharedTargets {
required string name = 1;
required targets.TargetsDef targets = 2;
}