go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/proto/config/config.proto (about) 1 // Copyright 2022 The LUCI Authors. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 syntax = "proto3"; 16 17 package luci.analysis.config; 18 19 option go_package = "go.chromium.org/luci/analysis/proto/config;configpb"; 20 21 // Config is the service-wide configuration data for LUCI Analysis. 22 message Config { 23 // The endpoint for Monorail APIs. 24 string monorail_hostname = 1; 25 26 // The GCS bucket that chunk contents should be archived to. 27 string chunk_gcs_bucket = 2; 28 29 // The number of workers to use when re-clustering. Maximum value is 1000, 30 // which is the default max_concurrent_requests on the reclustering queue: 31 // https://cloud.google.com/appengine/docs/standard/go111/config/queueref. 32 // 33 // If this is unset or zero, re-clustering is disabled. 34 int64 reclustering_workers = 3; 35 36 // Deprecated November 2022. Setting this has no effect. Field retained 37 // to maintain backwards compatibility with old configuration files. 38 int64 reclustering_interval_minutes = 4; 39 40 // Controls whether LUCI Analysis will interact with bug-filing systems. 41 // Can be used to stop LUCI Analysis auto-bug filing and updates in 42 // response to a problem. 43 bool bug_updates_enabled = 5; 44 45 // Config related to test variant analysis. 46 TestVariantAnalysis test_variant_analysis = 6; 47 48 // Config related to ingestion. 49 Ingestion ingestion = 7; 50 51 // Config to control the test verdict export. 52 TestVerdictExport test_verdict_export = 8; 53 54 // Configuration related to failure clustering. 55 ClusteringSystem clustering = 9; 56 57 // Configuration related to automatic bug management. 58 BugManagementSystem bug_management = 10; 59 } 60 61 // TestVariantAnalysis controls how LUCI Analysis run test variant 62 // analysis. 63 // It can be used to turn on or off test variant analysis if a problem occurs. 64 message TestVariantAnalysis { 65 // Controls whether we should run test variant analysis during ingestion. 66 // It should be only enabled on dev at the beginning, before we are confident 67 // enough to turn it on for prod. 68 bool enabled = 1; 69 // Controls whether we should export test variant analysis result to 70 // BigQuery. To turn this on, the "enabled" flag should also be turned on. 71 bool bigquery_export_enabled = 2; 72 } 73 74 // ClusteringSystem controls system-level settings related to LUCI Analysis 75 // clustering. For project-level clustering settings, see the 76 // `Clustering` message instead. 77 message ClusteringSystem { 78 // Controls whether test variant analysis may be queried when clustering 79 // failures. If set, the test_variant_branch column will be populated 80 // for clustered_failures rows in BigQuery, if the failures have source 81 // position data. 82 bool query_test_variant_analysis_enabled = 1; 83 } 84 85 // Settings to control ingestion. 86 message Ingestion { 87 // Whether ingestion should be limited to allowlisted projects only. 88 // By default, allowlisting is not enabled and all projects are ingested. 89 bool project_allowlist_enabled = 1; 90 91 // The list of allowlisted LUCI projects, e.g. "chromium", "chromeos". 92 // Only used if project_allowlist_enabled is set. 93 repeated string project_allowlist = 2; 94 } 95 96 // TestVerdictExport contains settings to control the test verdict export. 97 message TestVerdictExport { 98 // Controls whether test verdicts are exported. Can be used to 99 // contain damage during production incidents. 100 bool enabled = 1; 101 } 102 103 // BugManagementSystem controls system-level settings related to 104 // automatic bug management. For project-level clustering settings, see 105 // the `BugManagement` message instead. 106 message BugManagementSystem { 107 // Deprecated. No longer has any effect. Retained for textproto 108 // compatibility only. Policy-based bug filing is now always enabled. 109 bool policy_based_management_enabled = 1; 110 }