blob: d6ac33b18a1b775b9de183b19183cc6aacfe1fb0 [file] [log] [blame]
// Copyright 2015 The LUCI Authors. All rights reserved.
// Use of this source code is governed under the Apache License, Version 2.0
// that can be found in the LICENSE file.
syntax = "proto3";
package svcconfig;
option go_package = "go.chromium.org/luci/logdog/api/config/svcconfig";
import "google/protobuf/duration.proto";
import "go.chromium.org/luci/common/proto/options.proto";
import "go.chromium.org/luci/logdog/api/config/svcconfig/archival.proto";
import "go.chromium.org/luci/logdog/api/config/svcconfig/cloud_logging.proto";
option (luci.file_metadata) = {
doc_url: "https://luci-config.appspot.com/schemas/projects:luci-logdog.cfg";
};
// ProjectConfig is a set of per-project configuration parameters. Each
// luci-config project must include one of these configs in order to register
// or view log streams in that project's log stream space.
//
// A project's configuration should reside in the "projects/<project>" config
// set and be named "<app-id>.cfg".
//
// Many of the parameters here can be bounded by GlobalConfig parameters.
message ProjectConfig {
// The set of auth service groups that are permitted READ access to this
// project's log streams.
repeated string reader_auth_groups = 2;
// The set of chrome-infra-auth groups that are permitted WRITE access to this
// project's log streams.
repeated string writer_auth_groups = 3;
// The maximum amount of time after a prefix has been registered when log
// streams may also be registered under that prefix.
//
// See Config's "prefix_expiration" for more information.
google.protobuf.Duration prefix_expiration = 5;
// The archival Google Storage bucket name.
//
// Log streams artifacts will be stored in a subdirectory of this bucket:
// gs://<archive_gs_bucket>/<app-id>/<project-name>/<log-path>/artifact...
//
// Note that the Archivist microservice must have WRITE access to this
// bucket, and the Coordinator must have READ access.
//
// If this is not set, the logs will be archived in a project-named
// subdirectory in the global "archive_gs_base" location.
string archive_gs_bucket = 10;
// Project-specific archive index configuration.
//
// Any unspecified index configuration will default to the service archival
// config.
ArchiveIndexConfig archive_index_config = 12;
// Project-specific CloudLogging configuration.
//
// If not specified, no Logdog logs will be exported to Cloud Logging.
CloudLoggingConfig cloud_logging_config = 13;
reserved "max_stream_age", "render_all_streams";
reserved 4, 11;
}