This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

core / knot2 / example.toml
22 kB 633 lines
1[server] 2# Can also be specified via environment variable `KNOT_HOSTNAME`. 3# Required! This value must be specified. 4#hostname = 5 6# Can also be specified via environment variable `KNOT_ADMINS`. 7# Required! This value must be specified. 8#admins = 9 10# Can also be specified via environment variable `KNOT_LISTEN_ADDR`. 11# Default value: "[::]:5555" 12#listen_addr = "[::]:5555" 13 14# Can also be specified via environment variable `KNOT_LISTEN_HEADER_TIMEOUT_MS`. 15# Default value: 10000 16#listen_header_timeout_ms = 10000 17 18# Can also be specified via environment variable `KNOT_LISTEN_IDLE_TIMEOUT_MS`. 19# Default value: 60000 20#listen_idle_timeout_ms = 60000 21 22# Can also be specified via environment variable `KNOT_LISTEN_MAX_CONNECTIONS`. 23# Default value: 1024 24#listen_max_connections = 1024 25 26# Can also be specified via environment variable `KNOT_LISTEN_RATE_LIMIT_PER_SECOND`. 27# Default value: 50 28#listen_rate_limit_per_second = 50 29 30# Can also be specified via environment variable `KNOT_LISTEN_RATE_LIMIT_BURST`. 31# Default value: 200 32#listen_rate_limit_burst = 200 33 34# Can also be specified via environment variable `KNOT_LISTEN_MAX_INFLIGHT_REQUESTS`. 35# Default value: 1024 36#listen_max_inflight_requests = 1024 37 38# Can also be specified via environment variable `KNOT_LISTEN_REQUEST_TIMEOUT_MS`. 39# Default value: 60000 40#listen_request_timeout_ms = 60000 41 42# Can also be specified via environment variable `KNOT_LISTEN_BODY_TIMEOUT_MS`. 43# Default value: 30000 44#listen_body_timeout_ms = 30000 45 46# Can also be specified via environment variable `KNOT_LISTEN_WRITE_REQUEST_TIMEOUT_MS`. 47# Default value: 1800000 48#listen_write_request_timeout_ms = 1800000 49 50# Can also be specified via environment variable `KNOT_INTERNAL_LISTEN_ADDR`. 51# Default value: "[::1]:5444" 52#internal_listen_addr = "[::1]:5444" 53 54# Can also be specified via environment variable `KNOT_SSH_LISTEN_ADDR`. 55# Default value: "[::]:2222" 56#ssh_listen_addr = "[::]:2222" 57 58# Can also be specified via environment variable `KNOT_SSH_HOST_KEY_FILE`. 59# Required! This value must be specified. 60#ssh_host_key_file = 61 62# Can also be specified via environment variable `KNOT_SSH_MAX_PACK_BYTES`. 63# Default value: 8589934592 64#ssh_max_pack_bytes = 8589934592 65 66# Can also be specified via environment variable `KNOT_APPVIEW_ENDPOINT`. 67# Default value: "https://tangled.org" 68#appview_endpoint = "https://tangled.org" 69 70[tls] 71# Can also be specified via environment variable `KNOT_TLS_CERT_PATH`. 72#cert_path = 73 74# Can also be specified via environment variable `KNOT_TLS_KEY_PATH`. 75#key_path = 76 77# Can also be specified via environment variable `KNOT_TLS_HTTP3`. 78# Default value: true 79#http3 = true 80 81# Can also be specified via environment variable `KNOT_TLS_ACME_ENABLED`. 82# Default value: false 83#acme_enabled = false 84 85# Can also be specified via environment variable `KNOT_TLS_ACME_CACHE_DIR`. 86#acme_cache_dir = 87 88# Can also be specified via environment variable `KNOT_TLS_ACME_CONTACT`. 89#acme_contact = 90 91# Can also be specified via environment variable `KNOT_TLS_ACME_STAGING`. 92# Default value: false 93#acme_staging = false 94 95# Can also be specified via environment variable `KNOT_TLS_MTLS_ENABLED`. 96# Default value: false 97#mtls_enabled = false 98 99# Can also be specified via environment variable `KNOT_TLS_MTLS_CLIENT_CA_PATH`. 100#mtls_client_ca_path = 101 102# Can also be specified via environment variable `KNOT_TLS_MTLS_ADMIN_SPKI_PIN`. 103#mtls_admin_spki_pin = 104 105[acl] 106# Can also be specified via environment variable `KNOT_ADMISSION`. 107# Default value: "closed" 108#admission = "closed" 109 110# Can also be specified via environment variable `KNOT_LEGACY_ADMIN_SECRET_ENV`. 111#legacy_admin_secret_env = 112 113[repo] 114# Can also be specified via environment variable `KNOT_SCAN_PATH`. 115# Required! This value must be specified. 116#scan_path = 117 118# Can also be specified via environment variable `KNOT_DEFAULT_BRANCH`. 119# Default value: "main" 120#default_branch = "main" 121 122[git] 123# Committer identity stamped on merge commits the knot creates. 124# 125# Can also be specified via environment variable `KNOT_GIT_USER_NAME`. 126# 127# Default value: "Tangled" 128#user_name = "Tangled" 129 130# Can also be specified via environment variable `KNOT_GIT_USER_EMAIL`. 131# Default value: "noreply@tangled.sh" 132#user_email = "noreply@tangled.sh" 133 134# Can also be specified via environment variable `KNOT_GIT_OBJECT_FORMAT`. 135# Default value: "sha256" 136#object_format = "sha256" 137 138[secrets] 139# Can also be specified via environment variable `KNOT_SEALED_KEY_FILE`. 140# Required! This value must be specified. 141#sealed_key_file = 142 143# Can also be specified via environment variable `KNOT_MASTER_KEY_ENV`. 144# Required! This value must be specified. 145#master_key_env = 146 147[http] 148# Can also be specified via environment variable `KNOT_HTTP_CONNECT_TIMEOUT_MS`. 149# Default value: 5000 150#connect_timeout_ms = 5000 151 152# Can also be specified via environment variable `KNOT_HTTP_READ_TIMEOUT_MS`. 153# Default value: 30000 154#read_timeout_ms = 30000 155 156# Can also be specified via environment variable `KNOT_HTTP_REQUEST_TIMEOUT_MS`. 157# Default value: 60000 158#request_timeout_ms = 60000 159 160# Can also be specified via environment variable `KNOT_HTTP_MAX_RESPONSE_BYTES`. 161# Default value: 16777216 162#max_response_bytes = 16777216 163 164[atproto] 165# Can also be specified via environment variable `KNOT_PLC_DIRECTORY`. 166# Required! This value must be specified. 167#plc_directory = 168 169[xrpc] 170# Can also be specified via environment variable `KNOT_XRPC_MAX_BODY_BYTES`. 171# Default value: 65536 172#max_body_bytes = 65536 173 174# Can also be specified via environment variable `KNOT_XRPC_MAX_RESPONSE_BYTES`. 175# Default value: 5242880 176#max_response_bytes = 5242880 177 178# Upper bound on bytes that a single archive spools, 179# across all our surfaces: the sh.tangled.repo.archive query, 180# `git archive --remote` over SSH, 181# and the smart HTTP archive route. 182# The knot will refuse writing smth that would blast an archive past this bound. 183# 184# Can also be specified via environment variable `KNOT_XRPC_MAX_ARCHIVE_BYTES`. 185# 186# Default value: 1073741824 187#max_archive_bytes = 1073741824 188 189# Can also be specified via environment variable `KNOT_XRPC_TREE_LAST_COMMIT_BUDGET_MS`. 190# Default value: 300 191#tree_last_commit_budget_ms = 300 192 193# Can also be specified via environment variable `KNOT_XRPC_BLOB_LAST_COMMIT_BUDGET_MS`. 194# Default value: 2000 195#blob_last_commit_budget_ms = 2000 196 197# Can also be specified via environment variable `KNOT_XRPC_LANGUAGES_BUDGET_MS`. 198# Default value: 1000 199#languages_budget_ms = 1000 200 201# Can also be specified via environment variable `KNOT_XRPC_LANGUAGES_PUSH_BUDGET_MS`. 202# Default value: 2000 203#languages_push_budget_ms = 2000 204 205# Body limit for the merge and mergeCheck procedures, whose patch payloads 206# routinely exceed the general XRPC body limit. 207# 208# Can also be specified via environment variable `KNOT_XRPC_MAX_PATCH_BYTES`. 209# 210# Default value: 16777216 211#max_patch_bytes = 16777216 212 213# Limit on the total decompressed size of a patch the merge procedures parse, 214# bounding binary-delta inflation and hunk expansion apart from the 215# compressed body limit above. 216# 217# Can also be specified via environment variable `KNOT_XRPC_MAX_PATCH_DECOMPRESSED_BYTES`. 218# 219# Default value: 134217728 220#max_patch_decompressed_bytes = 134217728 221 222# Can also be specified via environment variable `KNOT_XRPC_PREAUTH_BURST`. 223# Default value: 20 224#preauth_burst = 20 225 226# Can also be specified via environment variable `KNOT_XRPC_PREAUTH_REFILL_MS`. 227# Default value: 100 228#preauth_refill_ms = 100 229 230# Can also be specified via environment variable `KNOT_XRPC_PER_PEER_INFLIGHT`. 231# Default value: 8 232#per_peer_inflight = 8 233 234# Can also be specified via environment variable `KNOT_XRPC_GLOBAL_INFLIGHT`. 235# Default value: 64 236#global_inflight = 64 237 238# Can also be specified via environment variable `KNOT_XRPC_MAX_PENDING_RESERVATIONS`. 239# Default value: 256 240#max_pending_reservations = 256 241 242# Per-account limit on reserved repository keys awaiting creation, so one 243# account cannot consume the whole pending-reservation budget. 244# 245# Can also be specified via environment variable `KNOT_XRPC_PER_ACTOR_RESERVATIONS`. 246# 247# Default value: 32 248#per_actor_reservations = 32 249 250# How long a reserved repository key is held before it lapses and its 251# sealed key is reclaimed, in seconds. 252# 253# Can also be specified via environment variable `KNOT_XRPC_RESERVATION_TTL_SECS`. 254# 255# Default value: 3600 256#reservation_ttl_secs = 3600 257 258# Can also be specified via environment variable `KNOT_XRPC_FORK_MAX_PACK_BYTES`. 259# Default value: 1073741824 260#fork_max_pack_bytes = 1073741824 261 262# Can also be specified via environment variable `KNOT_XRPC_FORK_FETCH_TIMEOUT_MS`. 263# Default value: 600000 264#fork_fetch_timeout_ms = 600000 265 266# When the knot runs behind a trusted reverse proxy that terminates TLS, 267# set this to the header the proxy appends the client address to, 268# for example x-forwarded-for. 269# The knot will read the chain right -> left 270# and take the first entry that `trusted_proxies` doesn't cover. 271# Leave unset when the knot is directly exposed so the socket peer address is used. 272# Only set this when a trusted proxy overwrites or appends the header, 273# since a client can forge it otherwise. 274# 275# Can also be specified via environment variable `KNOT_XRPC_TRUSTED_PROXY_HEADER`. 276#trusted_proxy_header = 277 278# Addresses whose `trusted_proxy_header` the knot honors, 279# each a bare IP without a port or a CIDR block such as 173.245.48.0/20, 280# for ex the loopback address of a reverse proxy on the same host. 281# The knot will rate-limit a request from any other address 282# by its own socket address and ignore the header. 283# These same addresses are hops the knot will iterate over when it reads 284# the header, so list every proxy you control in the path. 285# A proxy that the knot doesn't know about becomes the entry it keys on, 286# and everyone that proxy serves will then share one rate-limit bucket. 287# The knot will read the last 32 entries of the chain, at most. 288# When the list covers all 32, the knot 289# will rate-limit by the address the request connected from. 290# Leave empty to honor the header from every peer and take its rightmost 291# entry, which is safe *only* while every route to this knot passes 292# through the proxy. 293# 294# Can also be specified via environment variable `KNOT_XRPC_TRUSTED_PROXIES`. 295# 296# Default value: [] 297#trusted_proxies = [] 298 299# Can also be specified via environment variable `KNOT_XRPC_EVENTS_REPLAY_BUFFER`. 300# Default value: 4096 301#events_replay_buffer = 4096 302 303# Can also be specified via environment variable `KNOT_XRPC_EVENTS_REPLAY_BYTES`. 304# Default value: 67108864 305#events_replay_bytes = 67108864 306 307# Can also be specified via environment variable `KNOT_XRPC_EVENTS_MAX_SUBSCRIBERS`. 308# Default value: 256 309#events_max_subscribers = 256 310 311# Can also be specified via environment variable `KNOT_XRPC_EVENTS_MAX_PER_PEER`. 312# Default value: 8 313#events_max_per_peer = 8 314 315[maintenance] 316# Can also be specified via environment variable `KNOT_MAINTENANCE_ENABLED`. 317# Default value: true 318#enabled = true 319 320# Can also be specified via environment variable `KNOT_MAINTENANCE_COMMIT_GRAPH`. 321# Default value: true 322#commit_graph = true 323 324# Can also be specified via environment variable `KNOT_MAINTENANCE_MULTI_PACK_INDEX`. 325# Default value: true 326#multi_pack_index = true 327 328# Can also be specified via environment variable `KNOT_MAINTENANCE_BITMAP`. 329# Default value: true 330#bitmap = true 331 332# Can also be specified via environment variable `KNOT_MAINTENANCE_INTERVAL_SECS`. 333# Default value: 21600 334#interval_secs = 21600 335 336# Can also be specified via environment variable `KNOT_MAINTENANCE_REPACK_MAX_OBJECTS`. 337# Default value: 16000000 338#repack_max_objects = 16000000 339 340# Can also be specified via environment variable `KNOT_MAINTENANCE_REPACK_GEOMETRIC_FACTOR`. 341# Default value: 2 342#repack_geometric_factor = 2 343 344# Can also be specified via environment variable `KNOT_MAINTENANCE_PRUNE_GRACE_SECS`. 345# Default value: 1209600 346#prune_grace_secs = 1209600 347 348# Can also be specified via environment variable `KNOT_MAINTENANCE_REFLOG_EXPIRE_SECS`. 349# Default value: 7776000 350#reflog_expire_secs = 7776000 351 352# Can also be specified via environment variable `KNOT_MAINTENANCE_LARGE_PUSH_BYTES`. 353# Default value: 52428800 354#large_push_bytes = 52428800 355 356[pack_cache] 357# Can also be specified via environment variable `KNOT_PACK_CACHE_ENABLED`. 358# Default value: true 359#enabled = true 360 361# Can also be specified via environment variable `KNOT_PACK_CACHE_TTL_SECS`. 362# Default value: 60 363#ttl_secs = 60 364 365# Can also be specified via environment variable `KNOT_PACK_CACHE_MAX_ENTRY_BYTES`. 366# Default value: 67108864 367#max_entry_bytes = 67108864 368 369# Can also be specified via environment variable `KNOT_PACK_CACHE_MAX_TOTAL_BYTES`. 370# Default value: 2147483648 371#max_total_bytes = 2147483648 372 373[pack] 374# Can also be specified via environment variable `KNOT_PACK_MAX_OBJECTS`. 375# Default value: 16000000 376#max_objects = 16000000 377 378# Can also be specified via environment variable `KNOT_PACK_MAX_TOTAL_BYTES`. 379# Default value: 68719476736 380#max_total_bytes = 68719476736 381 382# Can also be specified via environment variable `KNOT_PACK_SELECTION_MAX_OBJECTS`. 383# Default value: 16000000 384#selection_max_objects = 16000000 385 386# Can also be specified via environment variable `KNOT_PACK_SELECTION_TIME_BUDGET_SECS`. 387# Default value: 600 388#selection_time_budget_secs = 600 389 390[lfs] 391# Can also be specified via environment variable `KNOT_LFS_STORE_PATH`. 392#store_path = 393 394# Can also be specified via environment variable `KNOT_LFS_MAX_OBJECT_BYTES`. 395# Default value: 5368709120 396#max_object_bytes = 5368709120 397 398# Can also be specified via environment variable `KNOT_LFS_FREE_SPACE_FLOOR_BYTES`. 399# Default value: 1073741824 400#free_space_floor_bytes = 1073741824 401 402# Can also be specified via environment variable `KNOT_LFS_GC_GRACE_SECS`. 403# Default value: 1209600 404#gc_grace_secs = 1209600 405 406# Can also be specified via environment variable `KNOT_LFS_GC_INTERVAL_SECS`. 407# Default value: 21600 408#gc_interval_secs = 21600 409 410# Can also be specified via environment variable `KNOT_LFS_MAX_SSH_TRANSFERS`. 411# Default value: 16 412#max_ssh_transfers = 16 413 414# Can also be specified via environment variable `KNOT_LFS_MAX_HTTP_DOWNLOADS`. 415# Default value: 64 416#max_http_downloads = 64 417 418[resources] 419# Can also be specified via environment variable `KNOT_MAX_THREADS`. 420# Default value: 0 421#max_threads = 0 422 423# Can also be specified via environment variable `KNOT_MAX_MEMORY_BYTES`. 424# Default value: 0 425#max_memory_bytes = 0 426 427[homepage] 428# Can also be specified via environment variable `KNOT_HOMEPAGE_ENABLED`. 429# Default value: true 430#enabled = true 431 432# Can also be specified via environment variable `KNOT_HOMEPAGE_PATH`. 433#path = 434 435[ci] 436# Can also be specified via environment variable `KNOT_CI_LOGS_ADDR`. 437#logs_addr = 438 439[messages] 440[messages.push] 441# Default value: ["{knot} received {refs}."] 442#ack = ["{knot} received {refs}."] 443 444# Default value: ["", "-> Open stinky pull request for this branch:", " {url}", ""] 445#pull_request = ["", "-> Open stinky pull request for this branch:", " {url}", ""] 446 447# Default value: ["pipeline compiled with no diagnostics"] 448#pipeline_clean = ["pipeline compiled with no diagnostics"] 449 450# Default value: ["no pipelines to compile"] 451#pipeline_none = ["no pipelines to compile"] 452 453# Default value: ["-> Browse CI logs in your terminal:", " ssh -t -p {port} {host} {repo} {sha}"] 454#ci_logs = ["-> Browse CI logs in your terminal:", " ssh -t -p {port} {host} {repo} {sha}"] 455 456[messages.fetch] 457# Default value: ["Thanks for using {knot}!"] 458#motd = ["Thanks for using {knot}!"] 459 460# Default value: ["Enumerating objects: {count}, done."] 461#enumerating = ["Enumerating objects: {count}, done."] 462 463# Default value: ["Total {count}, done."] 464#total = ["Total {count}, done."] 465 466# Default value: "knot: {error}" 467#fatal = "knot: {error}" 468 469[messages.reject] 470# Default value: "refs/cobs/* and refs/hidden/* are reserved and cannot be pushed" 471#reserved_refs = "refs/cobs/* and refs/hidden/* are reserved and cannot be pushed" 472 473# Default value: "existing refs/cobs/* object cannot be modified or deleted over the wire" 474#cob_create_only = "existing refs/cobs/* object cannot be modified or deleted over the wire" 475 476# Default value: "refs/cobs/* stores append-only collaborative objects and cannot be deleted" 477#cob_delete = "refs/cobs/* stores append-only collaborative objects and cannot be deleted" 478 479# Default value: "refs/hidden/* is reserved for server-side fork staging and cannot be pushed" 480#hidden_reserved = "refs/hidden/* is reserved for server-side fork staging and cannot be pushed" 481 482# Default value: "collaborative-object verification failed: {error}" 483#cob_verification = "collaborative-object verification failed: {error}" 484 485# Default value: "reference already exists" 486#ref_exists = "reference already exists" 487 488# Default value: "stale info: old value doesn't match" 489#stale_old_value = "stale info: old value doesn't match" 490 491# Default value: "missing necessary objects" 492#missing_objects = "missing necessary objects" 493 494# Default value: "missing necessary objects for {ref}" 495#missing_objects_for = "missing necessary objects for {ref}" 496 497# Default value: "atomic transaction failed" 498#atomic_failed = "atomic transaction failed" 499 500# Default value: "atomic push aborted" 501#atomic_aborted = "atomic push aborted" 502 503# Default value: "authorization unavailable" 504#authorization_unavailable = "authorization unavailable" 505 506# Default value: "unpacker error" 507#unpacker_error = "unpacker error" 508 509# Default value: "ref snapshot unavailable" 510#ref_snapshot_unavailable = "ref snapshot unavailable" 511 512# Default value: "object migration failed" 513#object_migration_failed = "object migration failed" 514 515[messages.ssh] 516# Default value: ["Hi {user}! You're authenticated to {knot} knot.", "This knot serves git over ssh, so there's no shell here. :P", "Clone repo with: git clone {knot}:<repoDID>"] 517#greeting = ["Hi {user}! You're authenticated to {knot} knot.", "This knot serves git over ssh, so there's no shell here. :P", "Clone repo with: git clone {knot}:<repoDID>"] 518 519# Default value: "knot: unsupported command" 520#unsupported_command = "knot: unsupported command" 521 522# Default value: "knot: too many concurrent operations from your address, try again shortly" 523#too_many_operations = "knot: too many concurrent operations from your address, try again shortly" 524 525# Default value: "knot: repository not found" 526#repo_not_found = "knot: repository not found" 527 528# Default value: "knot: repository index is warming, retry shortly" 529#index_warming = "knot: repository index is warming, retry shortly" 530 531# Default value: "knot: LFS isn't enabled on this knot" 532#lfs_disabled = "knot: LFS isn't enabled on this knot" 533 534# Default value: "knot: your ssh key isn't registered to a user authorized to push here. If you offer several keys, make sure the registered one is offered first." 535#key_not_registered = "knot: your ssh key isn't registered to a user authorized to push here. If you offer several keys, make sure the registered one is offered first." 536 537# Default value: "knot: you aren't authorized to push to this repository." 538#push_denied = "knot: you aren't authorized to push to this repository." 539 540# Default value: "knot: server is shutting down" 541#shutting_down = "knot: server is shutting down" 542 543# Default value: "knot: malformed upload-archive request" 544#archive_malformed = "knot: malformed upload-archive request" 545 546# Default value: "knot: upload-archive request timed out" 547#archive_timeout = "knot: upload-archive request timed out" 548 549# Default value: "knot: upload-archive failed" 550#archive_failed = "knot: upload-archive failed" 551 552# Default value: "knot: cannot advertise refs" 553#advertise_failed = "knot: cannot advertise refs" 554 555# Default value: "knot: push exceeds configured size limit" 556#push_too_large = "knot: push exceeds configured size limit" 557 558# Default value: "knot: receive exceeded its time budget" 559#receive_deadline = "knot: receive exceeded its time budget" 560 561# Default value: "knot: malformed pack stream" 562#malformed_pack = "knot: malformed pack stream" 563 564# Default value: "knot: receive read error" 565#receive_read_error = "knot: receive read error" 566 567# Default value: "knot: receive stream ended early" 568#receive_ended_early = "knot: receive stream ended early" 569 570# Default value: "knot: receive-pack failed" 571#receive_failed = "knot: receive-pack failed" 572 573[messages.http] 574# Default value: "you aren't authorized to push to this repository" 575#push_denied = "you aren't authorized to push to this repository" 576 577# Default value: "repository not found" 578#repo_not_found = "repository not found" 579 580# Default value: "push exceeds the configured size limit" 581#push_too_large = "push exceeds the configured size limit" 582 583# Default value: "malformed pack stream: {error}" 584#malformed_pack = "malformed pack stream: {error}" 585 586# Default value: "receive stream ended early" 587#receive_ended_early = "receive stream ended early" 588 589[messages.lfs] 590# Default value: "invalid LFS oid {value}" 591#invalid_oid = "invalid LFS oid {value}" 592 593# Default value: "oid mismatch, declared {declared}, computed {computed}" 594#hash_mismatch = "oid mismatch, declared {declared}, computed {computed}" 595 596# Default value: "size mismatch, declared {declared}, received {received}" 597#size_mismatch = "size mismatch, declared {declared}, received {received}" 598 599# Default value: "object size {declared} exceeds limit {limit}" 600#size_limit_exceeded = "object size {declared} exceeds limit {limit}" 601 602# Default value: "free space {free} below floor {floor}" 603#free_space_denied = "free space {free} below floor {floor}" 604 605# Default value: "object {oid} not found" 606#not_found = "object {oid} not found" 607 608# Default value: "protocol framing fault: {detail}" 609#framing = "protocol framing fault: {detail}" 610 611# Default value: "too many {what} in one message, limit {limit}" 612#too_many = "too many {what} in one message, limit {limit}" 613 614# Default value: "unknown command {command}" 615#unknown_command = "unknown command {command}" 616 617# Default value: "unsupported version {version}" 618#unsupported_version = "unsupported version {version}" 619 620# Default value: "unsupported hash algorithm {algorithm}" 621#unsupported_hash = "unsupported hash algorithm {algorithm}" 622 623# Default value: "put-object isn't allowed on a download channel" 624#put_on_download = "put-object isn't allowed on a download channel" 625 626# Default value: "verify-object isn't allowed on a download channel" 627#verify_on_download = "verify-object isn't allowed on a download channel" 628 629# Default value: "get-object isn't allowed on an upload channel" 630#get_on_upload = "get-object isn't allowed on an upload channel" 631 632# Default value: "put-object is missing its object body" 633#put_no_body = "put-object is missing its object body"