[ARVADOS] updated: 2.1.0-445-g9f3c03ca6

Git user git at public.arvados.org
Thu Feb 11 21:15:51 UTC 2021


Summary of changes:
 build/run-tests.sh                                 |   2 +-
 cmd/arvados-client/cmd.go                          |   2 +
 cmd/arvados-client/container_gateway.go            | 208 +++++++++++
 cmd/arvados-client/container_gateway_test.go       |  82 ++++
 cmd/arvados-package/build.go                       | 155 ++++++++
 cmd/arvados-package/build_test.go                  |  68 ++++
 cmd/arvados-package/cmd.go                         | 143 +++++++
 cmd/arvados-package/fpm.go                         | 127 +++++++
 cmd/arvados-package/install.go                     | 134 +++++++
 cmd/arvados-server/cmd.go                          |   1 +
 doc/Rakefile                                       |   9 +
 doc/_config.yml                                    |   6 +-
 doc/admin/activation.html.textile.liquid           |   1 -
 doc/admin/federation.html.textile.liquid           |   4 +-
 doc/admin/troubleshooting.html.textile.liquid      |   1 -
 doc/admin/upgrading.html.textile.liquid            |   9 +
 doc/admin/user-management-cli.html.textile.liquid  |   8 +-
 doc/admin/user-management.html.textile.liquid      |   4 +-
 doc/api/methods/containers.html.textile.liquid     |   2 +
 doc/api/methods/users.html.textile.liquid          |   6 +-
 doc/api/permission-model.html.textile.liquid       |   4 +-
 doc/api/tokens.html.textile.liquid                 |   2 +-
 doc/architecture/federation.html.textile.liquid    |   4 +-
 doc/install/automatic.html.textile.liquid          |  47 +++
 doc/install/cheat_sheet.html.textile.liquid        |   1 -
 doc/install/client.html.textile.liquid             |  14 -
 ....liquid => configure-slurm.html.textile.liquid} |  26 +-
 .../install-prerequisites.html.textile.liquid      |  10 -
 doc/install/install-api-server.html.textile.liquid |  10 +-
 .../install-manual-overview.html.textile.liquid    |  20 -
 ...nstall-manual-prerequisites.html.textile.liquid |  10 +-
 doc/install/pre-built-docker.html.textile.liquid   |  75 ----
 doc/user/composer/c1.png                           | Bin 17420 -> 0 bytes
 doc/user/composer/c10.png                          | Bin 33020 -> 0 bytes
 doc/user/composer/c11.png                          | Bin 26144 -> 0 bytes
 doc/user/composer/c12.png                          | Bin 175462 -> 0 bytes
 doc/user/composer/c13.png                          | Bin 11645 -> 0 bytes
 doc/user/composer/c14.png                          | Bin 13116 -> 0 bytes
 doc/user/composer/c15.png                          | Bin 50066 -> 0 bytes
 doc/user/composer/c16.png                          | Bin 32472 -> 0 bytes
 doc/user/composer/c17.png                          | Bin 34259 -> 0 bytes
 doc/user/composer/c18.png                          | Bin 59780 -> 0 bytes
 doc/user/composer/c19.png                          | Bin 53580 -> 0 bytes
 doc/user/composer/c2.png                           | Bin 41693 -> 0 bytes
 doc/user/composer/c20.png                          | Bin 23625 -> 0 bytes
 doc/user/composer/c21.png                          | Bin 11379 -> 0 bytes
 doc/user/composer/c22.png                          | Bin 13713 -> 0 bytes
 doc/user/composer/c23.png                          | Bin 12253 -> 0 bytes
 doc/user/composer/c24.png                          | Bin 19931 -> 0 bytes
 doc/user/composer/c2b.png                          | Bin 14285 -> 0 bytes
 doc/user/composer/c2c.png                          | Bin 9123 -> 0 bytes
 doc/user/composer/c3.png                           | Bin 38471 -> 0 bytes
 doc/user/composer/c4.png                           | Bin 8811 -> 0 bytes
 doc/user/composer/c5.png                           | Bin 24020 -> 0 bytes
 doc/user/composer/c6.png                           | Bin 41978 -> 0 bytes
 doc/user/composer/c7.png                           | Bin 26904 -> 0 bytes
 doc/user/composer/c8.png                           | Bin 44358 -> 0 bytes
 doc/user/composer/c9.png                           | Bin 18920 -> 0 bytes
 doc/user/composer/composer.html.textile.liquid     | 119 ------
 .../tutorials/intro-crunch.html.textile.liquid     |  28 --
 go.mod                                             |   2 +
 go.sum                                             |   4 +
 lib/boot/cert.go                                   |  22 +-
 lib/boot/cmd.go                                    |   6 +
 lib/boot/nginx.go                                  |  51 ++-
 lib/boot/passenger.go                              |  63 +++-
 lib/boot/postgresql.go                             |  32 +-
 lib/boot/seed.go                                   |   7 +-
 lib/boot/service.go                                |  10 +-
 lib/boot/supervisor.go                             | 220 +++++++----
 lib/config/config.default.yml                      |  41 +-
 lib/config/export.go                               | 411 +++++++++++----------
 lib/config/generated_config.go                     |  41 +-
 lib/controller/federation/conn.go                  |   4 +
 lib/controller/federation_test.go                  |  26 +-
 lib/controller/handler.go                          |   2 +
 lib/controller/localdb/container_gateway.go        | 174 +++++++++
 lib/controller/localdb/container_gateway_test.go   | 172 +++++++++
 lib/controller/localdb/login.go                    |   2 +
 lib/controller/localdb/login_oidc.go               |  21 +-
 lib/controller/localdb/login_oidc_test.go          |  22 +-
 lib/controller/router/router.go                    |   7 +
 lib/controller/rpc/conn.go                         |  79 ++++
 lib/costanalyzer/costanalyzer.go                   |  11 +-
 lib/costanalyzer/costanalyzer_test.go              |   4 +-
 lib/crunchrun/container_gateway.go                 | 335 +++++++++++++++++
 lib/crunchrun/crunchrun.go                         |  51 ++-
 lib/dispatchcloud/dispatcher.go                    |   6 +
 lib/dispatchcloud/node_size.go                     |   1 +
 lib/dispatchcloud/node_size_test.go                |   8 +-
 lib/dispatchcloud/worker/pool.go                   |  10 +
 lib/dispatchcloud/worker/runner.go                 |   3 +
 lib/install/deps.go                                | 289 ++++++++++++---
 lib/install/init.go                                | 267 +++++++++++++
 lib/selfsigned/cert.go                             |  76 ++++
 lib/selfsigned/cert_test.go                        |  26 ++
 sdk/go/arvados/api.go                              |  18 +
 sdk/go/arvados/client.go                           |  13 +
 sdk/go/arvados/config.go                           |  28 +-
 sdk/go/arvados/container.go                        |  48 +--
 sdk/go/arvados/container_gateway.go                |  74 ++++
 sdk/go/arvadostest/api.go                          |   4 +
 sdk/go/health/aggregator.go                        |   3 +
 sdk/python/tests/nginx.conf                        |  70 ++--
 sdk/python/tests/run_test_server.py                |   4 +
 services/api/app/models/arvados_model.rb           |   2 +-
 services/api/app/models/container.rb               |  14 +-
 ...108033940_add_gateway_address_to_containers.rb} |   4 +-
 ...dd_interactive_session_started_to_containers.rb |   9 +
 services/api/db/structure.sql                      |   8 +-
 services/api/test/unit/container_test.rb           |   6 +-
 services/keep-balance/main.go                      |   8 +-
 services/keepstore/volume.go                       |   2 +-
 tools/compute-images/arvados-images-aws.json       |   3 +-
 tools/compute-images/arvados-images-azure.json     |   3 +-
 tools/compute-images/build.sh                      |  13 +-
 tools/keep-block-check/keep-block-check.go         |   2 +-
 tools/keep-block-check/keep-block-check_test.go    |  10 +-
 118 files changed, 3360 insertions(+), 834 deletions(-)
 create mode 100644 cmd/arvados-client/container_gateway.go
 create mode 100644 cmd/arvados-client/container_gateway_test.go
 create mode 100644 cmd/arvados-package/build.go
 create mode 100644 cmd/arvados-package/build_test.go
 create mode 100644 cmd/arvados-package/cmd.go
 create mode 100644 cmd/arvados-package/fpm.go
 create mode 100644 cmd/arvados-package/install.go
 delete mode 120000 doc/admin/activation.html.textile.liquid
 delete mode 120000 doc/admin/troubleshooting.html.textile.liquid
 create mode 100644 doc/install/automatic.html.textile.liquid
 delete mode 120000 doc/install/cheat_sheet.html.textile.liquid
 delete mode 100644 doc/install/client.html.textile.liquid
 rename doc/install/crunch2-slurm/{install-slurm.html.textile.liquid => configure-slurm.html.textile.liquid} (88%)
 delete mode 100644 doc/install/crunch2-slurm/install-prerequisites.html.textile.liquid
 delete mode 100644 doc/install/install-manual-overview.html.textile.liquid
 delete mode 100644 doc/install/pre-built-docker.html.textile.liquid
 delete mode 100644 doc/user/composer/c1.png
 delete mode 100644 doc/user/composer/c10.png
 delete mode 100644 doc/user/composer/c11.png
 delete mode 100644 doc/user/composer/c12.png
 delete mode 100644 doc/user/composer/c13.png
 delete mode 100644 doc/user/composer/c14.png
 delete mode 100644 doc/user/composer/c15.png
 delete mode 100644 doc/user/composer/c16.png
 delete mode 100644 doc/user/composer/c17.png
 delete mode 100644 doc/user/composer/c18.png
 delete mode 100644 doc/user/composer/c19.png
 delete mode 100644 doc/user/composer/c2.png
 delete mode 100644 doc/user/composer/c20.png
 delete mode 100644 doc/user/composer/c21.png
 delete mode 100644 doc/user/composer/c22.png
 delete mode 100644 doc/user/composer/c23.png
 delete mode 100644 doc/user/composer/c24.png
 delete mode 100644 doc/user/composer/c2b.png
 delete mode 100644 doc/user/composer/c2c.png
 delete mode 100644 doc/user/composer/c3.png
 delete mode 100644 doc/user/composer/c4.png
 delete mode 100644 doc/user/composer/c5.png
 delete mode 100644 doc/user/composer/c6.png
 delete mode 100644 doc/user/composer/c7.png
 delete mode 100644 doc/user/composer/c8.png
 delete mode 100644 doc/user/composer/c9.png
 delete mode 100644 doc/user/composer/composer.html.textile.liquid
 delete mode 100644 doc/user/tutorials/intro-crunch.html.textile.liquid
 create mode 100644 lib/controller/localdb/container_gateway.go
 create mode 100644 lib/controller/localdb/container_gateway_test.go
 create mode 100644 lib/crunchrun/container_gateway.go
 create mode 100644 lib/install/init.go
 create mode 100644 lib/selfsigned/cert.go
 create mode 100644 lib/selfsigned/cert_test.go
 create mode 100644 sdk/go/arvados/container_gateway.go
 copy services/api/db/migrate/{20130523060112_add_created_by_job_task_to_job_tasks.rb => 20210108033940_add_gateway_address_to_containers.rb} (50%)
 create mode 100644 services/api/db/migrate/20210126183521_add_interactive_session_started_to_containers.rb

       via  9f3c03ca647c458f54da0f48199cf50968750324 (commit)
       via  6e5421bf848b5dccc66906d8747c123e27732a5c (commit)
       via  ea194f11512bbe272fd9a2767c43870b25216de7 (commit)
       via  3639e67a0d23f327be3032fcdf57dff555e7a927 (commit)
       via  279dd72bcd41f38e4bcd9ee87d7e8803903f4bca (commit)
       via  94a62edb315ec297a02fb6c9a2016bcaa17fac9b (commit)
       via  42bf31f017a009585eaac2fe44a83b2596b3e5c8 (commit)
       via  9135120ba24f505aa47655b6f3f6dca3450215d5 (commit)
       via  ae44eb7e4d96e44ca3dc0481cef7cef354a23292 (commit)
       via  f30c8ed35e3e1ad7cb3cb51fc6d83f56a04ae8de (commit)
       via  69260a600b0cf8878292169c8537951e94de9863 (commit)
       via  0810be42fe3bc0215dd9b6edaad0a9e4ef6802a6 (commit)
       via  fdaa80f645f6eb32cb770beefd0a1ba0c864bf84 (commit)
       via  e85a787d224545accc7ee1e8cdda0145dd9ac806 (commit)
       via  5e99f2c5cb423b08b18ba8b7ba9c25035b9c689e (commit)
       via  0ba33e2045cf58071f8e60d31eb9e00274a12e9e (commit)
       via  b27a423ff3ece7cf87e13bbcc30a3ada02a35d70 (commit)
       via  0bcd1ca37a225f37dd52081070c91aa2ba68d49a (commit)
       via  dfa749b3eacff1da33fe470a2a4af3e291defdcf (commit)
       via  7079cf10005d72b4866379250baa60840721ace5 (commit)
       via  f81aae076a78fec5dbafb30e410c596aa2b96b92 (commit)
       via  d106841c5b3e10f40c903923ea3f6121985d5502 (commit)
       via  60a72f91316ab1d878420adceb98e585c0e3b72f (commit)
       via  38a0f5e77f2190487d03d6538337d3b7055fd1e8 (commit)
       via  08c80b2ba6a8fc090d2e998dfcf2f280c8508019 (commit)
       via  c797b629ddb0cf2808123a1b86d31b0153f1aca0 (commit)
       via  22fcc610c13c817c415cff26f2c94c17f271e4d3 (commit)
       via  81d57969ee70d6118937b4f4f61f6e1cd235de44 (commit)
       via  78762462bbea3d51223bdf0ed01668ac1bbbcedb (commit)
       via  40e21ed3a79d7da89b9805a700ff3844c7d9a610 (commit)
       via  f6519a2ffd957ed31d8a8c92da2f1d4ffed71b04 (commit)
       via  b5c47e5ca546f893caa6189671966d98af6665ab (commit)
       via  eb0dd856470fe91ba4592ee24c05a5fed11af217 (commit)
       via  d515c8eb95b39065f74ea6d0b368d8ca3705fd4a (commit)
       via  64f732dbb2c0fac4cd108f142f28d6d2efeae324 (commit)
       via  020482b349bf285ed726dbf05521b686be7daa2b (commit)
       via  e28e5002e502a5c238e6c0ae5daede811af9aa55 (commit)
       via  225adb2aa5ae0b3af3b799c9001a9edc65c7d3d0 (commit)
       via  a795a8801fecdcbe5418c5d631b5b1ba1b22f1d7 (commit)
       via  331ebba87c6b1fa5d90a842ad0beee5d0f67155c (commit)
       via  ae3d77edc33d0c9e11af1a59478feaf7251d8ca1 (commit)
       via  3e7ab60f94a6076383bf4aec41b6271310ab8823 (commit)
       via  8646fae34fff9aa379a34388e90106f31d5206a4 (commit)
       via  a847c48edba67805cff0104386845be799d74073 (commit)
       via  3d1a90b959e3035de4f3be1c511a721291507b5f (commit)
       via  c81ce0ff89ad019d982bdccb376a823894eea733 (commit)
       via  3cb8be1e32a1b2e477501c38cefa4c48bbbb8c29 (commit)
       via  2135f16dd8edc4c9b3cded88eb907dd24cc65293 (commit)
       via  e60380ca96dab6348b9b6ca40e5d09867b94ab85 (commit)
       via  c72e7388b50feaf79651719d6e3a7fbe8239c334 (commit)
       via  77c8223f5ddd64cff2b08d0857749644c474946f (commit)
       via  4865911a605128adb454b3280b1cf9dcd38f499e (commit)
       via  0945afa5523fb45f827750e4d1700df4ff222295 (commit)
       via  28e5a3c88c43be042332ec5d03b65a00509da978 (commit)
       via  dba001d209d9658cdf0adec182376137c5d65244 (commit)
       via  e6cac792d173f4b4073420aabbb1a506ae966c94 (commit)
       via  87694b32da9e3c8a92f7eedb5c71299d199023fb (commit)
       via  82a9595a6a35c648fff62c2497d858f1ab062578 (commit)
       via  0d4be3c57b4e6f5be9699cc9fe445c2d5af0174e (commit)
       via  01e15db1f4a331508117bc841256acec8ca361de (commit)
       via  18def2a271e02fd64749fe650034f50d1b659e45 (commit)
       via  591922d85a4cbb6fc890bde7b5f4848f4c92468a (commit)
       via  b36492a0a569b9116ccf156430c901f4002d8814 (commit)
       via  3c972761eada11023194a48b619d451d3f3c1854 (commit)
       via  8cd08f2ce640e0b1967db489d29e3761ac63f0d7 (commit)
       via  4046a93e9f5b47771b10cd48c4357a452ed6dc6a (commit)
       via  88bb9b9fc4392f4a3514ae59e3ffd454d3ce90a8 (commit)
       via  a4a17913e299851f0b5979189d36997a62ff43e1 (commit)
       via  edc2687671a2fec74304c6e00092034d50c8f667 (commit)
       via  7975d01ef884809f05f380b0e8f275ef0418808b (commit)
       via  d20342c56db7e148f793a29fd79619ce2e3f0243 (commit)
       via  4085665f87c82939961e55bf004ca47c03ca30ac (commit)
       via  1297d71125f5a694996147406edf38bdc913396c (commit)
       via  41305b5ac71cc9a306dc654c42c11ffcc4258a47 (commit)
       via  dad86790c5f3edbcf38702542ba46cb7a9e7f42a (commit)
       via  4f45c40368659d6dbf357cecfc37622c1722090a (commit)
       via  35b422b074dd06dfea090a65b6072b09600302ff (commit)
       via  452fbd0bf14678f1ceb8e60a8864693e062b89b6 (commit)
       via  8c283c6262809df6f9db1aa176a1a8a5e95a717b (commit)
       via  879bd007e5133c3124cb91a0fb660dfda9cf4ace (commit)
       via  a80122e544ddf72fe31d02398d914089b300d1c9 (commit)
       via  f2c6e467c4cfd079b00070ac4f50b551b6ee3bdf (commit)
       via  8439ad9df4a6d9b28bbed985bf87599f2d1b3820 (commit)
       via  5d05dd3ef4822dfb3b476777ba1aacaafed8278d (commit)
       via  bdd9b68e133bb3b3ef7914893ad15f311ce2de24 (commit)
       via  0a6c5d8a8758df0395e40b3cf1d125e59d6c88dd (commit)
       via  5c34cfad641b76ffaa43be8234af1da9d5736ec2 (commit)
       via  03141ccc3015a04f2f171b5a532a9dfd57b8bcd6 (commit)
       via  a2c539196d3b76b466039dfd00e7595ec9dd6abc (commit)
       via  4cc07d6ab4ae16bd6bc69b2c8022414d66ee4113 (commit)
       via  6be5fe90dc9a5452b432176bfa83cba83070f8cf (commit)
       via  fed1d9f5e7a442abb6b2e86114e8c3d05cff5329 (commit)
       via  2c3418d59cd27806322e07519ef9483c2cb433c2 (commit)
       via  0a39317d5ec49ad439833df0a70965394cafb6e8 (commit)
       via  56e130608f8977d20b21c54f6ab8973d71e045a0 (commit)
       via  b979f80113c4f8a4c13c96b4679c28788c099333 (commit)
       via  57c3fbfb0f75dc38be717d52f29abe5bcefea1bb (commit)
       via  6cd0e19a277812f302f46693d824cc17d17ed6b1 (commit)
       via  d71d4273d1f3d0b6381efafa649b81c6b4107cf1 (commit)
       via  2cfb41d14010e26d97df93c4cf8ad00f0ac01701 (commit)
       via  985ece13dd7147f153c7a59c5b3665570c5943c8 (commit)
       via  e1756a76e8c7fed496f513909bd2c295e24cf8ee (commit)
       via  9c139cc4e2f519e2deb3617918a9199b76c33f10 (commit)
       via  ae339cf6802741ea52fbe5cd8716306dcf99b021 (commit)
       via  684b81a42cb9290bde284723603d6e4dbfd7ad35 (commit)
       via  d77f9e6f8a14e14f477dfbf944914c78d0805e9f (commit)
       via  0137f9e3cd33fe676a862afd727563e2602e0984 (commit)
       via  6c1fd146c0b22b374f00ef94c961df8e1e1913a7 (commit)
       via  706c36ff5644bb675af36c15c5f30ef0adde9102 (commit)
       via  3aaefcb3c76ff470b475d950398d01255e87712a (commit)
       via  c59af50bc2f7a366cd12a8dd6fc7d7e3b1c32480 (commit)
       via  f1bc1872a9ead4f3cb1c23c79507870c1b0f7b53 (commit)
       via  3feaf72ad2a9a7b740bb3976f351f5020129eda4 (commit)
       via  209403e32bdd6164404240af2959de86a3c46165 (commit)
       via  54849feb0cf30bd3d78f14f1a41e6bc464fb80d6 (commit)
       via  d5c034b4e90d3fba74e5b0a879d8af424023d7b1 (commit)
       via  20649f2d57f8e5c8bddfb672c164b7a96f75efab (commit)
       via  821c7273388a56ad5ae9b89a0cf2f351388e8b61 (commit)
       via  da7a2e35f1c53a64a360c66db0c260a9ab2190f2 (commit)
       via  0b6013ac5520b7508474705d654f1384994d10e5 (commit)
       via  ab5199f71c7eaf8bf8fe2b4477353cf432faf1a7 (commit)
       via  f8d13408e99839f52260f889a5089126761eecb1 (commit)
       via  e8d1a643cdbc3a5f4c0e5c745da58d9f7e1248d8 (commit)
       via  426103b2d2f071ab0d57b3f9aaea58a3f8455c4f (commit)
       via  bb1054c0e6a9bed14e593004f380111b2e948047 (commit)
       via  f2da5f54256377e604c76b74805381b2acf38f50 (commit)
       via  f81d411d2becc23fe640366620d9568149d89bd6 (commit)
       via  24987125b33655306c048ab64f0ffdfb2f6a6c5b (commit)
       via  1c2f9259deeedaad103b80fda7f440b8e60caa3f (commit)
       via  75d050ab135619fcefecbfa32aaad4dab33e7588 (commit)
       via  8891660b68c10dd9d019f1caf8b7bc0b1eb493d8 (commit)
       via  398ddf58f05416e0ce62ac8faef018a44bf8cc4c (commit)
       via  7ac1ea4e9bc1b399368a95649647a55c8093d649 (commit)
       via  60801a7c485c50e3c2f518f9b3ad6f86c8783fca (commit)
       via  ee7d60f02525760a2480157011659e7b2210f6b8 (commit)
       via  12441486d7fb3b51d2fea9d9b1da0d8e4f3ef3e0 (commit)
       via  b4d6c92791088a0b6a39a71b2b8b6ddc4b13af41 (commit)
      from  b51ddf762b2bf441b899704866f1228e1262a2fa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 9f3c03ca647c458f54da0f48199cf50968750324
