Permalink
Cannot retrieve contributors at this time
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; | |
} |