blob: 7ec90f0c933d08baf586e7fa92d074c2a890e7d0 [file] [log] [blame]
// Copyright 2019 The LUCI Authors.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package cipd.config;
option go_package = ";api";
// Defines a client whose requests should be monitored.
message ClientMonitoringConfig {
// Name of an IP whitelist in the auth service. If a request is received from
// an IP matching this whitelist, it will be reported.
string ip_whitelist = 1;
// Monitoring label to apply when reporting metrics for this client.
string label = 2;
// A schema for the monitoring.cfg config file.
// It defines a list of clients whose requests should be monitored.
message ClientMonitoringWhitelist {
// A list of configurations for clients to monitor. When a request is
// received, the list is traversed in order and the first match is the
// monitoring config to use. If none of the configs match the request is
// unmonitored.
repeated ClientMonitoringConfig client_monitoring_config = 1;
// A schema for the bootstrap.cfg config file.
// It defines a list of packages that contain executables that should be
// accessible via direct download URLs.
message BootstrapConfigFile {
// A list of all known bootstrap packages, will be scanned in order.
repeated BootstrapConfig bootstrap_config = 1;
// BootstrapConfig defines a set of bootstrap packages under a single prefix.
// Each package should contain exactly one file (presumable an executable). It
// will be extracted and put into the storage, to allow the CIPD backend to
// generate direct download URLs to it. This is useful to allow clients to
// directly download such binaries.
message BootstrapConfig {
// The package prefix of matching packages e.g. "infra/tools/my-tool".
string prefix = 1;