| // Copyright 2016 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 swarming.config; |
| |
| option go_package = "go.chromium.org/luci/swarming/proto/config;configpb"; |
| |
| import "go.chromium.org/luci/common/proto/options.proto"; |
| |
| option (luci.file_metadata) = { |
| doc_url: "https://luci-config.appspot.com/schemas/services/swarming:settings.cfg"; |
| }; |
| |
| // Schema for settings.cfg service config file in luci-config. |
| message SettingsCfg { |
| reserved 7; // used to be mp (machine provider settings) |
| reserved 10; // used to be dimension_acls |
| |
| // id to inject into pages if applicable. |
| string google_analytics = 1; |
| |
| // The number of seconds an old task can be deduped from. |
| // Default is one week: 7*24*60*60 = 604800 |
| int32 reusable_task_age_secs = 2; |
| |
| // The amount of time that has to pass before a machine is considered dead. |
| // Default is 600 (10 minutes). |
| int32 bot_death_timeout_secs = 3; |
| |
| // Enable ts_mon based monitoring. |
| bool enable_ts_monitoring = 4; |
| |
| // (deprecated, see pools.proto) Configuration for swarming-isolate integration. |
| IsolateSettings isolate = 5; |
| |
| // (deprecated, see pools.proto) Configuration for swarming-cipd integration. |
| CipdSettings cipd = 6; |
| |
| // Emergency setting to disable bot task reaping. When set, all bots are |
| // always put to sleep and are never granted task. |
| bool force_bots_to_sleep_and_not_run_task = 8; |
| |
| // oauth client id for the ui. This is created in the developer's console |
| // under Credentials. |
| string ui_client_id = 9; |
| |
| // A url to a task display server (e.g. milo). This should have a %s where |
| // a task id can go. |
| string display_server_url_template = 11; |
| |
| // Sets a maximum sleep time in seconds for bots that limits the exponental |
| // backoff. If missing, the task scheduler will provide the default maximum |
| // (usually 60s, but see bot_code/task_scheduler.py for details). |
| int32 max_bot_sleep_time = 12; |
| |
| // Names of the authorization groups used by components/auth. |
| AuthSettings auth = 13; |
| |
| // Sets the default gRPC proxy for the bot's Isolate server calls. |
| string bot_isolate_grpc_proxy = 14; |
| |
| // Sets the default gRPC proxy for the bot's Swarming server calls. |
| string bot_swarming_grpc_proxy = 15; |
| |
| // Any extra urls that should be added to frame-src, e.g. anything that |
| // will be linked to from the display server. |
| // This originally added things to child-src, which was deprecated: |
| // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/child-src |
| repeated string extra_child_src_csp_url = 16; |
| |
| // Whether tasks should be run in FIFO or LIFO order. |
| bool use_lifo = 17; |
| |
| // Whether swarming should batch notifications to the external scheduler. |
| bool enable_batch_es_notifications = 18; |
| } |
| |
| |
| // Configuration for swarming-isolate integration. |
| message IsolateSettings { |
| // URL of the default isolate server to use if it is not specified in a |
| // task. Must start with "https://" or "http://", |
| // e.g. "https://isolateserver.appspot.com" |
| string default_server = 1; |
| |
| // Default namespace to use if it is not specified in a task, |
| // e.g. "default-gzip" |
| string default_namespace = 2; |
| } |
| |
| |
| // A CIPD package. |
| message CipdPackage { |
| // A template of a full CIPD package name, e.g. |
| // "infra/tools/cipd/${platform}" |
| // See also cipd.ALL_PARAMS. |
| string package_name = 1; |
| |
| // Valid package version for all packages matched by package name. |
| string version = 2; |
| } |
| |
| |
| // Settings for Swarming-CIPD integration. |
| message CipdSettings { |
| // URL of the default CIPD server to use if it is not specified in a task. |
| // Must start with "https://" or "http://", |
| // e.g. "https://chrome-infra-packages.appspot.com". |
| string default_server = 1; |
| |
| // Package of the default CIPD client to use if it is not specified in a |
| // task. |
| CipdPackage default_client_package = 2; |
| } |
| |
| |
| // Access control groups for the swarming service. Custom group names |
| // allow several swarming instances to co-exist under the same "auth" |
| // server. |
| // |
| // All groups default to 'administrators'. |
| // |
| // See |
| // https://chromium.googlesource.com/infra/luci/luci-py.git/+/master/appengine/swarming/doc/Access-Groups.md |
| // for more detail. |
| |
| message AuthSettings { |
| // Members of this group have full administrative access. |
| // |
| // Grants: |
| // - config view and edit |
| // - delete any bot |
| // - all of bot_bootstrap_group membership |
| // - all of privileged_users_group membership |
| string admins_group = 1; |
| |
| // Members of this group can fetch swarming bot code and bootstrap bots. |
| // |
| // Grants: |
| // - bot create: create a token to anonymously fetch the bot code. |
| string bot_bootstrap_group = 2; |
| |
| // Members of this group can schedule tasks and see everyone else's tasks. |
| // |
| // Grants: |
| // - cancel any task |
| // - edit (terminate) any bot |
| // - all of view_all_bots_group membership |
| // - all of view_all_tasks_group membership |
| string privileged_users_group = 3; |
| |
| // Members of this group can schedule tasks and see only their own tasks. |
| // |
| // Grants: |
| // - create a task |
| // - view and edit own task |
| string users_group = 4; |
| |
| // Members of this group can view all bots. This is a read-only group. |
| // |
| // Grants: |
| // - view all bots |
| string view_all_bots_group = 5; |
| |
| // Members of this group can view all tasks. This is a read-only group. |
| // |
| // Grants: |
| // - view all tasks |
| string view_all_tasks_group = 6; |
| } |