Author: Lucas Di Pentima <lucas at di-pentima.com.ar>
Date:   Thu Feb 11 18:15:03 2021 -0300

    16736: Checking runtime_token expiration on federated CR creation (WIP)
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas at di-pentima.com.ar>

diff --git a/lib/controller/federation_test.go b/lib/controller/federation_test.go
index b64225f1a..c78180aa5 100644
--- a/lib/controller/federation_test.go
+++ b/lib/controller/federation_test.go
@@ -695,6 +695,8 @@ func (s *FederationSuite) TestCreateRemoteContainerRequestCheckRuntimeToken(c *c
 	arvadostest.SetServiceURL(&s.testHandler.Cluster.Services.RailsAPI, "https://"+os.Getenv("ARVADOS_TEST_API_HOST"))
 	s.testHandler.Cluster.ClusterID = "zzzzz"
 	s.testHandler.Cluster.SystemRootToken = arvadostest.SystemRootToken
+	dur, _ := time.ParseDuration("1h")
+	s.testHandler.Cluster.API.MaxTokenLifetime = arvados.Duration(dur)
 
 	resp := s.testRequest(req).Result()
 	c.Check(resp.StatusCode, check.Equals, http.StatusOK)
@@ -703,17 +705,25 @@ func (s *FederationSuite) TestCreateRemoteContainerRequestCheckRuntimeToken(c *c
 
 	// Runtime token must match zzzzz cluster
 	c.Check(cr.RuntimeToken, check.Matches, "v2/zzzzz-gj3su-.*")
+
 	// RuntimeToken must be different than the Original Token we originally did the request with.
 	c.Check(cr.RuntimeToken, check.Not(check.Equals), arvadostest.ActiveTokenV2)
 
-	req2 := httptest.NewRequest("GET", "/arvados/v1/api_client_authorizations/current", nil)
-	req2.Header.Set("Authorization", "Bearer "+cr.RuntimeToken)
-	req2.Header.Set("Content-type", "application/json")
-	resp = s.testRequest(req2).Result()
-	c.Check(resp.StatusCode, check.Equals, http.StatusOK)
-	var aca arvados.APIClientAuthorization
-	c.Check(json.NewDecoder(resp.Body).Decode(&aca), check.IsNil)
-	c.Check(aca.ExpiresAt, check.IsNil)
+	if forceLegacyAPI14 {
+		// Runtime token should not have an expiration based on API.MaxTokenLifetime
+		req2 := httptest.NewRequest("GET", "/arvados/v1/api_client_authorizations/current", nil)
+		req2.Header.Set("Authorization", "Bearer "+cr.RuntimeToken)
+		req2.Header.Set("Content-type", "application/json")
+		resp = s.testRequest(req2).Result()
+		c.Check(resp.StatusCode, check.Equals, http.StatusOK)
+		var aca arvados.APIClientAuthorization
+		c.Check(json.NewDecoder(resp.Body).Decode(&aca), check.IsNil)
+		c.Check(aca.ExpiresAt, check.NotNil) // BlobSigningTTL
+		t, _ := time.Parse(time.RFC3339Nano, aca.ExpiresAt)
+		c.Check(t.After(time.Now().Add(time.Hour)), check.Equals, true)
+		// fmt.Printf("\n\n>>BlobSigningTTL: %v // ExpiresAt: %v>>\n\n", s.testHandler.Cluster.Collections.BlobSigningTTL.Duration(), t)
+		// c.Check(t.Before(time.Now().Add(s.testHandler.Cluster.Collections.BlobSigningTTL.Duration())), check.Equals, true)
+	}
 }
 
 func (s *FederationSuite) TestCreateRemoteContainerRequestCheckSetRuntimeToken(c *check.C) {
diff --git a/services/api/app/models/container.rb b/services/api/app/models/container.rb
index 8feee77ff..e6d945a00 100644
--- a/services/api/app/models/container.rb
+++ b/services/api/app/models/container.rb
@@ -605,7 +605,8 @@ class Container < ArvadosModel
         self.runtime_auth_scopes = ["all"]
       end
 
-      # generate a new token
+      # Generate a new token. This runs with admin credentials as it's done by a
+      # dispatcher user, so expires_at isn't enforced by API.MaxTokenLifetime.
       self.auth = ApiClientAuthorization.
                     create!(user_id: User.find_by_uuid(self.runtime_user_uuid).id,
                             api_client_id: 0,

commit 6e5421bf848b5dccc66906d8747c123e27732a5c
Merge: b51ddf762 ea194f115
Author: Lucas Di Pentima <lucas at di-pentima.com.ar>
Date:   Thu Feb 11 12:47:59 2021 -0300

    16736: Merge branch 'master' into 16736-max-token-lifetime
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas at di-pentima.com.ar>

diff --cc lib/config/export.go
index 74c08703b,3d0e27c72..b6531c59d
--- a/lib/config/export.go
+++ b/lib/config/export.go
@@@ -59,209 -59,213 +59,214 @@@ func ExportJSON(w io.Writer, cluster *a
  // exists.
  var whitelist = map[string]bool{
  	// | sort -t'"' -k2,2
- 	"API":                                          true,
- 	"API.AsyncPermissionsUpdateInterval":           false,
- 	"API.DisabledAPIs":                             false,
- 	"API.KeepServiceRequestTimeout":                false,
- 	"API.MaxConcurrentRequests":                    false,
- 	"API.MaxIndexDatabaseRead":                     false,
- 	"API.MaxItemsPerResponse":                      true,
- 	"API.MaxKeepBlobBuffers":                       false,
- 	"API.MaxRequestAmplification":                  false,
- 	"API.MaxRequestSize":                           true,
- 	"API.MaxTokenLifetime":                         false,
- 	"API.RequestTimeout":                           true,
- 	"API.SendTimeout":                              true,
- 	"API.WebsocketClientEventQueue":                false,
- 	"API.WebsocketServerEventQueue":                false,
- 	"AuditLogs":                                    false,
- 	"AuditLogs.MaxAge":                             false,
- 	"AuditLogs.MaxDeleteBatch":                     false,
- 	"AuditLogs.UnloggedAttributes":                 false,
- 	"ClusterID":                                    true,
- 	"Collections":                                  true,
- 	"Collections.BalanceCollectionBatch":           false,
- 	"Collections.BalanceCollectionBuffers":         false,
- 	"Collections.BalancePeriod":                    false,
- 	"Collections.BalanceTimeout":                   false,
- 	"Collections.BlobDeleteConcurrency":            false,
- 	"Collections.BlobMissingReport":                false,
- 	"Collections.BlobReplicateConcurrency":         false,
- 	"Collections.BlobSigning":                      true,
- 	"Collections.BlobSigningKey":                   false,
- 	"Collections.BlobSigningTTL":                   true,
- 	"Collections.BlobTrash":                        false,
- 	"Collections.BlobTrashCheckInterval":           false,
- 	"Collections.BlobTrashConcurrency":             false,
- 	"Collections.BlobTrashLifetime":                false,
- 	"Collections.CollectionVersioning":             false,
- 	"Collections.DefaultReplication":               true,
- 	"Collections.DefaultTrashLifetime":             true,
- 	"Collections.ForwardSlashNameSubstitution":     true,
- 	"Collections.ManagedProperties":                true,
- 	"Collections.ManagedProperties.*":              true,
- 	"Collections.ManagedProperties.*.*":            true,
- 	"Collections.PreserveVersionIfIdle":            true,
- 	"Collections.S3FolderObjects":                  true,
- 	"Collections.TrashSweepInterval":               false,
- 	"Collections.TrustAllContent":                  false,
- 	"Collections.WebDAVCache":                      false,
- 	"Containers":                                   true,
- 	"Containers.CloudVMs":                          false,
- 	"Containers.CrunchRunArgumentsList":            false,
- 	"Containers.CrunchRunCommand":                  false,
- 	"Containers.DefaultKeepCacheRAM":               true,
- 	"Containers.DispatchPrivateKey":                false,
- 	"Containers.JobsAPI":                           true,
- 	"Containers.JobsAPI.Enable":                    true,
- 	"Containers.JobsAPI.GitInternalDir":            false,
- 	"Containers.Logging":                           false,
- 	"Containers.LogReuseDecisions":                 false,
- 	"Containers.MaxComputeVMs":                     false,
- 	"Containers.MaxDispatchAttempts":               false,
- 	"Containers.MaxRetryAttempts":                  true,
- 	"Containers.MinRetryPeriod":                    true,
- 	"Containers.ReserveExtraRAM":                   true,
- 	"Containers.SLURM":                             false,
- 	"Containers.StaleLockTimeout":                  false,
- 	"Containers.SupportedDockerImageFormats":       true,
- 	"Containers.SupportedDockerImageFormats.*":     true,
- 	"Containers.UsePreemptibleInstances":           true,
- 	"ForceLegacyAPI14":                             false,
- 	"Git":                                          false,
- 	"InstanceTypes":                                true,
- 	"InstanceTypes.*":                              true,
- 	"InstanceTypes.*.*":                            true,
- 	"Login":                                        true,
- 	"Login.Google":                                 true,
- 	"Login.Google.AlternateEmailAddresses":         false,
- 	"Login.Google.ClientID":                        false,
- 	"Login.Google.ClientSecret":                    false,
- 	"Login.Google.Enable":                          true,
- 	"Login.LDAP":                                   true,
- 	"Login.LDAP.AppendDomain":                      false,
- 	"Login.LDAP.EmailAttribute":                    false,
- 	"Login.LDAP.Enable":                            true,
- 	"Login.LDAP.InsecureTLS":                       false,
- 	"Login.LDAP.SearchAttribute":                   false,
- 	"Login.LDAP.SearchBase":                        false,
- 	"Login.LDAP.SearchBindPassword":                false,
- 	"Login.LDAP.SearchBindUser":                    false,
- 	"Login.LDAP.SearchFilters":                     false,
- 	"Login.LDAP.StartTLS":                          false,
- 	"Login.LDAP.StripDomain":                       false,
- 	"Login.LDAP.URL":                               false,
- 	"Login.LDAP.UsernameAttribute":                 false,
- 	"Login.LoginCluster":                           true,
- 	"Login.OpenIDConnect":                          true,
- 	"Login.OpenIDConnect.ClientID":                 false,
- 	"Login.OpenIDConnect.ClientSecret":             false,
- 	"Login.OpenIDConnect.EmailClaim":               false,
- 	"Login.OpenIDConnect.EmailVerifiedClaim":       false,
- 	"Login.OpenIDConnect.Enable":                   true,
- 	"Login.OpenIDConnect.Issuer":                   false,
- 	"Login.OpenIDConnect.UsernameClaim":            false,
- 	"Login.PAM":                                    true,
- 	"Login.PAM.DefaultEmailDomain":                 false,
- 	"Login.PAM.Enable":                             true,
- 	"Login.PAM.Service":                            false,
- 	"Login.RemoteTokenRefresh":                     true,
- 	"Login.SSO":                                    true,
- 	"Login.SSO.Enable":                             true,
- 	"Login.SSO.ProviderAppID":                      false,
- 	"Login.SSO.ProviderAppSecret":                  false,
- 	"Login.Test":                                   true,
- 	"Login.Test.Enable":                            true,
- 	"Login.Test.Users":                             false,
- 	"Login.TokenLifetime":                          false,
- 	"Login.TrustedClients":                         false,
- 	"Mail":                                         true,
- 	"Mail.EmailFrom":                               false,
- 	"Mail.IssueReporterEmailFrom":                  false,
- 	"Mail.IssueReporterEmailTo":                    false,
- 	"Mail.MailchimpAPIKey":                         false,
- 	"Mail.MailchimpListID":                         false,
- 	"Mail.SendUserSetupNotificationEmail":          false,
- 	"Mail.SupportEmailAddress":                     true,
- 	"ManagementToken":                              false,
- 	"PostgreSQL":                                   false,
- 	"RemoteClusters":                               true,
- 	"RemoteClusters.*":                             true,
- 	"RemoteClusters.*.ActivateUsers":               true,
- 	"RemoteClusters.*.Host":                        true,
- 	"RemoteClusters.*.Insecure":                    true,
- 	"RemoteClusters.*.Proxy":                       true,
- 	"RemoteClusters.*.Scheme":                      true,
- 	"Services":                                     true,
- 	"Services.*":                                   true,
- 	"Services.*.ExternalURL":                       true,
- 	"Services.*.InternalURLs":                      false,
- 	"SystemLogs":                                   false,
- 	"SystemRootToken":                              false,
- 	"TLS":                                          false,
- 	"Users":                                        true,
- 	"Users.AdminNotifierEmailFrom":                 false,
- 	"Users.AnonymousUserToken":                     true,
- 	"Users.AutoAdminFirstUser":                     false,
- 	"Users.AutoAdminUserWithEmail":                 false,
- 	"Users.AutoSetupNewUsers":                      false,
- 	"Users.AutoSetupNewUsersWithRepository":        false,
- 	"Users.AutoSetupNewUsersWithVmUUID":            false,
- 	"Users.AutoSetupUsernameBlacklist":             false,
- 	"Users.EmailSubjectPrefix":                     false,
- 	"Users.NewInactiveUserNotificationRecipients":  false,
- 	"Users.NewUserNotificationRecipients":          false,
- 	"Users.NewUsersAreActive":                      false,
- 	"Users.PreferDomainForUsername":                false,
- 	"Users.UserNotifierEmailFrom":                  false,
- 	"Users.UserProfileNotificationAddress":         false,
- 	"Users.UserSetupMailText":                      false,
- 	"Volumes":                                      true,
- 	"Volumes.*":                                    true,
- 	"Volumes.*.*":                                  false,
- 	"Volumes.*.AccessViaHosts":                     true,
- 	"Volumes.*.AccessViaHosts.*":                   true,
- 	"Volumes.*.AccessViaHosts.*.ReadOnly":          true,
- 	"Volumes.*.ReadOnly":                           true,
- 	"Volumes.*.Replication":                        true,
- 	"Volumes.*.StorageClasses":                     true,
- 	"Volumes.*.StorageClasses.*":                   false,
- 	"Workbench":                                    true,
- 	"Workbench.ActivationContactLink":              false,
- 	"Workbench.APIClientConnectTimeout":            true,
- 	"Workbench.APIClientReceiveTimeout":            true,
- 	"Workbench.APIResponseCompression":             true,
- 	"Workbench.ApplicationMimetypesWithViewIcon":   true,
- 	"Workbench.ApplicationMimetypesWithViewIcon.*": true,
- 	"Workbench.ArvadosDocsite":                     true,
- 	"Workbench.ArvadosPublicDataDocURL":            true,
- 	"Workbench.DefaultOpenIdPrefix":                false,
- 	"Workbench.EnableGettingStartedPopup":          true,
- 	"Workbench.EnablePublicProjectsPage":           true,
- 	"Workbench.FileViewersConfigURL":               true,
- 	"Workbench.IdleTimeout":                        true,
- 	"Workbench.InactivePageHTML":                   true,
- 	"Workbench.LogViewerMaxBytes":                  true,
- 	"Workbench.MultiSiteSearch":                    true,
- 	"Workbench.ProfilingEnabled":                   true,
- 	"Workbench.Repositories":                       false,
- 	"Workbench.RepositoryCache":                    false,
- 	"Workbench.RunningJobLogRecordsToFetch":        true,
- 	"Workbench.SecretKeyBase":                      false,
- 	"Workbench.ShowRecentCollectionsOnDashboard":   true,
- 	"Workbench.ShowUserAgreementInline":            true,
- 	"Workbench.ShowUserNotifications":              true,
- 	"Workbench.SiteName":                           true,
- 	"Workbench.SSHHelpHostSuffix":                  true,
- 	"Workbench.SSHHelpPageHTML":                    true,
- 	"Workbench.Theme":                              true,
- 	"Workbench.UserProfileFormFields":              true,
- 	"Workbench.UserProfileFormFields.*":            true,
- 	"Workbench.UserProfileFormFields.*.*":          true,
- 	"Workbench.UserProfileFormFields.*.*.*":        true,
- 	"Workbench.UserProfileFormMessage":             true,
- 	"Workbench.VocabularyURL":                      true,
- 	"Workbench.WelcomePageHTML":                    true,
+ 	"API":                                                 true,
+ 	"API.AsyncPermissionsUpdateInterval":                  false,
+ 	"API.DisabledAPIs":                                    false,
+ 	"API.KeepServiceRequestTimeout":                       false,
+ 	"API.MaxConcurrentRequests":                           false,
+ 	"API.MaxIndexDatabaseRead":                            false,
+ 	"API.MaxItemsPerResponse":                             true,
+ 	"API.MaxKeepBlobBuffers":                              false,
+ 	"API.MaxRequestAmplification":                         false,
+ 	"API.MaxRequestSize":                                  true,
++	"API.MaxTokenLifetime":                                false,
+ 	"API.RequestTimeout":                                  true,
+ 	"API.SendTimeout":                                     true,
+ 	"API.WebsocketClientEventQueue":                       false,
+ 	"API.WebsocketServerEventQueue":                       false,
+ 	"AuditLogs":                                           false,
+ 	"AuditLogs.MaxAge":                                    false,
+ 	"AuditLogs.MaxDeleteBatch":                            false,
+ 	"AuditLogs.UnloggedAttributes":                        false,
+ 	"ClusterID":                                           true,
+ 	"Collections":                                         true,
+ 	"Collections.BalanceCollectionBatch":                  false,
+ 	"Collections.BalanceCollectionBuffers":                false,
+ 	"Collections.BalancePeriod":                           false,
+ 	"Collections.BalanceTimeout":                          false,
+ 	"Collections.BlobDeleteConcurrency":                   false,
+ 	"Collections.BlobMissingReport":                       false,
+ 	"Collections.BlobReplicateConcurrency":                false,
+ 	"Collections.BlobSigning":                             true,
+ 	"Collections.BlobSigningKey":                          false,
+ 	"Collections.BlobSigningTTL":                          true,
+ 	"Collections.BlobTrash":                               false,
+ 	"Collections.BlobTrashCheckInterval":                  false,
+ 	"Collections.BlobTrashConcurrency":                    false,
+ 	"Collections.BlobTrashLifetime":                       false,
+ 	"Collections.CollectionVersioning":                    false,
+ 	"Collections.DefaultReplication":                      true,
+ 	"Collections.DefaultTrashLifetime":                    true,
+ 	"Collections.ForwardSlashNameSubstitution":            true,
+ 	"Collections.ManagedProperties":                       true,
+ 	"Collections.ManagedProperties.*":                     true,
+ 	"Collections.ManagedProperties.*.*":                   true,
+ 	"Collections.PreserveVersionIfIdle":                   true,
+ 	"Collections.S3FolderObjects":                         true,
+ 	"Collections.TrashSweepInterval":                      false,
+ 	"Collections.TrustAllContent":                         false,
+ 	"Collections.WebDAVCache":                             false,
+ 	"Containers":                                          true,
+ 	"Containers.CloudVMs":                                 false,
+ 	"Containers.CrunchRunArgumentsList":                   false,
+ 	"Containers.CrunchRunCommand":                         false,
+ 	"Containers.DefaultKeepCacheRAM":                      true,
+ 	"Containers.DispatchPrivateKey":                       false,
+ 	"Containers.JobsAPI":                                  true,
+ 	"Containers.JobsAPI.Enable":                           true,
+ 	"Containers.JobsAPI.GitInternalDir":                   false,
+ 	"Containers.Logging":                                  false,
+ 	"Containers.LogReuseDecisions":                        false,
+ 	"Containers.MaxComputeVMs":                            false,
+ 	"Containers.MaxDispatchAttempts":                      false,
+ 	"Containers.MaxRetryAttempts":                         true,
+ 	"Containers.MinRetryPeriod":                           true,
+ 	"Containers.ReserveExtraRAM":                          true,
+ 	"Containers.ShellAccess":                              true,
+ 	"Containers.ShellAccess.Admin":                        true,
+ 	"Containers.ShellAccess.User":                         true,
+ 	"Containers.SLURM":                                    false,
+ 	"Containers.StaleLockTimeout":                         false,
+ 	"Containers.SupportedDockerImageFormats":              true,
+ 	"Containers.SupportedDockerImageFormats.*":            true,
+ 	"Containers.UsePreemptibleInstances":                  true,
+ 	"ForceLegacyAPI14":                                    false,
+ 	"Git":                                                 false,
+ 	"InstanceTypes":                                       true,
+ 	"InstanceTypes.*":                                     true,
+ 	"InstanceTypes.*.*":                                   true,
+ 	"Login":                                               true,
+ 	"Login.Google":                                        true,
+ 	"Login.Google.AlternateEmailAddresses":                false,
+ 	"Login.Google.AuthenticationRequestParameters":        false,
+ 	"Login.Google.ClientID":                               false,
+ 	"Login.Google.ClientSecret":                           false,
+ 	"Login.Google.Enable":                                 true,
+ 	"Login.LDAP":                                          true,
+ 	"Login.LDAP.AppendDomain":                             false,
+ 	"Login.LDAP.EmailAttribute":                           false,
+ 	"Login.LDAP.Enable":                                   true,
+ 	"Login.LDAP.InsecureTLS":                              false,
+ 	"Login.LDAP.SearchAttribute":                          false,
+ 	"Login.LDAP.SearchBase":                               false,
+ 	"Login.LDAP.SearchBindPassword":                       false,
+ 	"Login.LDAP.SearchBindUser":                           false,
+ 	"Login.LDAP.SearchFilters":                            false,
+ 	"Login.LDAP.StartTLS":                                 false,
+ 	"Login.LDAP.StripDomain":                              false,
+ 	"Login.LDAP.URL":                                      false,
+ 	"Login.LDAP.UsernameAttribute":                        false,
+ 	"Login.LoginCluster":                                  true,
+ 	"Login.OpenIDConnect":                                 true,
+ 	"Login.OpenIDConnect.AuthenticationRequestParameters": false,
+ 	"Login.OpenIDConnect.ClientID":                        false,
+ 	"Login.OpenIDConnect.ClientSecret":                    false,
+ 	"Login.OpenIDConnect.EmailClaim":                      false,
+ 	"Login.OpenIDConnect.EmailVerifiedClaim":              false,
+ 	"Login.OpenIDConnect.Enable":                          true,
+ 	"Login.OpenIDConnect.Issuer":                          false,
+ 	"Login.OpenIDConnect.UsernameClaim":                   false,
+ 	"Login.PAM":                                           true,
+ 	"Login.PAM.DefaultEmailDomain":                        false,
+ 	"Login.PAM.Enable":                                    true,
+ 	"Login.PAM.Service":                                   false,
+ 	"Login.RemoteTokenRefresh":                            true,
+ 	"Login.SSO":                                           true,
+ 	"Login.SSO.Enable":                                    true,
+ 	"Login.SSO.ProviderAppID":                             false,
+ 	"Login.SSO.ProviderAppSecret":                         false,
+ 	"Login.Test":                                          true,
+ 	"Login.Test.Enable":                                   true,
+ 	"Login.Test.Users":                                    false,
+ 	"Login.TokenLifetime":                                 false,
+ 	"Login.TrustedClients":                                false,
+ 	"Mail":                                                true,
+ 	"Mail.EmailFrom":                                      false,
+ 	"Mail.IssueReporterEmailFrom":                         false,
+ 	"Mail.IssueReporterEmailTo":                           false,
+ 	"Mail.MailchimpAPIKey":                                false,
+ 	"Mail.MailchimpListID":                                false,
+ 	"Mail.SendUserSetupNotificationEmail":                 false,
+ 	"Mail.SupportEmailAddress":                            true,
+ 	"ManagementToken":                                     false,
+ 	"PostgreSQL":                                          false,
+ 	"RemoteClusters":                                      true,
+ 	"RemoteClusters.*":                                    true,
+ 	"RemoteClusters.*.ActivateUsers":                      true,
+ 	"RemoteClusters.*.Host":                               true,
+ 	"RemoteClusters.*.Insecure":                           true,
+ 	"RemoteClusters.*.Proxy":                              true,
+ 	"RemoteClusters.*.Scheme":                             true,
+ 	"Services":                                            true,
+ 	"Services.*":                                          true,
+ 	"Services.*.ExternalURL":                              true,
+ 	"Services.*.InternalURLs":                             false,
+ 	"SystemLogs":                                          false,
+ 	"SystemRootToken":                                     false,
+ 	"TLS":                                                 false,
+ 	"Users":                                               true,
+ 	"Users.AdminNotifierEmailFrom":                        false,
+ 	"Users.AnonymousUserToken":                            true,
+ 	"Users.AutoAdminFirstUser":                            false,
+ 	"Users.AutoAdminUserWithEmail":                        false,
+ 	"Users.AutoSetupNewUsers":                             false,
+ 	"Users.AutoSetupNewUsersWithRepository":               false,
+ 	"Users.AutoSetupNewUsersWithVmUUID":                   false,
+ 	"Users.AutoSetupUsernameBlacklist":                    false,
+ 	"Users.EmailSubjectPrefix":                            false,
+ 	"Users.NewInactiveUserNotificationRecipients":         false,
+ 	"Users.NewUserNotificationRecipients":                 false,
+ 	"Users.NewUsersAreActive":                             false,
+ 	"Users.PreferDomainForUsername":                       false,
+ 	"Users.UserNotifierEmailFrom":                         false,
+ 	"Users.UserProfileNotificationAddress":                false,
+ 	"Users.UserSetupMailText":                             false,
+ 	"Volumes":                                             true,
+ 	"Volumes.*":                                           true,
+ 	"Volumes.*.*":                                         false,
+ 	"Volumes.*.AccessViaHosts":                            true,
+ 	"Volumes.*.AccessViaHosts.*":                          true,
+ 	"Volumes.*.AccessViaHosts.*.ReadOnly":                 true,
+ 	"Volumes.*.ReadOnly":                                  true,
+ 	"Volumes.*.Replication":                               true,
+ 	"Volumes.*.StorageClasses":                            true,
+ 	"Volumes.*.StorageClasses.*":                          false,
+ 	"Workbench":                                           true,
+ 	"Workbench.ActivationContactLink":                     false,
+ 	"Workbench.APIClientConnectTimeout":                   true,
+ 	"Workbench.APIClientReceiveTimeout":                   true,
+ 	"Workbench.APIResponseCompression":                    true,
+ 	"Workbench.ApplicationMimetypesWithViewIcon":          true,
+ 	"Workbench.ApplicationMimetypesWithViewIcon.*":        true,
+ 	"Workbench.ArvadosDocsite":                            true,
+ 	"Workbench.ArvadosPublicDataDocURL":                   true,
+ 	"Workbench.DefaultOpenIdPrefix":                       false,
+ 	"Workbench.EnableGettingStartedPopup":                 true,
+ 	"Workbench.EnablePublicProjectsPage":                  true,
+ 	"Workbench.FileViewersConfigURL":                      true,
+ 	"Workbench.IdleTimeout":                               true,
+ 	"Workbench.InactivePageHTML":                          true,
+ 	"Workbench.LogViewerMaxBytes":                         true,
+ 	"Workbench.MultiSiteSearch":                           true,
+ 	"Workbench.ProfilingEnabled":                          true,
+ 	"Workbench.Repositories":                              false,
+ 	"Workbench.RepositoryCache":                           false,
+ 	"Workbench.RunningJobLogRecordsToFetch":               true,
+ 	"Workbench.SecretKeyBase":                             false,
+ 	"Workbench.ShowRecentCollectionsOnDashboard":          true,
+ 	"Workbench.ShowUserAgreementInline":                   true,
+ 	"Workbench.ShowUserNotifications":                     true,
+ 	"Workbench.SiteName":                                  true,
+ 	"Workbench.SSHHelpHostSuffix":                         true,
+ 	"Workbench.SSHHelpPageHTML":                           true,
+ 	"Workbench.Theme":                                     true,
+ 	"Workbench.UserProfileFormFields":                     true,
+ 	"Workbench.UserProfileFormFields.*":                   true,
+ 	"Workbench.UserProfileFormFields.*.*":                 true,
+ 	"Workbench.UserProfileFormFields.*.*.*":               true,
+ 	"Workbench.UserProfileFormMessage":                    true,
+ 	"Workbench.VocabularyURL":                             true,
+ 	"Workbench.WelcomePageHTML":                           true,
  }
  
  func redactUnsafe(m map[string]interface{}, mPrefix, lookupPrefix string) error {

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list