-
Notifications
You must be signed in to change notification settings - Fork 121
/
config-defaults.yaml
425 lines (345 loc) · 14.7 KB
/
config-defaults.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
## CLI configuration: default values.
##
## The default values are overridden by:
## 1. config.yaml in the CLI repository, or CLI_CONFIG_FILE if defined
## 2. A user-specific config.yaml file inside the {application.user_config_dir}.
## 3. Environment variables.
## Some specific keys have assigned environment variables that can be used
## to override them (see comments). In addition, all scalar values already
## defined at the second level can be overridden by an environment variable
## named like {application.env_prefix}SECTION_KEY, for example
## CLI_APPLICATION_NAME.
##
## Please note that overriding configuration locally can make future updates
## and support more complex.
application:
## Required keys that must be defined elsewhere:
##
# name: 'Example CLI'
# slug: 'example-cli'
# executable: 'example'
# user_config_dir: '.example-cli' # Config location under the home directory
# Version number.
#
# This placeholder is replaced by Box (via the self:build and self:release
# commands) with a manually specified or autogenerated version string.
version: '@version-placeholder@'
# Environment variable prefix for overriding configuration.
env_prefix: 'CLI_'
## Subdirectory under /tmp for storing temporary files.
## Dynamically defaults to: {application.slug}-tmp
# tmp_sub_dir: 'cli-tmp'
# A directory (relative to the home directory) where the CLI can write
# user-specific files, for storing state, logs, credentials, etc.
# This can be overridden in the user config file.
# If null, it defaults to the {application.user_config_dir}.
writable_user_dir: null
# Where application state is saved, under the {application.user_config_dir}.
user_state_file: 'state.json'
# Config relating to the self:release command for making GitHub releases.
github_repo: null
release_branch: 'main'
# Whether to prompt to run the self:install command if it wasn't already.
#
# The prompt is never shown under the Go wrapper, nor if multiple CLI
# instances are installed.
prompt_self_install: true
# The default interactive login method: either 'browser' or 'api-token'.
# This can be overridden in the user config file.
login_method: browser
# The default timezone for times displayed or interpreted by the CLI.
# An empty (falsy) value here means the PHP or system timezone will be used.
# For a list of timezones, see: http://php.net/manual/en/timezones.php
# This can be overridden in the user config file.
timezone: null
# The default date format string. This can be overridden in the user config
# file, or by the --date-fmt option. For a list of formats, see:
# http://php.net/manual/en/function.date.php
date_format: c
# Disabled commands (a list of full command names).
disabled_commands: []
# Disabled commands under the Go wrapper (a list of full command names).
wrapped_disabled_commands: []
# Experimental commands (a list of full command names). Enable these in the
# user config file: the array 'enable_commands' inside the 'experimental'
# section.
experimental_commands: []
# Hidden commands (a list of full command names).
# Some commands may be hidden in the code, regardless of this setting.
hidden_commands: []
# The Composer package name (for legacy PHP Composer installations).
package_name: null
# Legacy installer and manifest locations.
installer_url: null
manifest_url: null
# Enable auto-creating Drush aliases for Drupal environments.
drush_aliases: true
# Configuration for working with projects locally.
local:
local_dir: null # dynamically defaults to {service.project_config_dir}
build_dir: null # dynamically defaults to {local.local_dir}/builds
shared_dir: null # dynamically defaults to {local.local_dir}/shared
archive_dir: null # dynamically defaults to {local.local_dir}/build-archives
dependencies_dir: null # dynamically defaults to {local.local_dir}/deps
project_config: null # dynamically defaults to {local.local_dir}/project.yaml
web_root: '_www'
# This can be overridden by the {application.env_prefix}COPY_ON_WINDOWS env
# var, or via the user config file.
copy_on_windows: false
# The Drush executable to use for Drupal integration (auto-detected by
# default).
drush_executable: null
# Details about the cloud service that the CLI works with.
service:
## Required keys that must be defined elsewhere:
##
# name: 'Example Service Name'
# env_prefix: 'EXAMPLE_'
# project_config_dir: '.example'
## Config file for multiple applications.
## Dynamically defaults to: {service.project_config_dir}/applications.yaml
##
# applications_config_file: '.example/applications.yaml'
## Config file for a single application.
##
# app_config_file: '.example.app.yaml'
# Console URL used for help in various commands.
# Technically optional but recommended.
console_url: null
# URLs required to enable the 'docs' command.
docs_url: null
docs_search_url: null
# Optional URLs used for help in the 'login' commands:
api_tokens_url: null
register_url: null
reset_password_url: null
# Optional MFA/2FA setup URL for help in SSH certificate commands.
mfa_setup_url: null
# Optional pricing URL used for help in the 'create' command.
pricing_url: null
# Optional activity type docs URL used for help in 'activity' commands.
activity_type_list_url: null
# Optional URL to help about runtime operations.
runtime_operations_help_url: null
# Optional URL to help about managing resources.
resources_help_url: null
# Configuration relating to API calls.
# This can be overridden in the user config file.
api:
## Required keys that must be defined elsewhere:
##
# base_url: 'https://api.example.com' # Can be overridden by {application.env_prefix}API_URL
# auth_url: 'https://auth.example.com' # Can be overridden by {application.env_prefix}AUTH_URL
## OAuth 2 client ID.
##
## Can be overridden by the {application.env_prefix}OAUTH2_CLIENT_ID env var.
## Dynamically defaults to: {application.slug}
##
# oauth2_client_id: 'example-cli-client'
## OAuth 2 authorize flow URL.
##
## Overridden by the {application.env_prefix}OAUTH2_AUTH_URL env var.
## Dynamically defaults to: {api.auth_url}/oauth2/authorize
##
# oauth2_auth_url: 'https://auth.example.com/oauth2/authorize'
## OAuth 2 token endpoint URL.
##
## Overridden by the {application.env_prefix}OAUTH2_TOKEN_URL env var.
## Dynamically defaults to: {api.auth_url}/oauth2/token
##
# oauth2_token_url: 'https://auth.example.com/oauth2/token'
## OAuth 2 token revocation endpoint URL.
##
## Overridden by the {application.env_prefix}OAUTH2_REVOKE_URL env var.
## Dynamically defaults to: {api.auth_url}/oauth2/revoke
##
# oauth2_revoke_url: 'https://auth.example.com/oauth2/revoke'
## Certifier API URL.
##
## Overridden by the {application.env_prefix}CERTIFIER_URL env var.
## Dynamically defaults to: {api.auth_url}
##
# certifier_url: 'https://auth.example.com'
# The maximum lifetime (TTL) of objects in the local cache, in seconds.
projects_ttl: 600
environments_ttl: 120
users_ttl: 600
orgs_ttl: 600
# The default timeout for API requests, in seconds.
# Overridden by the {application.env_prefix}DEFAULT_TIMEOUT env var.
default_timeout: 30
# The User-Agent header sent in API requests, as a template. Possible replacement values are:
# {APP_NAME}: the CLI application.name
# {APP_SLUG}: the CLI application.slug
# {APP_NAME_DASH}: the CLI application.name, with spaces replaced by dashes
# {VERSION}: the CLI application.version
# {UNAME_S}: the result of php_uname('s') (operating system name)
# {UNAME_R}: the result of php_uname('r') (operating system version)
# {PHP_VERSION}: the PHP version
# Overridden by the {application.env_prefix}USER_AGENT env var.
user_agent: null
# Whether to disable the docker-credential-helpers credential storage.
disable_credential_helpers: false
# Enable debugging.
# Overridden by the {application.env_prefix}DEBUG env var.
debug: false
# Disable the local cache.
# Overridden by the {application.env_prefix}DISABLE_CACHE env var.
disable_cache: false
# Disable local file-based locking for concurrency control.
# Overridden by the {application.env_prefix}DISABLE_LOCKS env var.
disable_locks: false
# Disable SSL verification (not recommended).
# Overridden by the {application.env_prefix}SKIP_SSL env var.
skip_ssl: false
# Overridden by the {application.env_prefix}SESSION_ID env var.
session_id: 'default'
# Whether the Organizations API is enabled.
organizations: false
# Whether Centralized User Management is available.
# Ignored if "organizations" is disabled.
centralized_permissions: true
# Whether the Teams API (and teams commands) are enabled.
# Ignored if "centralized_permissions" is disabled.
teams: false
# Filter the projects or organizations list by a vendor name.
# This can be null for no filtering, or a string or a list of strings.
vendor_filter: null
# Whether the User Verification APIs (/me/verification and /users/ID/phonenumber) are enabled.
user_verification: false
# Whether the Metrics API is enabled.
metrics: false
# Whether the Flexible Resources API (AKA sizing/scaling) is enabled.
sizing: false
# The timeout in seconds for a "git push" command. Set to null for no timeout.
git_push_timeout: 3600
ssh:
## Wildcard domains for SSH configuration.
## This is also used to detect whether to run diagnostics on an SSH connection error.
## Can be replaced by a single value using the {application.env_prefix}SSH_DOMAIN_WILDCARD env var.
##
# domain_wildcards: ['*.example.com']
# A file containing SSH host keys to install for the user.
# The filename is relative to the CLI root. Note it would need to be built
# into the Phar.
host_keys_file: resources/ssh/host-keys
# A list of SSH host keys to install for the user.
# They can be set as an array or a string (one per line).
# If "host_keys_file" and "host_keys" are both empty or omitted, no extra
# files will be written. If both are specified, both will be used.
host_keys: []
# A list of SSH configuration options.
# These will be passed to the SSH client appended to the CLI's other options.
# Options are an array of strings, each being a keyword and value separated
# by an equals sign or whitespace, e.g. "RequestTTY force". Alternatively
# they can be a single string (one per line).
options: []
# Whether the user's SSH config file (~/.ssh/config) can be written automatically.
#
# The file is validated when SSH certificates are installed or refreshed.
#
# Setting this to true means it will be created or updated automatically,
# null means the user will be asked, false means it will not be touched
# though a recommendation will be displayed.
write_user_config: null
# Whether to convert file paths from Windows to UNIX format in SSH config.
#
# Valid values: 'both' (configure both Windows and UNIX paths for higher
# compatibility), 'convert' (only configure in UNIX format), or 'raw' (do
# not convert filenames).
windows_paths: both
# Whether auto-generated SSH certificate identities should be added to the SSH agent.
# Enabling this may be useful for those who use agent forwarding.
add_to_agent: false
# Whether to auto-load an SSH certificate on login and SSH commands.
# Overridden by the {application.env_prefix}AUTO_LOAD_SSH_CERT env var
auto_load_cert: true
# The lifetime of an automatically generated SSH key pair (in seconds).
#
# Set to 0 for the key pair never to expire or -1 for it to be regenerated
# every time the certificate is refreshed.
#
# Persisting the keys for longer can reduce errors from regenerating keys at
# the same time as an SSH connection. Conversely, regenerating the keys more
# often provides a weak security benefit.
cert_key_ttl: 86400
# How the CLI detects and configures Git repositories as projects.
detection:
## Required keys that must be defined elsewhere:
##
# git_remote_name: 'platform'
# git_domain: 'example.com'
# site_domains: ['example.com', 'example.site']
## Site header which reports the cluster.
# cluster_header: 'X-Platform-Cluster'
## Domain of a Console instance.
##
## Dynamically defaults to the hostname of {service.console_url} if set.
##
# console_domain: 'console.example.com'
# Messages from "git push" that should be considered as a deployment error.
#
# If one of these messages is found, the push command's exit code will be 87
# (non-zero, indicating failure).
push_deploy_error_messages:
- Environment creation failed
- Environment redeployment failed
- Error building project
- Unable to build application
- Unknown error building the application
- Unable to find stack
- Cannot build application of type
- Invalid deployment
# Pagination settings.
#
# These only affect 2 commands for now: project:list and org:sub:list.
pagination:
# Enable pagination. Can be disabled with --count 0.
enabled: true
# Items per page. Can be overridden with --count.
count: 20
# Automatic updates.
# This can be overridden in the user config file.
updates:
# The interval between automatic update checks (in seconds). 604800 = 7 days.
check_interval: 604800
# Overridden by the {application.env_prefix}UPDATES_CHECK env var.
check: true
# Whether to enable migration to the new Go "wrapper" CLI.
migrate:
prompt: false
docs_url: null
# Configuration relating to warning messages.
warnings:
# Whether to display billing warnings related to additional project users.
project_users_billing: true
# Whether to display "Update your payment details" next to suspended projects.
project_suspended_payment: true
# The message shown when trying to add non-production domains to a project
# without the capability.
non_production_domains_msg: null
# Configuration for informational messages.
messages:
# A message about discounts where a region choice is displayed.
region_discount: null
# Configure experimental features.
experimental:
# Enable all experiments.
all_experiments: false
# Optional styling for browser login web page.
# The "css" string will be added as a stylesheet.
# The "body" string will replace the whole body content.
# Two template parameters are available:
# - {{title}} is replaced with a plain-text page title
# - {{content}} is replaced with the rest of the content HTML
browser_login:
# css: ''
body: |
<img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAQMAAABKLAcXAAAABlBMVEUAAADg4ODy8Xj7AAAAAXRSTlMAQObYZgAAAB5JREFUOMtj+I8EPozyRnlU4w1NMJhCcDT+hm2MAQAJBMb6YxK/8wAAAABJRU5ErkJggg=="
alt=""
width="100"
height="100"
class="icon">
<h1>{{title}}</h1>
{{content}}