gitextract_zydnvh49/ ├── .gitignore ├── .licenseignore ├── AUTHORS ├── CITATION.cff ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYING ├── Makefile ├── README.md ├── SECURITY.md ├── agpl-3.0.txt ├── apache-2.0.txt ├── build/ │ ├── README │ ├── build_docker_image.py │ ├── check-copyright-notices │ ├── create-plot-data-from-log.sh │ ├── docker/ │ │ └── python-venv.Dockerfile │ ├── go-python-package-scripts/ │ │ ├── postinst │ │ └── prerm │ ├── package-testing/ │ │ ├── common-test-packages.sh │ │ ├── deb-common-test-packages.sh │ │ ├── rpm-common-test-packages.sh │ │ ├── test-package-arvados-api-server.sh │ │ ├── test-package-arvados-client.sh │ │ ├── test-package-arvados-docker-cleaner.sh │ │ ├── test-package-python3-arvados-cwl-runner.sh │ │ ├── test-package-python3-arvados-python-client.sh │ │ ├── test-package-python3-crunchstat-summary.sh │ │ └── test-package-python3-python-arvados-fuse.sh │ ├── pypkg_info.py │ ├── rails-package-scripts/ │ │ ├── README.md │ │ ├── arvados-api-server.sh │ │ ├── postinst.sh │ │ ├── postrm.sh │ │ └── prerm.sh │ ├── requirements.build-packages.txt │ ├── requirements.build.txt │ ├── requirements.tests.txt │ ├── run-build-packages-all-targets.sh │ ├── run-build-packages-one-target.sh │ ├── run-build-packages-python-and-ruby.sh │ ├── run-build-packages.sh │ ├── run-build-test-packages-one-target.sh │ ├── run-library.sh │ ├── run-tests.sh │ └── version-at-commit.sh ├── cc-by-sa-3.0.txt ├── cmd/ │ └── arvados-server/ │ ├── arvados-controller.service │ ├── arvados-dispatch-cloud.service │ ├── arvados-dispatch-lsf.service │ ├── arvados-health.service │ ├── arvados-ws.service │ ├── cmd.go │ ├── crunch-dispatch-slurm.service │ ├── keep-balance.service │ ├── keep-web.service │ ├── keepproxy.service │ └── keepstore.service ├── contrib/ │ ├── R-sdk/ │ │ ├── .Rbuildignore │ │ ├── .gitignore │ │ ├── ArvadosR.Rproj │ │ ├── DESCRIPTION │ │ ├── Makefile │ │ ├── NAMESPACE │ │ ├── R/ │ │ │ ├── ArvadosFile.R │ │ │ ├── ArvadosR.R │ │ │ ├── Collection.R │ │ │ ├── CollectionTree.R │ │ │ ├── HttpParser.R │ │ │ ├── HttpRequest.R │ │ │ ├── RESTService.R │ │ │ ├── Subcollection.R │ │ │ ├── util.R │ │ │ └── zzz.R │ │ ├── README.md │ │ ├── arvados-v1-discovery.json │ │ ├── generateApi.R │ │ ├── install_deps.R │ │ ├── run_test.R │ │ └── tests/ │ │ ├── testthat/ │ │ │ ├── fakes/ │ │ │ │ ├── FakeArvados.R │ │ │ │ ├── FakeHttpParser.R │ │ │ │ ├── FakeHttpRequest.R │ │ │ │ └── FakeRESTService.R │ │ │ ├── test-ArvadosFile.R │ │ │ ├── test-Collection.R │ │ │ ├── test-CollectionTree.R │ │ │ ├── test-HttpParser.R │ │ │ ├── test-HttpRequest.R │ │ │ ├── test-RESTService.R │ │ │ ├── test-Subcollection.R │ │ │ └── test-util.R │ │ └── testthat.R │ ├── README.md │ ├── arvados-bootstrap/ │ │ ├── LICENSE-2.0.txt │ │ ├── README.md │ │ ├── pyproject.toml │ │ └── src/ │ │ └── arv_bootstrap/ │ │ ├── __init__.py │ │ ├── export_import.py │ │ ├── federation_migrate.py │ │ ├── seed.py │ │ └── stubapi.py │ ├── arvbash/ │ │ └── arvbash.sh │ └── java-sdk-v2/ │ ├── .gitignore │ ├── .licenseignore │ ├── COPYING │ ├── README.md │ ├── agpl-3.0.txt │ ├── apache-2.0.txt │ ├── build.gradle │ ├── gradle.properties │ ├── settings.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── arvados/ │ │ │ └── client/ │ │ │ ├── api/ │ │ │ │ ├── client/ │ │ │ │ │ ├── BaseApiClient.java │ │ │ │ │ ├── BaseStandardApiClient.java │ │ │ │ │ ├── CollectionsApiClient.java │ │ │ │ │ ├── ConfigApiClient.java │ │ │ │ │ ├── CountingFileRequestBody.java │ │ │ │ │ ├── CountingRequestBody.java │ │ │ │ │ ├── CountingStreamRequestBody.java │ │ │ │ │ ├── GroupsApiClient.java │ │ │ │ │ ├── KeepWebApiClient.java │ │ │ │ │ ├── LinksApiClient.java │ │ │ │ │ ├── ProgressListener.java │ │ │ │ │ ├── UsersApiClient.java │ │ │ │ │ └── factory/ │ │ │ │ │ └── OkHttpClientFactory.java │ │ │ │ └── model/ │ │ │ │ ├── ApiError.java │ │ │ │ ├── ArvadosConfig.java │ │ │ │ ├── Collection.java │ │ │ │ ├── CollectionList.java │ │ │ │ ├── CollectionReplaceFiles.java │ │ │ │ ├── Group.java │ │ │ │ ├── GroupList.java │ │ │ │ ├── Item.java │ │ │ │ ├── ItemList.java │ │ │ │ ├── KeepService.java │ │ │ │ ├── KeepServiceList.java │ │ │ │ ├── Link.java │ │ │ │ ├── LinkList.java │ │ │ │ ├── RuntimeConstraints.java │ │ │ │ ├── User.java │ │ │ │ ├── UserList.java │ │ │ │ └── argument/ │ │ │ │ ├── Argument.java │ │ │ │ ├── ContentsGroup.java │ │ │ │ ├── Filter.java │ │ │ │ ├── ListArgument.java │ │ │ │ └── UntrashGroup.java │ │ │ ├── common/ │ │ │ │ ├── Characters.java │ │ │ │ ├── Headers.java │ │ │ │ └── Patterns.java │ │ │ ├── config/ │ │ │ │ ├── ConfigProvider.java │ │ │ │ ├── ExternalConfigProvider.java │ │ │ │ ├── FileConfigProvider.java │ │ │ │ └── WebDAVConfigFetcher.java │ │ │ ├── exception/ │ │ │ │ ├── ArvadosApiException.java │ │ │ │ └── ArvadosClientException.java │ │ │ ├── facade/ │ │ │ │ └── ArvadosFacade.java │ │ │ ├── logic/ │ │ │ │ ├── collection/ │ │ │ │ │ ├── CollectionFactory.java │ │ │ │ │ ├── FileToken.java │ │ │ │ │ ├── ManifestDecoder.java │ │ │ │ │ ├── ManifestFactory.java │ │ │ │ │ └── ManifestStream.java │ │ │ │ └── keep/ │ │ │ │ ├── FileDownloader.java │ │ │ │ ├── FileUploader.java │ │ │ │ ├── KeepLocator.java │ │ │ │ └── exception/ │ │ │ │ ├── DownloadFolderAlreadyExistsException.java │ │ │ │ └── FileAlreadyExistsException.java │ │ │ └── utils/ │ │ │ ├── FileMerge.java │ │ │ └── FileSplit.java │ │ └── resources/ │ │ └── reference.conf │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── arvados/ │ │ └── client/ │ │ ├── api/ │ │ │ └── client/ │ │ │ ├── BaseStandardApiClientTest.java │ │ │ ├── CollectionsApiClientTest.java │ │ │ ├── GroupsApiClientTest.java │ │ │ ├── KeepWebApiClientTest.java │ │ │ ├── LinkApiClientTest.java │ │ │ ├── UsersApiClientTest.java │ │ │ └── factory/ │ │ │ └── OkHttpClientFactoryTest.java │ │ ├── config/ │ │ │ ├── ExternalConfigProviderTest.java │ │ │ └── WebDAVConfigFetcherTest.java │ │ ├── facade/ │ │ │ ├── ArvadosFacadeIntegrationTest.java │ │ │ └── ArvadosFacadeTest.java │ │ ├── junit/ │ │ │ └── categories/ │ │ │ └── IntegrationTests.java │ │ ├── logic/ │ │ │ ├── collection/ │ │ │ │ ├── FileTokenTest.java │ │ │ │ ├── ManifestDecoderTest.java │ │ │ │ ├── ManifestFactoryTest.java │ │ │ │ └── ManifestStreamTest.java │ │ │ └── keep/ │ │ │ ├── FileDownloaderTest.java │ │ │ └── KeepLocatorTest.java │ │ ├── test/ │ │ │ └── utils/ │ │ │ ├── ApiClientTestUtils.java │ │ │ ├── ArvadosClientIntegrationTest.java │ │ │ ├── ArvadosClientMockedWebServerTest.java │ │ │ ├── ArvadosClientUnitTest.java │ │ │ ├── FileTestUtils.java │ │ │ └── RequestMethod.java │ │ └── utils/ │ │ ├── FileMergeTest.java │ │ └── FileSplitTest.java │ └── resources/ │ ├── application.conf │ ├── integration-tests-application.conf │ ├── integration-tests-application.conf.example │ ├── mockito-extensions/ │ │ └── org.mockito.plugins.MockMaker │ ├── org/ │ │ └── arvados/ │ │ └── client/ │ │ └── api/ │ │ └── client/ │ │ ├── collections-create-manifest.json │ │ ├── collections-create-simple.json │ │ ├── collections-download-file.json │ │ ├── collections-get.json │ │ ├── collections-list.json │ │ ├── groups-get.json │ │ ├── groups-list.json │ │ ├── keep-client-test-file.txt │ │ ├── keep-client-upload-response.json │ │ ├── keep-services-accessible-disk-only.json │ │ ├── keep-services-accessible.json │ │ ├── keep-services-get.json │ │ ├── keep-services-list.json │ │ ├── keep-services-not-accessible.json │ │ ├── links-create.json │ │ ├── links-get.json │ │ ├── links-list.json │ │ ├── users-create.json │ │ ├── users-get.json │ │ ├── users-list.json │ │ └── users-system.json │ └── selfsigned.keystore.jks ├── doc/ │ ├── Gemfile │ ├── README.textile │ ├── Rakefile │ ├── _config.yml │ ├── _includes/ │ │ ├── _admin_list_collections_without_property_py.liquid │ │ ├── _admin_set_property_to_collections_under_project_py.liquid │ │ ├── _admin_update_collection_property_py.liquid │ │ ├── _assign_volume_uuid.liquid │ │ ├── _branchname.liquid │ │ ├── _container_glob_patterns.liquid │ │ ├── _container_published_ports.liquid │ │ ├── _container_runtime_constraints.liquid │ │ ├── _container_scheduling_parameters.liquid │ │ ├── _contrib_component.liquid │ │ ├── _download_installer.liquid │ │ ├── _example_sdk_go.liquid │ │ ├── _google_analytics.liquid │ │ ├── _hpc_max_gateway_tunnels.liquid │ │ ├── _html_tags.liquid │ │ ├── _install_ansible.liquid │ │ ├── _install_ca_cert.liquid │ │ ├── _install_compute_docker.liquid │ │ ├── _install_compute_fuse.liquid │ │ ├── _install_cuda.liquid │ │ ├── _install_debian_key.liquid │ │ ├── _install_docker_cleaner.liquid │ │ ├── _install_packages.liquid │ │ ├── _install_postgres_database.liquid │ │ ├── _install_rails_command.liquid │ │ ├── _install_ruby_and_bundler.liquid │ │ ├── _matomo_analytics.liquid │ │ ├── _metadata_vocabulary_example.liquid │ │ ├── _mount_types.liquid │ │ ├── _multi_host_install_custom_certificates.liquid │ │ ├── _navbar_left.liquid │ │ ├── _navbar_top.liquid │ │ ├── _notebox_begin.liquid │ │ ├── _notebox_begin_warning.liquid │ │ ├── _notebox_end.liquid │ │ ├── _restart_api.liquid │ │ ├── _setup_debian_repo.liquid │ │ ├── _setup_redhat_repo.liquid │ │ ├── _singularity_mksquashfs_configuration.liquid │ │ ├── _ssh_addkey.liquid │ │ ├── _ssh_intro.liquid │ │ ├── _ssl_config_multi.liquid │ │ ├── _ssl_config_single.liquid │ │ ├── _start_service.liquid │ │ ├── _supportedlinux.liquid │ │ ├── _tutorial_expectations.liquid │ │ ├── _tutorial_expectations_workstation.liquid │ │ ├── _tutorial_hello_cwl.liquid │ │ ├── _webring.liquid │ │ └── _what_is_cwl.liquid │ ├── _layouts/ │ │ └── default.html.liquid │ ├── admin/ │ │ ├── User account states.odg │ │ ├── cloudtest.html.textile.liquid │ │ ├── collection-managed-properties.html.textile.liquid │ │ ├── collection-versioning.html.textile.liquid │ │ ├── config-urls.html.textile.liquid │ │ ├── config.html.textile.liquid │ │ ├── controlling-container-reuse.html.textile.liquid │ │ ├── diagnostics.html.textile.liquid │ │ ├── dispatch.html.textile.liquid │ │ ├── federation.html.textile.liquid │ │ ├── group-management.html.textile.liquid │ │ ├── health-checks.html.textile.liquid │ │ ├── index.html.textile.liquid │ │ ├── inspect.html.textile.liquid │ │ ├── keep-balance.html.textile.liquid │ │ ├── keep-faster-gc-s3.html.textile.liquid │ │ ├── keep-measuring-deduplication.html.textile.liquid │ │ ├── keep-recovering-data.html.textile.liquid │ │ ├── link-accounts.html.textile.liquid │ │ ├── logging.html.textile.liquid │ │ ├── logs-table-management.html.textile.liquid │ │ ├── maintenance-and-upgrading.html.textile.liquid │ │ ├── management-token.html.textile.liquid │ │ ├── memory-cpu-profiling.html.textile.liquid │ │ ├── metadata-vocabulary.html.textile.liquid │ │ ├── metrics.html.textile.liquid │ │ ├── migrating-providers.html.textile.liquid │ │ ├── reassign-ownership.html.textile.liquid │ │ ├── restricting-upload-download.html.textile.liquid │ │ ├── scoped-tokens.html.textile.liquid │ │ ├── spot-instances.html.textile.liquid │ │ ├── storage-classes.html.textile.liquid │ │ ├── token-expiration-policy.html.textile.liquid │ │ ├── upgrading.html.textile.liquid │ │ ├── user-activity.html.textile.liquid │ │ ├── user-management-cli.html.textile.liquid │ │ └── user-management.html.textile.liquid │ ├── api/ │ │ ├── dispatch.html.textile.liquid │ │ ├── execution.html.textile.liquid │ │ ├── index.html.textile.liquid │ │ ├── keep-s3.html.textile.liquid │ │ ├── keep-web-urls.html.textile.liquid │ │ ├── keep-webdav.html.textile.liquid │ │ ├── methods/ │ │ │ ├── api_client_authorizations.html.textile.liquid │ │ │ ├── authorized_keys.html.textile.liquid │ │ │ ├── collections.html.textile.liquid │ │ │ ├── computed_permissions.html.textile.liquid │ │ │ ├── container_requests.html.textile.liquid │ │ │ ├── containers.html.textile.liquid │ │ │ ├── credentials.html.textile.liquid │ │ │ ├── groups.html.textile.liquid │ │ │ ├── keep_services.html.textile.liquid │ │ │ ├── links.html.textile.liquid │ │ │ ├── logs.html.textile.liquid │ │ │ ├── user_agreements.html.textile.liquid │ │ │ ├── users.html.textile.liquid │ │ │ ├── virtual_machines.html.textile.liquid │ │ │ └── workflows.html.textile.liquid │ │ ├── methods.html.textile.liquid │ │ ├── permission-model.html.textile.liquid │ │ ├── projects.html.textile.liquid │ │ ├── properties.html.textile.liquid │ │ ├── requests.html.textile.liquid │ │ ├── resources.html.textile.liquid │ │ └── tokens.html.textile.liquid │ ├── architecture/ │ │ ├── Arvados_arch.odg │ │ ├── Arvados_federation.odg │ │ ├── dispatchcloud.html.textile.liquid │ │ ├── federation.html.textile.liquid │ │ ├── hpc.html.textile.liquid │ │ ├── index.html.textile.liquid │ │ ├── keep-clients.html.textile.liquid │ │ ├── keep-components-overview.html.textile.liquid │ │ ├── keep-data-lifecycle.html.textile.liquid │ │ ├── manifest-format.html.textile.liquid │ │ ├── singularity.html.textile.liquid │ │ └── storage.html.textile.liquid │ ├── css/ │ │ ├── R.css │ │ ├── badges.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap.css │ │ ├── button-override.css │ │ ├── carousel-override.css │ │ ├── code.css │ │ ├── font-awesome.css │ │ ├── images.css │ │ ├── layout.css │ │ └── nav-list.css │ ├── development/ │ │ ├── CodingStandards.md │ │ ├── DevelopmentProcess.md │ │ ├── DistroVersions.md │ │ ├── Prerequisites.md │ │ ├── RunningTests.md │ │ ├── UpdatingDependencies.md │ │ ├── git.conf │ │ ├── prepare-commit-msg.sh │ │ └── release/ │ │ ├── Checklist.md │ │ ├── FastqPipeline.md │ │ ├── JavaSDK.md │ │ ├── ManualTests.md │ │ └── Zenodo.md │ ├── examples/ │ │ └── config/ │ │ └── zzzzz.yml │ ├── fonts/ │ │ └── FontAwesome.otf │ ├── index.html.liquid │ ├── install/ │ │ ├── arvbox.html.textile.liquid │ │ ├── config.html.textile.liquid │ │ ├── configure-azure-blob-storage.html.textile.liquid │ │ ├── configure-fs-storage.html.textile.liquid │ │ ├── configure-s3-object-storage.html.textile.liquid │ │ ├── container-shell-access.html.textile.liquid │ │ ├── crunch2/ │ │ │ ├── install-compute-node-docker.html.textile.liquid │ │ │ └── install-compute-node-singularity.html.textile.liquid │ │ ├── crunch2-cloud/ │ │ │ ├── install-compute-node.html.textile.liquid │ │ │ └── install-dispatch-cloud.html.textile.liquid │ │ ├── crunch2-lsf/ │ │ │ └── install-dispatch.html.textile.liquid │ │ ├── crunch2-slurm/ │ │ │ ├── configure-slurm.html.textile.liquid │ │ │ ├── install-dispatch.html.textile.liquid │ │ │ └── install-test.html.textile.liquid │ │ ├── diagnostics.html.textile.liquid │ │ ├── index.html.textile.liquid │ │ ├── install-api-server.html.textile.liquid │ │ ├── install-docker.html.textile.liquid │ │ ├── install-keep-balance.html.textile.liquid │ │ ├── install-keep-web.html.textile.liquid │ │ ├── install-keepproxy.html.textile.liquid │ │ ├── install-keepstore.html.textile.liquid │ │ ├── install-manual-prerequisites.html.textile.liquid │ │ ├── install-multi-host.html.textile.liquid │ │ ├── install-postgresql.html.textile.liquid │ │ ├── install-shell-server.html.textile.liquid │ │ ├── install-single-host.html.textile.liquid │ │ ├── install-webshell.html.textile.liquid │ │ ├── install-workbench2-app.html.textile.liquid │ │ ├── install-ws.html.textile.liquid │ │ ├── new_cluster_checklist_AWS.xlsx │ │ ├── new_cluster_checklist_Azure.xlsx │ │ ├── new_cluster_checklist_slurm.xlsx │ │ ├── nginx.html.textile.liquid │ │ ├── packages.html.textile.liquid │ │ ├── proxy-chain.odg │ │ ├── ruby.html.textile.liquid │ │ ├── salt-multi-host.html.textile.liquid │ │ ├── salt-single-host.html.textile.liquid │ │ ├── setup-login.html.textile.liquid │ │ └── workbench.html.textile.liquid │ ├── js/ │ │ └── bootstrap.js │ ├── pysdk_pdoc.py │ ├── sdk/ │ │ ├── cli/ │ │ │ ├── index.html.textile.liquid │ │ │ ├── install.html.textile.liquid │ │ │ ├── reference.html.textile.liquid │ │ │ └── subcommands.html.textile.liquid │ │ ├── fuse/ │ │ │ ├── install.html.textile.liquid │ │ │ └── options.html.textile.liquid │ │ ├── go/ │ │ │ ├── example.html.textile.liquid │ │ │ └── index.html.textile.liquid │ │ ├── index.html.textile.liquid │ │ ├── java-v2/ │ │ │ ├── example.html.textile.liquid │ │ │ ├── index.html.textile.liquid │ │ │ └── javadoc.html.textile.liquid │ │ ├── python/ │ │ │ ├── api-client.html.textile.liquid │ │ │ ├── arvados-cwl-runner.html.textile.liquid │ │ │ ├── cookbook.html.textile.liquid │ │ │ ├── events.html.textile.liquid │ │ │ ├── python.html.textile.liquid │ │ │ └── sdk-python.html.textile.liquid │ │ └── ruby/ │ │ ├── example.html.textile.liquid │ │ └── index.html.textile.liquid │ ├── user/ │ │ ├── copying/ │ │ │ ├── LICENSE-2.0.html │ │ │ ├── agpl-3.0.html │ │ │ ├── by-sa-3.0.html │ │ │ └── copying.html.textile.liquid │ │ ├── cwl/ │ │ │ ├── arvados-vscode-training.html.md.liquid │ │ │ ├── bwa-mem/ │ │ │ │ ├── bwa-mem-input-local.yml │ │ │ │ ├── bwa-mem-input-mixed.yml │ │ │ │ ├── bwa-mem-input-uuids.yml │ │ │ │ ├── bwa-mem-input.yml │ │ │ │ ├── bwa-mem-template.yml │ │ │ │ └── bwa-mem.cwl │ │ │ ├── costanalyzer.html.textile.liquid │ │ │ ├── crunchstat-summary.html.textile.liquid │ │ │ ├── cwl-extensions.html.textile.liquid │ │ │ ├── cwl-run-options.html.textile.liquid │ │ │ ├── cwl-runner.html.textile.liquid │ │ │ ├── cwl-style.html.textile.liquid │ │ │ ├── cwl-versions.html.textile.liquid │ │ │ ├── federated/ │ │ │ │ ├── FileOnCluster.yml │ │ │ │ ├── colors_to_select.txt │ │ │ │ ├── extract.cwl │ │ │ │ ├── extract.py │ │ │ │ ├── feddemo.cwl │ │ │ │ ├── items1.csv │ │ │ │ ├── items2.csv │ │ │ │ ├── items3.csv │ │ │ │ ├── merge.cwl │ │ │ │ ├── merge.py │ │ │ │ └── shards.yml │ │ │ ├── federated-workflow.odg │ │ │ ├── federated-workflows.html.textile.liquid │ │ │ └── rnaseq-cwl-training.html.textile.liquid │ │ ├── debugging/ │ │ │ └── container-shell-access.html.textile.liquid │ │ ├── getting_started/ │ │ │ ├── check-environment.html.textile.liquid │ │ │ ├── community.html.textile.liquid │ │ │ ├── setup-cli.html.textile.liquid │ │ │ ├── ssh-access-unix.html.textile.liquid │ │ │ ├── ssh-access-windows.html.textile.liquid │ │ │ ├── vm-login-with-webshell.html.textile.liquid │ │ │ └── workbench.html.textile.liquid │ │ ├── index.html.textile.liquid │ │ ├── reference/ │ │ │ ├── api-tokens.html.textile.liquid │ │ │ └── cookbook.html.textile.liquid │ │ ├── topics/ │ │ │ ├── arv-copy.html.textile.liquid │ │ │ ├── arv-docker.html.textile.liquid │ │ │ ├── arvados-sync-external-sources.html.textile.liquid │ │ │ ├── collection-versioning.html.textile.liquid │ │ │ ├── external-inputs.html.textile.liquid │ │ │ ├── link-accounts.html.textile.liquid │ │ │ ├── service-containers.html.textile.liquid │ │ │ ├── storage-classes.html.textile.liquid │ │ │ └── workbench-migration.html.textile.liquid │ │ └── tutorials/ │ │ ├── tutorial-keep-collection-lifecycle.html.textile.liquid │ │ ├── tutorial-keep-get.html.textile.liquid │ │ ├── tutorial-keep-mount-gnu-linux.html.textile.liquid │ │ ├── tutorial-keep-mount-os-x.html.textile.liquid │ │ ├── tutorial-keep-mount-windows.html.textile.liquid │ │ ├── tutorial-keep.html.textile.liquid │ │ ├── tutorial-projects.html.textile.liquid │ │ ├── tutorial-workflow-workbench.html.textile.liquid │ │ ├── wgs-tutorial.html.textile.liquid │ │ └── writing-cwl-workflow.html.textile.liquid │ ├── zenweb-fix-body.rb │ ├── zenweb-liquid.rb │ └── zenweb-textile.rb ├── go.mod ├── go.sum ├── lib/ │ ├── boot/ │ │ ├── cert.go │ │ ├── cmd.go │ │ ├── example.sh │ │ ├── helpers.go │ │ ├── nginx.go │ │ ├── passenger.go │ │ ├── postgresql.go │ │ ├── rails_db.go │ │ ├── rails_db_test.go │ │ ├── service.go │ │ ├── supervisor.go │ │ ├── supervisor_test.go │ │ └── workbench2.go │ ├── cli/ │ │ ├── external.go │ │ ├── flags.go │ │ ├── get.go │ │ └── get_test.go │ ├── cloud/ │ │ ├── azure/ │ │ │ ├── azure.go │ │ │ └── azure_test.go │ │ ├── cloudtest/ │ │ │ ├── cmd.go │ │ │ ├── tester.go │ │ │ └── tester_test.go │ │ ├── ec2/ │ │ │ ├── ec2.go │ │ │ └── ec2_test.go │ │ ├── interfaces.go │ │ ├── loopback/ │ │ │ ├── loopback.go │ │ │ └── loopback_test.go │ │ ├── price.go │ │ └── price_test.go │ ├── cmd/ │ │ ├── cmd.go │ │ ├── cmd_test.go │ │ └── parseflags.go │ ├── cmdtest/ │ │ └── leakcheck.go │ ├── config/ │ │ ├── cmd.go │ │ ├── cmd_test.go │ │ ├── config.default.yml │ │ ├── default.go │ │ ├── deprecated.go │ │ ├── deprecated_keepstore.go │ │ ├── deprecated_keepstore_test.go │ │ ├── deprecated_test.go │ │ ├── export.go │ │ ├── export_test.go │ │ ├── load.go │ │ ├── load_test.go │ │ └── uptodate_test.go │ ├── controller/ │ │ ├── api/ │ │ │ └── routable.go │ │ ├── auth_test.go │ │ ├── cmd.go │ │ ├── dblock/ │ │ │ ├── dblock.go │ │ │ └── dblock_test.go │ │ ├── fed_generic.go │ │ ├── federation/ │ │ │ ├── collection_test.go │ │ │ ├── conn.go │ │ │ ├── federation_test.go │ │ │ ├── generate.go │ │ │ ├── generated.go │ │ │ ├── generated_test.go │ │ │ ├── group_test.go │ │ │ ├── list.go │ │ │ ├── list_test.go │ │ │ ├── login_test.go │ │ │ ├── logout_test.go │ │ │ └── user_test.go │ │ ├── federation.go │ │ ├── federation_test.go │ │ ├── handler.go │ │ ├── handler_test.go │ │ ├── integration_test.go │ │ ├── localdb/ │ │ │ ├── authorized_key.go │ │ │ ├── authorized_key_test.go │ │ │ ├── collection.go │ │ │ ├── collection_test.go │ │ │ ├── conn.go │ │ │ ├── container.go │ │ │ ├── container_gateway.go │ │ │ ├── container_gateway_test.go │ │ │ ├── container_request.go │ │ │ ├── container_request_test.go │ │ │ ├── container_test.go │ │ │ ├── docker_test.go │ │ │ ├── group.go │ │ │ ├── group_test.go │ │ │ ├── link.go │ │ │ ├── link_test.go │ │ │ ├── localdb_test.go │ │ │ ├── log_activity.go │ │ │ ├── log_activity_test.go │ │ │ ├── login.go │ │ │ ├── login_docker_test/ │ │ │ │ ├── add_example_user.ldif │ │ │ │ ├── run_controller.sh │ │ │ │ ├── setup_pam_test.sh │ │ │ │ ├── setup_suite.sh │ │ │ │ ├── setup_suite_users.sh │ │ │ │ ├── start_controller_container.sh │ │ │ │ └── teardown_suite.sh │ │ │ ├── login_docker_test.go │ │ │ ├── login_ldap.go │ │ │ ├── login_oidc.go │ │ │ ├── login_oidc_test.go │ │ │ ├── login_pam.go │ │ │ ├── login_pam_static.go │ │ │ ├── login_test.go │ │ │ ├── login_testuser.go │ │ │ ├── login_testuser_test.go │ │ │ ├── logout.go │ │ │ └── testdata/ │ │ │ ├── dsa.pub │ │ │ ├── ecdsa-sk.pub │ │ │ ├── ecdsa.pub │ │ │ ├── ed25519-sk.pub │ │ │ ├── ed25519.pub │ │ │ ├── generate │ │ │ └── rsa.pub │ │ ├── proxy.go │ │ ├── rails_restart_test.go │ │ ├── railsproxy/ │ │ │ └── railsproxy.go │ │ ├── router/ │ │ │ ├── checker_test.go │ │ │ ├── error.go │ │ │ ├── request.go │ │ │ ├── request_test.go │ │ │ ├── response.go │ │ │ ├── router.go │ │ │ └── router_test.go │ │ ├── rpc/ │ │ │ ├── conn.go │ │ │ └── conn_test.go │ │ ├── semaphore.go │ │ ├── server_test.go │ │ └── trash.go │ ├── crunchrun/ │ │ ├── background.go │ │ ├── bufthenwrite.go │ │ ├── cgroup.go │ │ ├── cgroup_test.go │ │ ├── container_gateway.go │ │ ├── copier.go │ │ ├── copier_test.go │ │ ├── crunchrun.go │ │ ├── crunchrun_test.go │ │ ├── cuda.go │ │ ├── docker.go │ │ ├── docker_test.go │ │ ├── executor.go │ │ ├── executor_test.go │ │ ├── integration_test.go │ │ ├── logging.go │ │ ├── logging_test.go │ │ ├── logscanner.go │ │ ├── logscanner_test.go │ │ ├── singularity.go │ │ ├── singularity_test.go │ │ └── testdata/ │ │ └── fakestat/ │ │ ├── cgroup.procs │ │ └── cgroupid/ │ │ ├── cgroup.procs │ │ └── memory.stat │ ├── crunchstat/ │ │ ├── command.go │ │ ├── crunchstat.go │ │ ├── crunchstat_test.go │ │ └── testdata/ │ │ ├── debian10/ │ │ │ ├── proc/ │ │ │ │ ├── 3288/ │ │ │ │ │ ├── cgroup │ │ │ │ │ ├── cpuset │ │ │ │ │ └── net/ │ │ │ │ │ └── dev │ │ │ │ ├── cpuinfo │ │ │ │ ├── mounts │ │ │ │ └── self/ │ │ │ │ └── smaps │ │ │ └── sys/ │ │ │ └── fs/ │ │ │ └── cgroup/ │ │ │ └── user.slice/ │ │ │ ├── cpu.max │ │ │ ├── io.stat │ │ │ └── user-1000.slice/ │ │ │ └── session-7.scope/ │ │ │ ├── cpu.stat │ │ │ ├── memory.current │ │ │ ├── memory.stat │ │ │ └── memory.swap.current │ │ ├── debian11/ │ │ │ ├── proc/ │ │ │ │ ├── 4153022/ │ │ │ │ │ ├── cgroup │ │ │ │ │ ├── cpuset │ │ │ │ │ └── net/ │ │ │ │ │ └── dev │ │ │ │ ├── cpuinfo │ │ │ │ ├── mounts │ │ │ │ └── self/ │ │ │ │ └── smaps │ │ │ └── sys/ │ │ │ └── fs/ │ │ │ └── cgroup/ │ │ │ └── user.slice/ │ │ │ ├── cpu.max │ │ │ ├── cpuset.cpus.effective │ │ │ ├── io.stat │ │ │ └── user-1000.slice/ │ │ │ └── session-5424.scope/ │ │ │ ├── cpu.stat │ │ │ ├── memory.current │ │ │ ├── memory.stat │ │ │ └── memory.swap.current │ │ ├── debian12/ │ │ │ ├── proc/ │ │ │ │ ├── 1115883/ │ │ │ │ │ ├── cgroup │ │ │ │ │ ├── cpuset │ │ │ │ │ └── net/ │ │ │ │ │ └── dev │ │ │ │ ├── cpuinfo │ │ │ │ ├── mounts │ │ │ │ └── self/ │ │ │ │ └── smaps │ │ │ └── sys/ │ │ │ └── fs/ │ │ │ └── cgroup/ │ │ │ └── user.slice/ │ │ │ ├── cpuset.cpus.effective │ │ │ ├── io.stat │ │ │ └── user-1000.slice/ │ │ │ └── session-4.scope/ │ │ │ ├── cpu.max │ │ │ ├── cpu.stat │ │ │ ├── memory.current │ │ │ ├── memory.stat │ │ │ └── memory.swap.current │ │ ├── ubuntu1804/ │ │ │ ├── proc/ │ │ │ │ ├── 2523/ │ │ │ │ │ ├── cgroup │ │ │ │ │ ├── cpuset │ │ │ │ │ └── net/ │ │ │ │ │ └── dev │ │ │ │ ├── cpuinfo │ │ │ │ ├── mounts │ │ │ │ └── self/ │ │ │ │ └── smaps │ │ │ └── sys/ │ │ │ └── fs/ │ │ │ └── cgroup/ │ │ │ ├── blkio/ │ │ │ │ └── user.slice/ │ │ │ │ └── blkio.throttle.io_service_bytes │ │ │ ├── cpu,cpuacct/ │ │ │ │ └── user.slice/ │ │ │ │ └── cpuacct.stat │ │ │ ├── cpuset/ │ │ │ │ └── cpuset.cpus │ │ │ ├── memory/ │ │ │ │ └── user.slice/ │ │ │ │ └── memory.stat │ │ │ └── unified/ │ │ │ └── user.slice/ │ │ │ └── user-1000.slice/ │ │ │ └── session-1.scope/ │ │ │ └── cpu.stat │ │ ├── ubuntu2004/ │ │ │ ├── proc/ │ │ │ │ ├── 1360/ │ │ │ │ │ ├── cgroup │ │ │ │ │ ├── cpuset │ │ │ │ │ └── net/ │ │ │ │ │ └── dev │ │ │ │ ├── cpuinfo │ │ │ │ ├── mounts │ │ │ │ └── self/ │ │ │ │ └── smaps │ │ │ └── sys/ │ │ │ └── fs/ │ │ │ └── cgroup/ │ │ │ ├── blkio/ │ │ │ │ └── user.slice/ │ │ │ │ └── blkio.throttle.io_service_bytes │ │ │ ├── cpu,cpuacct/ │ │ │ │ └── user.slice/ │ │ │ │ └── cpuacct.stat │ │ │ ├── cpuset/ │ │ │ │ └── cpuset.cpus │ │ │ ├── memory/ │ │ │ │ └── user.slice/ │ │ │ │ └── user-1000.slice/ │ │ │ │ └── session-2.scope/ │ │ │ │ └── memory.stat │ │ │ └── unified/ │ │ │ └── user.slice/ │ │ │ └── user-1000.slice/ │ │ │ └── session-2.scope/ │ │ │ └── cpu.stat │ │ └── ubuntu2204/ │ │ ├── proc/ │ │ │ ├── 1967/ │ │ │ │ ├── cgroup │ │ │ │ ├── cpuset │ │ │ │ └── net/ │ │ │ │ └── dev │ │ │ ├── cpuinfo │ │ │ ├── mounts │ │ │ └── self/ │ │ │ └── smaps │ │ └── sys/ │ │ └── fs/ │ │ └── cgroup/ │ │ └── user.slice/ │ │ ├── cpu.max │ │ ├── cpuset.cpus.effective │ │ ├── io.stat │ │ └── user-1000.slice/ │ │ └── session-1.scope/ │ │ ├── cpu.stat │ │ ├── memory.current │ │ ├── memory.stat │ │ └── memory.swap.current │ ├── ctrlctx/ │ │ ├── auth.go │ │ ├── auth_test.go │ │ ├── db.go │ │ └── db_test.go │ ├── deduplicationreport/ │ │ ├── command.go │ │ ├── report.go │ │ └── report_test.go │ ├── diagnostics/ │ │ ├── cmd.go │ │ └── docker_image_test.go │ ├── dispatchcloud/ │ │ ├── adminclient.go │ │ ├── cmd.go │ │ ├── container/ │ │ │ ├── node_size.go │ │ │ ├── node_size_test.go │ │ │ ├── queue.go │ │ │ └── queue_test.go │ │ ├── dispatcher.go │ │ ├── dispatcher_test.go │ │ ├── driver.go │ │ ├── gocheck_test.go │ │ ├── logger.go │ │ ├── readme.go │ │ ├── readme_states.txt │ │ ├── scheduler/ │ │ │ ├── fix_stale_locks.go │ │ │ ├── gocheck_test.go │ │ │ ├── interfaces.go │ │ │ ├── run_queue.go │ │ │ ├── run_queue_test.go │ │ │ ├── scheduler.go │ │ │ ├── sync.go │ │ │ └── sync_test.go │ │ ├── sshexecutor/ │ │ │ ├── executor.go │ │ │ └── executor_test.go │ │ ├── test/ │ │ │ ├── doc.go │ │ │ ├── fixtures.go │ │ │ ├── queue.go │ │ │ ├── ssh_service.go │ │ │ ├── sshkey_dispatch │ │ │ ├── sshkey_dispatch.pub │ │ │ ├── sshkey_vm │ │ │ ├── sshkey_vm.pub │ │ │ └── stub_driver.go │ │ └── worker/ │ │ ├── gocheck_test.go │ │ ├── pool.go │ │ ├── pool_test.go │ │ ├── runner.go │ │ ├── throttle.go │ │ ├── throttle_test.go │ │ ├── verify.go │ │ ├── worker.go │ │ └── worker_test.go │ ├── lsf/ │ │ ├── dispatch.go │ │ ├── dispatch_test.go │ │ ├── lsfcli.go │ │ └── lsfqueue.go │ ├── mount/ │ │ ├── command.go │ │ ├── command_test.go │ │ ├── fs.go │ │ └── fs_test.go │ ├── pam/ │ │ ├── .gitignore │ │ ├── README │ │ ├── docker_test.go │ │ ├── fpm-info.sh │ │ ├── pam-configs-arvados │ │ ├── pam_arvados.go │ │ ├── pam_c.go │ │ └── testclient.go │ ├── recovercollection/ │ │ ├── cmd.go │ │ └── cmd_test.go │ ├── selfsigned/ │ │ ├── cert.go │ │ └── cert_test.go │ ├── service/ │ │ ├── cmd.go │ │ ├── cmd_test.go │ │ ├── error.go │ │ ├── log.go │ │ └── tls.go │ └── webdavfs/ │ ├── fs.go │ └── fs_test.go ├── sdk/ │ ├── cli/ │ │ ├── .gitignore │ │ ├── Gemfile │ │ ├── LICENSE-2.0.txt │ │ ├── Rakefile │ │ ├── arvados-cli.gemspec │ │ ├── bin/ │ │ │ ├── arv │ │ │ └── arv-tag │ │ └── test/ │ │ ├── binstub_arv-mount/ │ │ │ └── arv-mount │ │ ├── binstub_clean_fail/ │ │ │ └── arv-mount │ │ ├── binstub_docker_noop/ │ │ │ └── docker.io │ │ ├── binstub_output_coll_owner/ │ │ │ └── python │ │ ├── binstub_sanity_check/ │ │ │ ├── docker.io │ │ │ └── true │ │ ├── test_arv-collection-create.rb │ │ ├── test_arv-get.rb │ │ ├── test_arv-keep-get.rb │ │ ├── test_arv-keep-put.rb │ │ ├── test_arv-tag.rb │ │ └── test_arv-ws.rb │ ├── cwl/ │ │ ├── LICENSE-2.0.txt │ │ ├── MANIFEST.in │ │ ├── README.rst │ │ ├── arvados_cwl/ │ │ │ ├── __init__.py │ │ │ ├── arv-cwl-schema-v1.0.yml │ │ │ ├── arv-cwl-schema-v1.1.yml │ │ │ ├── arv-cwl-schema-v1.2.yml │ │ │ ├── arvcontainer.py │ │ │ ├── arvdocker.py │ │ │ ├── arvtool.py │ │ │ ├── arvworkflow.py │ │ │ ├── context.py │ │ │ ├── done.py │ │ │ ├── executor.py │ │ │ ├── fsaccess.py │ │ │ ├── pathmapper.py │ │ │ ├── perf.py │ │ │ ├── runner.py │ │ │ └── util.py │ │ ├── arvados_version.py │ │ ├── bin/ │ │ │ ├── arvados-cwl-runner │ │ │ └── cwl-runner │ │ ├── fpm-info.sh │ │ ├── pyproject.toml │ │ ├── setup.py │ │ └── tests/ │ │ ├── 10380-trailing-slash-dir.cwl │ │ ├── 12213-keepref-expr.cwl │ │ ├── 12213-keepref-job.yml │ │ ├── 12213-keepref-tool.cwl │ │ ├── 12213-keepref-wf.cwl │ │ ├── 12418-glob-empty-collection.cwl │ │ ├── 13931-size-job.yml │ │ ├── 13931-size.cwl │ │ ├── 13976-keepref-wf.cwl │ │ ├── 15241-writable-dir-job.json │ │ ├── 15241-writable-dir.cwl │ │ ├── 15295-bad-keep-ref.cwl │ │ ├── 16169-no-listing-hint.cwl │ │ ├── 16377-missing-default.cwl │ │ ├── 17004-output-props.cwl │ │ ├── 17267-broken-schemas.cwl │ │ ├── 17521-dot-slash-glob.cwl │ │ ├── 17801-runtime-outdir.cwl │ │ ├── 17858-pack-visit-crash.cwl │ │ ├── 17879-ignore-sbg-fields-job.yml │ │ ├── 17879-ignore-sbg-fields.cwl │ │ ├── 18888-download_def.cwl │ │ ├── 18994-basename/ │ │ │ ├── check.cwl │ │ │ ├── rename.cwl │ │ │ ├── wf_ren.cwl │ │ │ └── whale.txt │ │ ├── 19070-copy-deps.cwl │ │ ├── 19109-upload-secondary/ │ │ │ ├── file1.txt │ │ │ ├── file1.txt.tbi │ │ │ ├── file2.txt │ │ │ └── file2.txt.tbi │ │ ├── 19109-upload-secondary.cwl │ │ ├── 19109-upload-secondary.yml │ │ ├── 19678-name-id.cwl │ │ ├── 19678-name-id.yml │ │ ├── 22466/ │ │ │ ├── fake.bam │ │ │ └── input.yml │ │ ├── 22466-output-glob-expressions-secondaryfile.cwl │ │ ├── __init__.py │ │ ├── arvados-tests.yml │ │ ├── badkeep.yml │ │ ├── cat.cwl │ │ ├── cat2.cwl │ │ ├── chipseq/ │ │ │ ├── chip-seq-single.json │ │ │ ├── cwl-packed.json │ │ │ └── data/ │ │ │ └── Genomes/ │ │ │ ├── Blacklist/ │ │ │ │ └── lists2/ │ │ │ │ └── hg38-blacklist.v2.bed │ │ │ ├── Drosophila_melanogaster/ │ │ │ │ └── dmel_r6.16/ │ │ │ │ ├── Bowtie2Index/ │ │ │ │ │ └── genome.fa │ │ │ │ └── WholeGenome/ │ │ │ │ ├── genome.dict │ │ │ │ ├── genome.fa │ │ │ │ └── genome.fa.fai │ │ │ └── Homo_sapiens/ │ │ │ └── GRCh38.p2/ │ │ │ ├── Bowtie2Index/ │ │ │ │ └── genome.fa │ │ │ └── WholeGenome/ │ │ │ ├── genome.dict │ │ │ ├── genome.fa │ │ │ └── genome.fa.fai │ │ ├── collection_per_tool/ │ │ │ ├── a.txt │ │ │ ├── b.txt │ │ │ ├── c.txt │ │ │ ├── collection_per_tool.cwl │ │ │ ├── collection_per_tool_packed.cwl │ │ │ ├── collection_per_tool_wrapper.cwl │ │ │ ├── step1.cwl │ │ │ └── step2.cwl │ │ ├── conftest.py │ │ ├── container_request_9tee4-xvhdp-kk0ja1cl8b2kr1y-arv-mount.txt │ │ ├── container_request_9tee4-xvhdp-kk0ja1cl8b2kr1y-crunchstat.txt │ │ ├── dir-job.yml │ │ ├── dir-job2.yml │ │ ├── fake-keep-mount/ │ │ │ └── fake_collection_dir/ │ │ │ └── subdir/ │ │ │ └── banana.txt │ │ ├── federation/ │ │ │ ├── README │ │ │ ├── cases/ │ │ │ │ ├── base-case.cwl │ │ │ │ ├── cat.cwl │ │ │ │ ├── hint-on-tool.cwl │ │ │ │ ├── hint-on-wf.cwl │ │ │ │ ├── md5sum-tool-hint.cwl │ │ │ │ ├── md5sum.cwl │ │ │ │ ├── remote-case.cwl │ │ │ │ ├── rev-input-to-output.cwl │ │ │ │ ├── rev.cwl │ │ │ │ ├── runner-home-step-remote.cwl │ │ │ │ ├── runner-remote-step-home.cwl │ │ │ │ ├── scatter-gather.cwl │ │ │ │ ├── threestep-remote.cwl │ │ │ │ ├── twostep-both-remote.cwl │ │ │ │ ├── twostep-home-to-remote.cwl │ │ │ │ ├── twostep-remote-copy-to-home.cwl │ │ │ │ └── twostep-remote-to-home.cwl │ │ │ ├── data/ │ │ │ │ ├── base-case-input.txt │ │ │ │ ├── hint-on-tool.txt │ │ │ │ ├── hint-on-wf.txt │ │ │ │ ├── remote-case-input.txt │ │ │ │ ├── runner-home-step-remote-input.txt │ │ │ │ ├── runner-remote-step-home-input.txt │ │ │ │ ├── scatter-gather-s1.txt │ │ │ │ ├── scatter-gather-s2.txt │ │ │ │ ├── scatter-gather-s3.txt │ │ │ │ ├── threestep-remote.txt │ │ │ │ ├── twostep-both-remote.txt │ │ │ │ ├── twostep-home-to-remote.txt │ │ │ │ ├── twostep-remote-copy-to-home.txt │ │ │ │ └── twostep-remote-to-home.txt │ │ │ ├── framework/ │ │ │ │ ├── check-exist.cwl │ │ │ │ ├── check_exist.py │ │ │ │ ├── dockerbuild.cwl │ │ │ │ ├── prepare.cwl │ │ │ │ ├── prepare.py │ │ │ │ ├── run-acr.cwl │ │ │ │ └── testcase.cwl │ │ │ └── main.cwl │ │ ├── hello.yml │ │ ├── hg19/ │ │ │ ├── hg19.fa │ │ │ ├── hg19.fa.amb │ │ │ ├── hg19.fa.ann │ │ │ └── hg19.fa.fai │ │ ├── hw.py │ │ ├── input/ │ │ │ └── blorp.txt │ │ ├── keep-dir-test-input.cwl │ │ ├── keep-dir-test-input2.cwl │ │ ├── keep-dir-test-input3.cwl │ │ ├── listing-job.yml │ │ ├── makes_intermediates/ │ │ │ ├── echo.cwl │ │ │ ├── hello1.txt │ │ │ ├── run_in_single.cwl │ │ │ └── subwf.cwl │ │ ├── matcher.py │ │ ├── mock_discovery.py │ │ ├── noreuse.cwl │ │ ├── octo.yml │ │ ├── oom/ │ │ │ ├── 19975-oom-mispelled.cwl │ │ │ ├── 19975-oom.cwl │ │ │ ├── 19975-oom3.cwl │ │ │ ├── fakeoom.py │ │ │ ├── fakeoom.yml │ │ │ ├── fakeoom2.py │ │ │ ├── fakeoom2.yml │ │ │ ├── fakeoom3.py │ │ │ └── fakeoom3.yml │ │ ├── order/ │ │ │ ├── empty_order.json │ │ │ └── inputs_test_order.json │ │ ├── scripts/ │ │ │ └── download_all_data.sh │ │ ├── secondary/ │ │ │ ├── dir/ │ │ │ │ ├── hg19.fa │ │ │ │ ├── hg19.fa.amb │ │ │ │ ├── hg19.fa.ann │ │ │ │ └── hg19.fa.fai │ │ │ ├── ls.cwl │ │ │ ├── sub.cwl │ │ │ ├── wf-job.yml │ │ │ └── wf.cwl │ │ ├── secondaryFiles/ │ │ │ ├── example1.cwl │ │ │ ├── example3.cwl │ │ │ ├── hello.txt │ │ │ ├── hello.txt.idx │ │ │ └── inp3.yml │ │ ├── secret_test_job.yml │ │ ├── stdout.cwl │ │ ├── submit_test_job.json │ │ ├── submit_test_job_missing.json │ │ ├── submit_test_job_s3.json │ │ ├── submit_test_job_with_inconsistent_uuids.json │ │ ├── submit_test_job_with_mismatched_uuids.json │ │ ├── submit_test_job_with_uuids.json │ │ ├── test_conformance.py │ │ ├── test_container.py │ │ ├── test_copy_deps.py │ │ ├── test_fsaccess.py │ │ ├── test_integration.py │ │ ├── test_make_output.py │ │ ├── test_pathmapper.py │ │ ├── test_submit.py │ │ ├── test_tq.py │ │ ├── test_urljoin.py │ │ ├── test_util.py │ │ ├── testdir/ │ │ │ ├── a │ │ │ ├── b │ │ │ └── c/ │ │ │ └── d │ │ ├── tmp1/ │ │ │ └── tmp2/ │ │ │ └── tmp3/ │ │ │ └── .gitkeep │ │ ├── tool/ │ │ │ ├── blub.txt │ │ │ ├── blub.txt.cat │ │ │ ├── submit_tool.cwl │ │ │ ├── submit_tool_map.cwl │ │ │ ├── tool_with_sf.cwl │ │ │ └── tool_with_sf.yml │ │ ├── wf/ │ │ │ ├── 16169-step.cwl │ │ │ ├── check_mem.py │ │ │ ├── echo-subwf.cwl │ │ │ ├── echo-wf.cwl │ │ │ ├── echo_a.cwl │ │ │ ├── echo_b.cwl │ │ │ ├── expect_arvworkflow.cwl │ │ │ ├── expect_packed.cwl │ │ │ ├── expect_upload_packed.cwl │ │ │ ├── expect_upload_wrapper.cwl │ │ │ ├── expect_upload_wrapper_altname.cwl │ │ │ ├── expect_upload_wrapper_map.cwl │ │ │ ├── hello.txt │ │ │ ├── indir1/ │ │ │ │ └── hello2.txt │ │ │ ├── inputs_test.cwl │ │ │ ├── listing_deep.cwl │ │ │ ├── listing_none.cwl │ │ │ ├── listing_shallow.cwl │ │ │ ├── output_dir.cwl │ │ │ ├── output_dir_wf.cwl │ │ │ ├── revsort/ │ │ │ │ ├── revsort.cwl │ │ │ │ ├── revtool.cwl │ │ │ │ └── sorttool.cwl │ │ │ ├── runin-reqs-wf.cwl │ │ │ ├── runin-reqs-wf2.cwl │ │ │ ├── runin-reqs-wf3.cwl │ │ │ ├── runin-reqs-wf4.cwl │ │ │ ├── runin-reqs-wf5.cwl │ │ │ ├── runin-wf.cwl │ │ │ ├── runin-with-ttl-wf.cwl │ │ │ ├── runseparate-wf.cwl │ │ │ ├── scatter2.cwl │ │ │ ├── scatter2_subwf.cwl │ │ │ ├── secret_job.cwl │ │ │ ├── secret_wf.cwl │ │ │ ├── submit_keepref_wf.cwl │ │ │ ├── submit_storage_class_wf.cwl │ │ │ ├── submit_wf.cwl │ │ │ ├── submit_wf_map.cwl │ │ │ ├── submit_wf_no_reuse.cwl │ │ │ ├── submit_wf_packed.cwl │ │ │ ├── submit_wf_process_properties.cwl │ │ │ ├── submit_wf_runner_resources.cwl │ │ │ ├── submit_wf_wrapper.cwl │ │ │ └── trick_defaults2.cwl │ │ └── wf-defaults/ │ │ ├── default-dir1.cwl │ │ ├── default-dir2.cwl │ │ ├── default-dir3.cwl │ │ ├── default-dir4.cwl │ │ ├── default-dir5.cwl │ │ ├── default-dir6.cwl │ │ ├── default-dir6a.cwl │ │ ├── default-dir7.cwl │ │ ├── default-dir7a.cwl │ │ ├── default-dir8.cwl │ │ ├── inp1/ │ │ │ └── hello.txt │ │ ├── wf1.cwl │ │ ├── wf2.cwl │ │ ├── wf3.cwl │ │ ├── wf4.cwl │ │ ├── wf5.cwl │ │ ├── wf6.cwl │ │ ├── wf7.cwl │ │ └── wf8.cwl │ ├── go/ │ │ ├── arvados/ │ │ │ ├── api.go │ │ │ ├── api_client_authorization.go │ │ │ ├── authorized_key.go │ │ │ ├── blob_signature.go │ │ │ ├── blob_signature_test.go │ │ │ ├── block_segment.go │ │ │ ├── block_segment_test.go │ │ │ ├── byte_size.go │ │ │ ├── byte_size_test.go │ │ │ ├── client.go │ │ │ ├── client_test.go │ │ │ ├── collection.go │ │ │ ├── collection_test.go │ │ │ ├── config.go │ │ │ ├── config_test.go │ │ │ ├── container.go │ │ │ ├── container_gateway.go │ │ │ ├── context.go │ │ │ ├── contextgroup.go │ │ │ ├── credential.go │ │ │ ├── doc.go │ │ │ ├── duration.go │ │ │ ├── duration_test.go │ │ │ ├── error.go │ │ │ ├── fs_backend.go │ │ │ ├── fs_base.go │ │ │ ├── fs_collection.go │ │ │ ├── fs_collection_test.go │ │ │ ├── fs_deferred.go │ │ │ ├── fs_filehandle.go │ │ │ ├── fs_getternode.go │ │ │ ├── fs_lookup.go │ │ │ ├── fs_project.go │ │ │ ├── fs_project_test.go │ │ │ ├── fs_site.go │ │ │ ├── fs_site_test.go │ │ │ ├── fs_users.go │ │ │ ├── group.go │ │ │ ├── integration_test_cluster.go │ │ │ ├── keep_block.go │ │ │ ├── keep_cache.go │ │ │ ├── keep_cache_test.go │ │ │ ├── keep_metrics.go │ │ │ ├── keep_service.go │ │ │ ├── keep_service_test.go │ │ │ ├── limiter.go │ │ │ ├── limiter_test.go │ │ │ ├── link.go │ │ │ ├── log.go │ │ │ ├── login.go │ │ │ ├── node.go │ │ │ ├── postgresql.go │ │ │ ├── resource_list.go │ │ │ ├── resource_list_test.go │ │ │ ├── throttle.go │ │ │ ├── tls_certs.go │ │ │ ├── tls_certs_test.go │ │ │ ├── tls_certs_test_showenv.go │ │ │ ├── user.go │ │ │ ├── virtual_machine.go │ │ │ ├── vocabulary.go │ │ │ ├── vocabulary_test.go │ │ │ └── workflow.go │ │ ├── arvadosclient/ │ │ │ ├── arvadosclient.go │ │ │ ├── arvadosclient_test.go │ │ │ └── pool.go │ │ ├── arvadostest/ │ │ │ ├── api.go │ │ │ ├── api_test.go │ │ │ ├── busybox_image.go │ │ │ ├── db.go │ │ │ ├── fixtures.go │ │ │ ├── keep_stub.go │ │ │ ├── manifest.go │ │ │ ├── metrics.go │ │ │ ├── oidc_provider.go │ │ │ ├── proxy.go │ │ │ ├── run_servers.go │ │ │ └── stub.go │ │ ├── asyncbuf/ │ │ │ ├── buf.go │ │ │ └── buf_test.go │ │ ├── auth/ │ │ │ ├── auth.go │ │ │ ├── handlers.go │ │ │ ├── handlers_test.go │ │ │ └── salt.go │ │ ├── blockdigest/ │ │ │ ├── blockdigest.go │ │ │ ├── blockdigest_test.go │ │ │ └── testing.go │ │ ├── config/ │ │ │ ├── dump.go │ │ │ └── load.go │ │ ├── ctxlog/ │ │ │ └── log.go │ │ ├── dispatch/ │ │ │ ├── dispatch.go │ │ │ ├── dispatch_test.go │ │ │ ├── throttle.go │ │ │ └── throttle_test.go │ │ ├── health/ │ │ │ ├── aggregator.go │ │ │ ├── aggregator_test.go │ │ │ ├── handler.go │ │ │ └── handler_test.go │ │ ├── httpserver/ │ │ │ ├── error.go │ │ │ ├── httpserver.go │ │ │ ├── id_generator.go │ │ │ ├── inspect.go │ │ │ ├── inspect_test.go │ │ │ ├── log.go │ │ │ ├── logger.go │ │ │ ├── logger_test.go │ │ │ ├── metrics.go │ │ │ ├── request_limiter.go │ │ │ ├── request_limiter_test.go │ │ │ └── responsewriter.go │ │ ├── keepclient/ │ │ │ ├── collectionreader.go │ │ │ ├── collectionreader_test.go │ │ │ ├── discover.go │ │ │ ├── discover_test.go │ │ │ ├── gateway_shim.go │ │ │ ├── hashcheck.go │ │ │ ├── hashcheck_test.go │ │ │ ├── keepclient.go │ │ │ ├── keepclient_test.go │ │ │ ├── perms.go │ │ │ ├── root_sorter.go │ │ │ ├── root_sorter_test.go │ │ │ └── support.go │ │ └── stats/ │ │ ├── duration.go │ │ └── duration_test.go │ ├── python/ │ │ ├── LICENSE-2.0.txt │ │ ├── MANIFEST.in │ │ ├── README.rst │ │ ├── arvados/ │ │ │ ├── __init__.py │ │ │ ├── _internal/ │ │ │ │ ├── __init__.py │ │ │ │ ├── basedirs.py │ │ │ │ ├── diskcache.py │ │ │ │ ├── downloaderbase.py │ │ │ │ ├── http_to_keep.py │ │ │ │ ├── pycurl.py │ │ │ │ ├── report_template.py │ │ │ │ ├── s3_to_keep.py │ │ │ │ ├── streams.py │ │ │ │ └── to_keep_util.py │ │ │ ├── api.py │ │ │ ├── arvfile.py │ │ │ ├── cache.py │ │ │ ├── collection.py │ │ │ ├── commands/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _util.py │ │ │ │ ├── arv_copy.py │ │ │ │ ├── arvcli.py │ │ │ │ ├── get.py │ │ │ │ ├── keepdocker.py │ │ │ │ ├── ls.py │ │ │ │ ├── put.py │ │ │ │ ├── run.py │ │ │ │ └── ws.py │ │ │ ├── config.py │ │ │ ├── errors.py │ │ │ ├── events.py │ │ │ ├── keep.py │ │ │ ├── logging.py │ │ │ ├── retry.py │ │ │ ├── safeapi.py │ │ │ ├── util.py │ │ │ └── vocabulary.py │ │ ├── arvados-v1-discovery.json │ │ ├── arvados_version.py │ │ ├── bin/ │ │ │ ├── arv-copy │ │ │ ├── arv-get │ │ │ ├── arv-keepdocker │ │ │ ├── arv-ls │ │ │ ├── arv-normalize │ │ │ ├── arv-put │ │ │ └── arv-ws │ │ ├── discovery2pydoc.py │ │ ├── fpm-info.sh │ │ ├── pyproject.toml │ │ ├── pytest.ini │ │ ├── setup.py │ │ └── tests/ │ │ ├── __init__.py │ │ ├── arvados_testutil.py │ │ ├── conftest.py │ │ ├── data/ │ │ │ ├── 1000G_ref_manifest │ │ │ ├── hello-world-README.txt │ │ │ └── jlake_manifest │ │ ├── keepstub.py │ │ ├── manifest_examples.py │ │ ├── nginx.conf │ │ ├── performance/ │ │ │ ├── __init__.py │ │ │ ├── performance_profiler.py │ │ │ └── test_a_sample.py │ │ ├── run_test_server.py │ │ ├── test_api.py │ │ ├── test_arv_copy.py │ │ ├── test_arv_get.py │ │ ├── test_arv_keepdocker.py │ │ ├── test_arv_ls.py │ │ ├── test_arv_normalize.py │ │ ├── test_arv_put.py │ │ ├── test_arv_ws.py │ │ ├── test_arvcli.py │ │ ├── test_arvfile.py │ │ ├── test_basedirs.py │ │ ├── test_benchmark_collections.py │ │ ├── test_cmd_util.py │ │ ├── test_collections.py │ │ ├── test_computed_permissions.py │ │ ├── test_config.py │ │ ├── test_errors.py │ │ ├── test_events.py │ │ ├── test_http_cache.py │ │ ├── test_http_to_keep.py │ │ ├── test_internal.py │ │ ├── test_keep_client.py │ │ ├── test_keep_locator.py │ │ ├── test_retry.py │ │ ├── test_retry_job_helpers.py │ │ ├── test_s3_to_keep.py │ │ ├── test_storage_classes.py │ │ ├── test_stream.py │ │ ├── test_util.py │ │ └── test_vocabulary.py │ ├── ruby/ │ │ ├── .gitignore │ │ ├── Gemfile │ │ ├── LICENSE-2.0.txt │ │ ├── README │ │ ├── Rakefile │ │ ├── arvados.gemspec │ │ ├── lib/ │ │ │ ├── arvados/ │ │ │ │ ├── collection.rb │ │ │ │ ├── google_api_client.rb │ │ │ │ └── keep.rb │ │ │ └── arvados.rb │ │ └── test/ │ │ ├── sdk_fixtures.rb │ │ ├── test_big_request.rb │ │ ├── test_collection.rb │ │ ├── test_keep_manifest.rb │ │ └── test_request_id.rb │ └── ruby-google-api-client/ │ ├── .gitignore │ ├── .rspec │ ├── .travis.yml │ ├── .yardopts │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Gemfile │ ├── LICENSE │ ├── README.md │ ├── Rakefile │ ├── arvados-google-api-client.gemspec │ ├── lib/ │ │ ├── cacerts.pem │ │ ├── compat/ │ │ │ └── multi_json.rb │ │ └── google/ │ │ ├── api_client/ │ │ │ ├── auth/ │ │ │ │ ├── compute_service_account.rb │ │ │ │ ├── file_storage.rb │ │ │ │ ├── installed_app.rb │ │ │ │ ├── jwt_asserter.rb │ │ │ │ ├── key_utils.rb │ │ │ │ ├── pkcs12.rb │ │ │ │ ├── storage.rb │ │ │ │ └── storages/ │ │ │ │ ├── file_store.rb │ │ │ │ └── redis_store.rb │ │ │ ├── batch.rb │ │ │ ├── charset.rb │ │ │ ├── client_secrets.rb │ │ │ ├── discovery/ │ │ │ │ ├── api.rb │ │ │ │ ├── media.rb │ │ │ │ ├── method.rb │ │ │ │ ├── resource.rb │ │ │ │ └── schema.rb │ │ │ ├── discovery.rb │ │ │ ├── environment.rb │ │ │ ├── errors.rb │ │ │ ├── logging.rb │ │ │ ├── media.rb │ │ │ ├── railtie.rb │ │ │ ├── reference.rb │ │ │ ├── request.rb │ │ │ ├── result.rb │ │ │ ├── service/ │ │ │ │ ├── batch.rb │ │ │ │ ├── request.rb │ │ │ │ ├── resource.rb │ │ │ │ ├── result.rb │ │ │ │ ├── simple_file_store.rb │ │ │ │ └── stub_generator.rb │ │ │ ├── service.rb │ │ │ ├── service_account.rb │ │ │ └── version.rb │ │ └── api_client.rb │ ├── rakelib/ │ │ ├── gem.rake │ │ ├── git.rake │ │ ├── metrics.rake │ │ ├── spec.rake │ │ ├── wiki.rake │ │ └── yard.rake │ ├── script/ │ │ ├── package │ │ └── release │ ├── spec/ │ │ ├── fixtures/ │ │ │ └── files/ │ │ │ ├── auth_stored_credentials.json │ │ │ ├── client_secrets.json │ │ │ ├── privatekey.p12 │ │ │ ├── sample.txt │ │ │ ├── secret.pem │ │ │ └── zoo.json │ │ ├── google/ │ │ │ ├── api_client/ │ │ │ │ ├── auth/ │ │ │ │ │ ├── storage_spec.rb │ │ │ │ │ └── storages/ │ │ │ │ │ ├── file_store_spec.rb │ │ │ │ │ └── redis_store_spec.rb │ │ │ │ ├── batch_spec.rb │ │ │ │ ├── client_secrets_spec.rb │ │ │ │ ├── discovery_spec.rb │ │ │ │ ├── gzip_spec.rb │ │ │ │ ├── media_spec.rb │ │ │ │ ├── request_spec.rb │ │ │ │ ├── result_spec.rb │ │ │ │ ├── service_account_spec.rb │ │ │ │ ├── service_spec.rb │ │ │ │ └── simple_file_store_spec.rb │ │ │ └── api_client_spec.rb │ │ └── spec_helper.rb │ └── yard/ │ ├── bin/ │ │ └── yard-wiki │ ├── lib/ │ │ ├── yard/ │ │ │ ├── cli/ │ │ │ │ └── wiki.rb │ │ │ ├── rake/ │ │ │ │ └── wikidoc_task.rb │ │ │ ├── serializers/ │ │ │ │ └── wiki_serializer.rb │ │ │ └── templates/ │ │ │ └── helpers/ │ │ │ └── wiki_helper.rb │ │ └── yard-google-code.rb │ └── templates/ │ └── default/ │ ├── class/ │ │ └── setup.rb │ ├── docstring/ │ │ └── setup.rb │ ├── method/ │ │ └── setup.rb │ ├── method_details/ │ │ └── setup.rb │ ├── module/ │ │ └── setup.rb │ └── tags/ │ └── setup.rb ├── services/ │ ├── api/ │ │ ├── .gitignore │ │ ├── Gemfile │ │ ├── Passengerfile.json │ │ ├── README │ │ ├── Rakefile │ │ ├── app/ │ │ │ ├── assets/ │ │ │ │ ├── config/ │ │ │ │ │ └── manifest.js │ │ │ │ └── stylesheets/ │ │ │ │ ├── application.css │ │ │ │ └── scaffolds.css.scss │ │ │ ├── controllers/ │ │ │ │ ├── application_controller.rb │ │ │ │ ├── arvados/ │ │ │ │ │ └── v1/ │ │ │ │ │ ├── api_client_authorizations_controller.rb │ │ │ │ │ ├── authorized_keys_controller.rb │ │ │ │ │ ├── collections_controller.rb │ │ │ │ │ ├── computed_permissions_controller.rb │ │ │ │ │ ├── container_requests_controller.rb │ │ │ │ │ ├── containers_controller.rb │ │ │ │ │ ├── credentials_controller.rb │ │ │ │ │ ├── groups_controller.rb │ │ │ │ │ ├── keep_services_controller.rb │ │ │ │ │ ├── links_controller.rb │ │ │ │ │ ├── logs_controller.rb │ │ │ │ │ ├── management_controller.rb │ │ │ │ │ ├── schema_controller.rb │ │ │ │ │ ├── user_agreements_controller.rb │ │ │ │ │ ├── users_controller.rb │ │ │ │ │ ├── virtual_machines_controller.rb │ │ │ │ │ └── workflows_controller.rb │ │ │ │ ├── database_controller.rb │ │ │ │ ├── static_controller.rb │ │ │ │ ├── sys_controller.rb │ │ │ │ └── user_sessions_controller.rb │ │ │ ├── helpers/ │ │ │ │ └── application_helper.rb │ │ │ ├── mailers/ │ │ │ │ ├── .gitkeep │ │ │ │ ├── admin_notifier.rb │ │ │ │ ├── profile_notifier.rb │ │ │ │ └── user_notifier.rb │ │ │ ├── middlewares/ │ │ │ │ └── arvados_api_token.rb │ │ │ ├── models/ │ │ │ │ ├── .gitkeep │ │ │ │ ├── api_client_authorization.rb │ │ │ │ ├── application_record.rb │ │ │ │ ├── arvados_model.rb │ │ │ │ ├── authorized_key.rb │ │ │ │ ├── blob.rb │ │ │ │ ├── collection.rb │ │ │ │ ├── computed_permission.rb │ │ │ │ ├── container.rb │ │ │ │ ├── container_port.rb │ │ │ │ ├── container_request.rb │ │ │ │ ├── credential.rb │ │ │ │ ├── database_seeds.rb │ │ │ │ ├── frozen_group.rb │ │ │ │ ├── group.rb │ │ │ │ ├── jsonb_type.rb │ │ │ │ ├── keep_service.rb │ │ │ │ ├── link.rb │ │ │ │ ├── log.rb │ │ │ │ ├── trashed_group.rb │ │ │ │ ├── user.rb │ │ │ │ ├── user_agreement.rb │ │ │ │ ├── virtual_machine.rb │ │ │ │ └── workflow.rb │ │ │ └── views/ │ │ │ ├── admin_notifier/ │ │ │ │ ├── new_inactive_user.text.erb │ │ │ │ └── new_user.text.erb │ │ │ ├── layouts/ │ │ │ │ └── application.html.erb │ │ │ ├── profile_notifier/ │ │ │ │ └── profile_created.text.erb │ │ │ ├── static/ │ │ │ │ ├── intro.html.erb │ │ │ │ └── login_failure.html.erb │ │ │ ├── user_notifier/ │ │ │ │ └── account_is_setup.text.erb │ │ │ └── user_sessions/ │ │ │ ├── create.html.erb │ │ │ └── failure.html.erb │ │ ├── arvados-railsapi.service │ │ ├── bin/ │ │ │ ├── bundle │ │ │ ├── rails │ │ │ ├── rake │ │ │ ├── setup │ │ │ └── update │ │ ├── config/ │ │ │ ├── application.default.yml │ │ │ ├── application.rb │ │ │ ├── application.yml.example │ │ │ ├── arvados_config.rb │ │ │ ├── boot.rb │ │ │ ├── cable.yml │ │ │ ├── database.yml.example │ │ │ ├── environment.rb │ │ │ ├── environments/ │ │ │ │ ├── development.rb.example │ │ │ │ ├── production.rb.example │ │ │ │ └── test.rb.example │ │ │ ├── initializers/ │ │ │ │ ├── andand.rb │ │ │ │ ├── app_version.rb │ │ │ │ ├── application_controller_renderer.rb │ │ │ │ ├── assets.rb │ │ │ │ ├── authorization.rb │ │ │ │ ├── backtrace_silencers.rb │ │ │ │ ├── clear_empty_content_type.rb │ │ │ │ ├── common_api_template.rb │ │ │ │ ├── content_security_policy.rb │ │ │ │ ├── cookies_serializer.rb │ │ │ │ ├── current_api_client.rb │ │ │ │ ├── custom_types.rb │ │ │ │ ├── db_current_time.rb │ │ │ │ ├── db_timeout.rb │ │ │ │ ├── filter_parameter_logging.rb │ │ │ │ ├── fix_www_decode.rb │ │ │ │ ├── inflections.rb │ │ │ │ ├── kind_and_etag.rb │ │ │ │ ├── lograge.rb │ │ │ │ ├── mime_types.rb │ │ │ │ ├── net_http.rb │ │ │ │ ├── oj_mimic_json.rb │ │ │ │ ├── permissions_policy.rb │ │ │ │ ├── permit_all_parameters.rb │ │ │ │ ├── reload_config.rb │ │ │ │ ├── request_id_middleware.rb │ │ │ │ ├── session_store.rb │ │ │ │ ├── time_format.rb │ │ │ │ ├── time_zone.rb │ │ │ │ └── wrap_parameters.rb │ │ │ ├── locales/ │ │ │ │ └── en.yml │ │ │ ├── puma.rb │ │ │ ├── routes.rb │ │ │ ├── secrets.yml │ │ │ ├── spring.rb │ │ │ └── unbound.template │ │ ├── config.ru │ │ ├── db/ │ │ │ ├── migrate/ │ │ │ │ ├── 20121016005009_create_collections.rb │ │ │ │ ├── 20130105203021_create_metadata.rb │ │ │ │ ├── 20130105224358_rename_metadata_class.rb │ │ │ │ ├── 20130105224618_rename_collection_created_by_client.rb │ │ │ │ ├── 20130107181109_add_uuid_to_collections.rb │ │ │ │ ├── 20130107212832_create_nodes.rb │ │ │ │ ├── 20130109175700_create_pipelines.rb │ │ │ │ ├── 20130109220548_create_pipeline_invocations.rb │ │ │ │ ├── 20130113214204_add_index_to_collections_and_metadata.rb │ │ │ │ ├── 20130116024233_create_specimens.rb │ │ │ │ ├── 20130116215213_create_projects.rb │ │ │ │ ├── 20130118002239_rename_metadata_attributes.rb │ │ │ │ ├── 20130122020042_create_users.rb │ │ │ │ ├── 20130122201442_create_logs.rb │ │ │ │ ├── 20130122221616_add_modified_at_to_logs.rb │ │ │ │ ├── 20130123174514_add_uuid_index_to_users.rb │ │ │ │ ├── 20130123180224_create_api_clients.rb │ │ │ │ ├── 20130123180228_create_api_client_authorizations.rb │ │ │ │ ├── 20130125220425_rename_created_by_to_owner.rb │ │ │ │ ├── 20130128202518_rename_metadata_to_links.rb │ │ │ │ ├── 20130128231343_add_properties_to_specimen.rb │ │ │ │ ├── 20130130205749_add_manifest_text_to_collection.rb │ │ │ │ ├── 20130203104818_create_jobs.rb │ │ │ │ ├── 20130203104824_create_job_steps.rb │ │ │ │ ├── 20130203115329_add_priority_to_jobs.rb │ │ │ │ ├── 20130207195855_add_index_on_timestamps.rb │ │ │ │ ├── 20130218181504_add_properties_to_pipeline_invocations.rb │ │ │ │ ├── 20130226170000_remove_native_target_from_links.rb │ │ │ │ ├── 20130313175417_rename_projects_to_groups.rb │ │ │ │ ├── 20130315155820_add_is_locked_by_to_jobs.rb │ │ │ │ ├── 20130315183626_add_log_to_jobs.rb │ │ │ │ ├── 20130315213205_add_tasks_summary_to_jobs.rb │ │ │ │ ├── 20130318002138_add_resource_limits_to_jobs.rb │ │ │ │ ├── 20130319165853_rename_job_command_to_script.rb │ │ │ │ ├── 20130319180730_rename_pipeline_invocation_to_pipeline_instance.rb │ │ │ │ ├── 20130319194637_rename_pipelines_to_pipeline_templates.rb │ │ │ │ ├── 20130319201431_rename_job_steps_to_job_tasks.rb │ │ │ │ ├── 20130319235957_add_default_owner_to_users.rb │ │ │ │ ├── 20130320000107_add_default_owner_to_api_client_authorizations.rb │ │ │ │ ├── 20130326173804_create_commits.rb │ │ │ │ ├── 20130326182917_create_commit_ancestors.rb │ │ │ │ ├── 20130415020241_rename_orvos_to_arvados.rb │ │ │ │ ├── 20130425024459_create_keep_disks.rb │ │ │ │ ├── 20130425214427_add_service_host_and_service_port_and_service_ssl_flag_to_keep_disks.rb │ │ │ │ ├── 20130523060112_add_created_by_job_task_to_job_tasks.rb │ │ │ │ ├── 20130523060213_add_qsequence_to_job_tasks.rb │ │ │ │ ├── 20130524042319_fix_job_task_qsequence_type.rb │ │ │ │ ├── 20130528134100_update_nodes_index.rb │ │ │ │ ├── 20130606183519_create_authorized_keys.rb │ │ │ │ ├── 20130608053730_create_virtual_machines.rb │ │ │ │ ├── 20130610202538_create_repositories.rb │ │ │ │ ├── 20130611163736_rename_authorized_key_authorized_user_to_authorized_user_uuid.rb │ │ │ │ ├── 20130612042554_add_name_unique_index_to_repositories.rb │ │ │ │ ├── 20130617150007_add_is_trusted_to_api_clients.rb │ │ │ │ ├── 20130626002829_add_is_active_to_users.rb │ │ │ │ ├── 20130626022810_activate_all_admins.rb │ │ │ │ ├── 20130627154537_create_traits.rb │ │ │ │ ├── 20130627184333_create_humans.rb │ │ │ │ ├── 20130708163414_rename_foreign_uuid_attributes.rb │ │ │ │ ├── 20130708182912_rename_job_foreign_uuid_attributes.rb │ │ │ │ ├── 20130708185153_rename_user_default_owner.rb │ │ │ │ ├── 20130724153034_add_scopes_to_api_client_authorizations.rb │ │ │ │ ├── 20131007180607_rename_resource_limits_to_runtime_constraints.rb │ │ │ │ ├── 20140117231056_normalize_collection_uuid.rb │ │ │ │ ├── 20140124222114_fix_link_kind_underscores.rb │ │ │ │ ├── 20140129184311_normalize_collection_uuids_in_script_parameters.rb │ │ │ │ ├── 20140317135600_add_nondeterministic_column_to_job.rb │ │ │ │ ├── 20140319160547_separate_repository_from_script_version.rb │ │ │ │ ├── 20140321191343_add_repository_column_to_job.rb │ │ │ │ ├── 20140324024606_add_output_is_persistent_to_job.rb │ │ │ │ ├── 20140325175653_remove_kind_columns.rb │ │ │ │ ├── 20140402001908_add_system_group.rb │ │ │ │ ├── 20140407184311_rename_log_info_to_properties.rb │ │ │ │ ├── 20140421140924_add_group_class_to_groups.rb │ │ │ │ ├── 20140421151939_rename_auth_keys_user_index.rb │ │ │ │ ├── 20140421151940_timestamps_not_null.rb │ │ │ │ ├── 20140422011506_pipeline_instance_state.rb │ │ │ │ ├── 20140423132913_add_object_owner_to_logs.rb │ │ │ │ ├── 20140423133559_new_scope_format.rb │ │ │ │ ├── 20140501165548_add_unique_name_index_to_links.rb │ │ │ │ ├── 20140519205916_create_keep_services.rb │ │ │ │ ├── 20140527152921_add_description_to_pipeline_templates.rb │ │ │ │ ├── 20140530200539_add_supplied_script_version.rb │ │ │ │ ├── 20140601022548_remove_name_from_collections.rb │ │ │ │ ├── 20140602143352_remove_active_and_success_from_pipeline_instances.rb │ │ │ │ ├── 20140607150616_rename_folder_to_project.rb │ │ │ │ ├── 20140611173003_add_docker_locator_to_jobs.rb │ │ │ │ ├── 20140627210837_anonymous_group.rb │ │ │ │ ├── 20140709172343_job_task_serial_qsequence.rb │ │ │ │ ├── 20140714184006_empty_collection.rb │ │ │ │ ├── 20140811184643_collection_use_regular_uuids.rb │ │ │ │ ├── 20140817035914_add_unique_name_constraints.rb │ │ │ │ ├── 20140818125735_add_not_null_constraint_to_group_name.rb │ │ │ │ ├── 20140826180337_remove_output_is_persistent_column.rb │ │ │ │ ├── 20140828141043_job_priority_fixup.rb │ │ │ │ ├── 20140909183946_add_start_finish_time_to_tasks_and_pipelines.rb │ │ │ │ ├── 20140911221252_add_description_to_pipeline_instances_and_jobs.rb │ │ │ │ ├── 20140918141529_change_user_owner_uuid_not_null.rb │ │ │ │ ├── 20140918153541_add_properties_to_node.rb │ │ │ │ ├── 20140918153705_add_state_to_job.rb │ │ │ │ ├── 20140924091559_add_job_uuid_to_nodes.rb │ │ │ │ ├── 20141111133038_add_arvados_sdk_version_to_jobs.rb │ │ │ │ ├── 20141208164553_owner_uuid_index.rb │ │ │ │ ├── 20141208174553_descriptions_are_strings.rb │ │ │ │ ├── 20141208174653_collection_file_names.rb │ │ │ │ ├── 20141208185217_search_index.rb │ │ │ │ ├── 20150122175935_no_description_in_search_index.rb │ │ │ │ ├── 20150123142953_full_text_search.rb │ │ │ │ ├── 20150203180223_set_group_class_on_anonymous_group.rb │ │ │ │ ├── 20150206210804_all_users_can_read_anonymous_group.rb │ │ │ │ ├── 20150206230342_rename_replication_attributes.rb │ │ │ │ ├── 20150216193428_collection_name_owner_unique_only_non_expired.rb │ │ │ │ ├── 20150303210106_fix_collection_portable_data_hash_with_hinted_manifest.rb │ │ │ │ ├── 20150312151136_change_collection_expires_at_to_datetime.rb │ │ │ │ ├── 20150317132720_add_username_to_users.rb │ │ │ │ ├── 20150324152204_backward_compatibility_for_user_repositories.rb │ │ │ │ ├── 20150423145759_no_filenames_in_collection_search_index.rb │ │ │ │ ├── 20150512193020_read_only_on_keep_services.rb │ │ │ │ ├── 20150526180251_leading_space_on_full_text_index.rb │ │ │ │ ├── 20151202151426_create_containers_and_requests.rb │ │ │ │ ├── 20151215134304_fix_containers_index.rb │ │ │ │ ├── 20151229214707_add_exit_code_to_containers.rb │ │ │ │ ├── 20160208210629_add_uuid_to_api_client_authorization.rb │ │ │ │ ├── 20160209155729_add_uuid_to_api_token_search_index.rb │ │ │ │ ├── 20160324144017_add_components_to_job.rb │ │ │ │ ├── 20160506175108_add_auths_to_container.rb │ │ │ │ ├── 20160509143250_add_auth_and_lock_to_container_index.rb │ │ │ │ ├── 20160808151559_create_workflows.rb │ │ │ │ ├── 20160819195557_add_script_parameters_digest_to_jobs.rb │ │ │ │ ├── 20160819195725_populate_script_parameters_digest.rb │ │ │ │ ├── 20160901210110_repair_script_parameters_digest.rb │ │ │ │ ├── 20160909181442_rename_workflow_to_definition.rb │ │ │ │ ├── 20160926194129_add_container_count.rb │ │ │ │ ├── 20161019171346_add_use_existing_to_container_requests.rb │ │ │ │ ├── 20161111143147_add_scheduling_parameters_to_container.rb │ │ │ │ ├── 20161115171221_add_output_and_log_uuid_to_container_request.rb │ │ │ │ ├── 20161115174218_add_output_and_log_uuids_to_container_request_search_index.rb │ │ │ │ ├── 20161213172944_full_text_search_indexes.rb │ │ │ │ ├── 20161222153434_split_expiry_to_trash_and_delete.rb │ │ │ │ ├── 20161223090712_add_output_name_to_container_requests.rb │ │ │ │ ├── 20170102153111_add_output_name_to_container_request_search_index.rb │ │ │ │ ├── 20170105160301_add_output_name_to_cr_fts_index.rb │ │ │ │ ├── 20170105160302_set_finished_at_on_finished_pipeline_instances.rb │ │ │ │ ├── 20170216170823_no_cr_mounts_and_workflow_def_in_full_text_search_index.rb │ │ │ │ ├── 20170301225558_no_downgrade_after_json.rb │ │ │ │ ├── 20170319063406_serialized_columns_accept_null.rb │ │ │ │ ├── 20170328215436_add_portable_data_hash_index_to_collections.rb │ │ │ │ ├── 20170330012505_add_output_ttl_to_container_requests.rb │ │ │ │ ├── 20170419173031_add_created_by_job_task_index_to_job_tasks.rb │ │ │ │ ├── 20170419173712_add_object_owner_index_to_logs.rb │ │ │ │ ├── 20170419175801_add_requesting_container_index_to_container_requests.rb │ │ │ │ ├── 20170628185847_jobs_yaml_to_json.rb │ │ │ │ ├── 20170704160233_yaml_to_json.rb │ │ │ │ ├── 20170706141334_json_collection_properties.rb │ │ │ │ ├── 20170824202826_trashable_groups.rb │ │ │ │ ├── 20170906224040_materialized_permission_view.rb │ │ │ │ ├── 20171027183824_add_index_to_containers.rb │ │ │ │ ├── 20171208203841_fix_trash_flag_follow.rb │ │ │ │ ├── 20171212153352_add_gin_index_to_collection_properties.rb │ │ │ │ ├── 20180216203422_add_storage_classes_to_collections.rb │ │ │ │ ├── 20180228220311_add_secret_mounts_to_containers.rb │ │ │ │ ├── 20180313180114_change_container_priority_bigint.rb │ │ │ │ ├── 20180501182859_add_redirect_to_user_uuid_to_users.rb │ │ │ │ ├── 20180514135529_add_container_auth_uuid_index.rb │ │ │ │ ├── 20180607175050_properties_to_jsonb.rb │ │ │ │ ├── 20180608123145_add_properties_to_groups.rb │ │ │ │ ├── 20180806133039_index_all_filenames.rb │ │ │ │ ├── 20180820130357_add_pdh_and_trash_index_to_collections.rb │ │ │ │ ├── 20180820132617_add_lock_index_to_containers.rb │ │ │ │ ├── 20180820135808_drop_pdh_index_from_collections.rb │ │ │ │ ├── 20180824152014_add_md5_index_to_containers.rb │ │ │ │ ├── 20180824155207_add_queue_index_to_containers.rb │ │ │ │ ├── 20180904110712_add_runtime_status_to_containers.rb │ │ │ │ ├── 20180913175443_add_version_info_to_collections.rb │ │ │ │ ├── 20180915155335_set_current_version_uuid_on_collections.rb │ │ │ │ ├── 20180917200000_replace_full_text_indexes.rb │ │ │ │ ├── 20180917205609_recompute_file_names_index.rb │ │ │ │ ├── 20180919001158_recreate_collection_unique_name_index.rb │ │ │ │ ├── 20181001175023_add_preserve_version_to_collections.rb │ │ │ │ ├── 20181004131141_add_current_version_uuid_to_collection_search_index.rb │ │ │ │ ├── 20181005192222_add_container_runtime_token.rb │ │ │ │ ├── 20181011184200_add_runtime_token_to_container.rb │ │ │ │ ├── 20181213183234_add_expression_index_to_links.rb │ │ │ │ ├── 20190214214814_add_container_lock_count.rb │ │ │ │ ├── 20190322174136_add_file_info_to_collection.rb │ │ │ │ ├── 20190422144631_fill_missing_modified_at.rb │ │ │ │ ├── 20190523180148_add_trigram_index_for_text_search.rb │ │ │ │ ├── 20190808145904_drop_commit_ancestors.rb │ │ │ │ ├── 20190809135453_remove_commits_table.rb │ │ │ │ ├── 20190905151603_enforce_unique_identity_url.rb │ │ │ │ ├── 20200501150153_permission_table.rb │ │ │ │ ├── 20200602141328_fix_roles_projects.rb │ │ │ │ ├── 20200914203202_public_favorites_project.rb │ │ │ │ ├── 20201103170213_refresh_trashed_groups.rb │ │ │ │ ├── 20201105190435_refresh_permissions.rb │ │ │ │ ├── 20201202174753_fix_collection_versions_timestamps.rb │ │ │ │ ├── 20210108033940_add_gateway_address_to_containers.rb │ │ │ │ ├── 20210126183521_add_interactive_session_started_to_containers.rb │ │ │ │ ├── 20210621204455_add_container_output_storage_class.rb │ │ │ │ ├── 20210816191509_drop_fts_index.rb │ │ │ │ ├── 20211027154300_delete_disabled_user_tokens_and_keys.rb │ │ │ │ ├── 20220224203102_add_frozen_by_uuid_to_groups.rb │ │ │ │ ├── 20220301155729_frozen_groups.rb │ │ │ │ ├── 20220303204419_add_frozen_by_uuid_to_group_search_index.rb │ │ │ │ ├── 20220401153101_fix_created_at_indexes.rb │ │ │ │ ├── 20220505112900_add_output_properties.rb │ │ │ │ ├── 20220726034131_write_via_all_users.rb │ │ │ │ ├── 20220804133317_add_cost_to_containers.rb │ │ │ │ ├── 20221219165512_dedup_permission_links.rb │ │ │ │ ├── 20221230155924_bigint_id.rb │ │ │ │ ├── 20230421142716_add_name_index_to_collections_and_groups.rb │ │ │ │ ├── 20230503224107_priority_update_functions.rb │ │ │ │ ├── 20230815160000_jsonb_exists_functions.rb │ │ │ │ ├── 20230821000000_priority_update_fix.rb │ │ │ │ ├── 20230922000000_add_btree_name_index_to_collections_and_groups.rb │ │ │ │ ├── 20231013000000_compute_permission_index.rb │ │ │ │ ├── 20240329173437_add_output_glob_to_containers.rb │ │ │ │ ├── 20240402162733_add_output_glob_index_to_containers.rb │ │ │ │ ├── 20240604183200_exclude_uuids_and_hashes_from_text_search.rb │ │ │ │ ├── 20240618121312_create_uuid_locks.rb │ │ │ │ ├── 20240627201747_set_default_api_client_id.rb │ │ │ │ ├── 20240820202230_exclude_container_image_from_text_search.rb │ │ │ │ ├── 20241118110000_index_on_container_request_name.rb │ │ │ │ ├── 20250115145250_drop_fts_index_again.rb │ │ │ │ ├── 20250312141843_add_refreshes_at_to_api_client_authorizations.rb │ │ │ │ ├── 20250315222222_add_services_and_published_ports.rb │ │ │ │ ├── 20250402131700_add_collection_uuid_to_workflows.rb │ │ │ │ ├── 20250422103000_create_credentials_table.rb │ │ │ │ ├── 20250426201300_priority_update_check_trash_at.rb │ │ │ │ ├── 20250527181323_add_container_ports.rb │ │ │ │ └── 20251006181234_enforce_required_credential_fields.rb │ │ │ ├── seeds.rb │ │ │ └── structure.sql │ │ ├── fpm-info.sh │ │ ├── lib/ │ │ │ ├── 20200501150153_permission_table_constants.rb │ │ │ ├── app_version.rb │ │ │ ├── arvados_model_updates.rb │ │ │ ├── assets/ │ │ │ │ └── .gitkeep │ │ │ ├── audit_logs.rb │ │ │ ├── can_be_an_owner.rb │ │ │ ├── common_api_template.rb │ │ │ ├── config_loader.rb │ │ │ ├── create_ancestor_view.sql │ │ │ ├── create_permission_view.sql │ │ │ ├── current_api_client.rb │ │ │ ├── db_current_time.rb │ │ │ ├── fix_collection_versions_timestamps.rb │ │ │ ├── fix_roles_projects.rb │ │ │ ├── group_pdhs.rb │ │ │ ├── has_uuid.rb │ │ │ ├── kind_and_etag.rb │ │ │ ├── load_param.rb │ │ │ ├── log_reuse_info.rb │ │ │ ├── migrate_yaml_to_json.rb │ │ │ ├── record_filters.rb │ │ │ ├── request_error.rb │ │ │ ├── safe_json.rb │ │ │ ├── safer_file_store.rb │ │ │ ├── salvage_collection.rb │ │ │ ├── serializers.rb │ │ │ ├── tasks/ │ │ │ │ ├── .gitkeep │ │ │ │ ├── config.rake │ │ │ │ ├── delete_old_container_logs.rake │ │ │ │ ├── manage_long_lived_tokens.rake │ │ │ │ ├── statement_timeout.rake │ │ │ │ └── test_tasks.rake │ │ │ ├── trashable.rb │ │ │ ├── update_permissions.rb │ │ │ ├── update_priorities.rb │ │ │ ├── validate_serialized.rb │ │ │ └── whitelist_update.rb │ │ ├── public/ │ │ │ ├── 404.html │ │ │ ├── 422.html │ │ │ ├── 500.html │ │ │ └── robots.txt │ │ ├── script/ │ │ │ ├── populate-file-info-columns-in-collections.rb │ │ │ ├── rails │ │ │ ├── rake_test.sh │ │ │ ├── restart-dns-server │ │ │ ├── salvage_collection.rb │ │ │ └── setup-new-user.rb │ │ └── test/ │ │ ├── factories/ │ │ │ ├── api_client_authorization.rb │ │ │ ├── group.rb │ │ │ ├── link.rb │ │ │ └── user.rb │ │ ├── fixtures/ │ │ │ ├── .gitkeep │ │ │ ├── api_client_authorizations.yml │ │ │ ├── authorized_keys.yml │ │ │ ├── collections.yml │ │ │ ├── container_requests.yml │ │ │ ├── containers.yml │ │ │ ├── files/ │ │ │ │ └── proc_stat │ │ │ ├── groups.yml │ │ │ ├── keep_services.yml │ │ │ ├── links.yml │ │ │ ├── logs.yml │ │ │ ├── users.yml │ │ │ ├── virtual_machines.yml │ │ │ └── workflows.yml │ │ ├── functional/ │ │ │ ├── .gitkeep │ │ │ ├── application_controller_test.rb │ │ │ ├── arvados/ │ │ │ │ └── v1/ │ │ │ │ ├── api_client_authorizations_controller_test.rb │ │ │ │ ├── authorized_keys_controller_test.rb │ │ │ │ ├── collections_controller_test.rb │ │ │ │ ├── computed_permissions_controller_test.rb │ │ │ │ ├── container_requests_controller_test.rb │ │ │ │ ├── containers_controller_test.rb │ │ │ │ ├── filters_test.rb │ │ │ │ ├── groups_controller_test.rb │ │ │ │ ├── keep_services_controller_test.rb │ │ │ │ ├── links_controller_test.rb │ │ │ │ ├── logs_controller_test.rb │ │ │ │ ├── management_controller_test.rb │ │ │ │ ├── query_test.rb │ │ │ │ ├── schema_controller_test.rb │ │ │ │ ├── user_agreements_controller_test.rb │ │ │ │ ├── users_controller_test.rb │ │ │ │ └── virtual_machines_controller_test.rb │ │ │ ├── database_controller_test.rb │ │ │ ├── sys_controller_test.rb │ │ │ └── user_sessions_controller_test.rb │ │ ├── helpers/ │ │ │ ├── container_test_helper.rb │ │ │ ├── docker_migration_helper.rb │ │ │ ├── manifest_examples.rb │ │ │ ├── time_block.rb │ │ │ └── users_test_helper.rb │ │ ├── integration/ │ │ │ ├── .gitkeep │ │ │ ├── api_client_authorizations_api_test.rb │ │ │ ├── api_client_authorizations_scopes_test.rb │ │ │ ├── bundler_version_test.rb │ │ │ ├── collections_api_test.rb │ │ │ ├── collections_performance_test.rb │ │ │ ├── computed_permissions_test.rb │ │ │ ├── container_auth_test.rb │ │ │ ├── container_dispatch_test.rb │ │ │ ├── container_request_test.rb │ │ │ ├── credentials_test.rb │ │ │ ├── cross_origin_test.rb │ │ │ ├── database_reset_test.rb │ │ │ ├── discovery_document_test.rb │ │ │ ├── errors_test.rb │ │ │ ├── groups_test.rb │ │ │ ├── http_quirks_test.rb │ │ │ ├── keep_proxy_test.rb │ │ │ ├── logging_test.rb │ │ │ ├── login_workflow_test.rb │ │ │ ├── noop_deep_munge_test.rb │ │ │ ├── passenger_config_test.rb │ │ │ ├── permissions_test.rb │ │ │ ├── pipeline_test.rb │ │ │ ├── reader_tokens_test.rb │ │ │ ├── remote_user_test.rb │ │ │ ├── select_test.rb │ │ │ ├── serialized_encoding_test.rb │ │ │ ├── user_sessions_test.rb │ │ │ ├── users_test.rb │ │ │ ├── valid_links_test.rb │ │ │ └── workflows_test.rb │ │ ├── performance/ │ │ │ ├── links_index_test.rb │ │ │ └── permission_test.rb │ │ ├── test_helper.rb │ │ └── unit/ │ │ ├── .gitkeep │ │ ├── api_client_authorization_test.rb │ │ ├── app_version_test.rb │ │ ├── application_test.rb │ │ ├── arvados_model_test.rb │ │ ├── authorized_key_test.rb │ │ ├── blob_test.rb │ │ ├── collection_performance_test.rb │ │ ├── collection_test.rb │ │ ├── container_request_test.rb │ │ ├── container_test.rb │ │ ├── credential_test.rb │ │ ├── group_pdhs_test.rb │ │ ├── group_test.rb │ │ ├── keep_disk_test.rb │ │ ├── keep_service_test.rb │ │ ├── link_test.rb │ │ ├── log_test.rb │ │ ├── owner_test.rb │ │ ├── permission_test.rb │ │ ├── salvage_collection_test.rb │ │ ├── seralizer_test.rb │ │ ├── time_zone_test.rb │ │ ├── user_notifier_test.rb │ │ ├── user_test.rb │ │ ├── virtual_machine_test.rb │ │ └── workflow_test.rb │ ├── crunch-dispatch-slurm/ │ │ ├── crunch-dispatch-slurm.go │ │ ├── crunch-dispatch-slurm_test.go │ │ ├── node_type.go │ │ ├── priority.go │ │ ├── priority_test.go │ │ ├── script.go │ │ ├── script_test.go │ │ ├── slurm.go │ │ ├── squeue.go │ │ ├── squeue_test.go │ │ └── usage.go │ ├── dockercleaner/ │ │ ├── MANIFEST.in │ │ ├── README.rst │ │ ├── agpl-3.0.txt │ │ ├── arvados-docker-cleaner.service │ │ ├── arvados_docker/ │ │ │ ├── __init__.py │ │ │ └── cleaner.py │ │ ├── arvados_version.py │ │ ├── bin/ │ │ │ └── arvados-docker-cleaner │ │ ├── pyproject.toml │ │ ├── setup.py │ │ └── tests/ │ │ ├── __init__.py │ │ └── test_cleaner.py │ ├── fuse/ │ │ ├── MANIFEST.in │ │ ├── README.rst │ │ ├── agpl-3.0.txt │ │ ├── arvados_fuse/ │ │ │ ├── __init__.py │ │ │ ├── command.py │ │ │ ├── crunchstat.py │ │ │ ├── fresh.py │ │ │ ├── fusedir.py │ │ │ ├── fusefile.py │ │ │ └── unmount.py │ │ ├── arvados_version.py │ │ ├── bin/ │ │ │ └── arv-mount │ │ ├── fpm-info.sh │ │ ├── pyproject.toml │ │ ├── setup.py │ │ └── tests/ │ │ ├── __init__.py │ │ ├── fstest.py │ │ ├── integration_test.py │ │ ├── mount_test_base.py │ │ ├── prof.py │ │ ├── test_cache.py │ │ ├── test_command_args.py │ │ ├── test_concurrency.py │ │ ├── test_crunchstat.py │ │ ├── test_exec.py │ │ ├── test_inodes.py │ │ ├── test_mount.py │ │ ├── test_mount_filters.py │ │ ├── test_mount_type.py │ │ ├── test_retry.py │ │ ├── test_tmp_collection.py │ │ ├── test_token_expiry.py │ │ └── test_unmount.py │ ├── keep-balance/ │ │ ├── balance.go │ │ ├── balance_run_test.go │ │ ├── balance_test.go │ │ ├── block_state.go │ │ ├── block_state_test.go │ │ ├── change_set.go │ │ ├── change_set_test.go │ │ ├── collection.go │ │ ├── collection_test.go │ │ ├── integration_test.go │ │ ├── keep_service.go │ │ ├── main.go │ │ ├── main_test.go │ │ ├── metrics.go │ │ └── server.go │ ├── keepproxy/ │ │ ├── keepproxy.go │ │ ├── keepproxy_test.go │ │ ├── pkg-extras/ │ │ │ └── etc/ │ │ │ ├── default/ │ │ │ │ └── keepproxy │ │ │ └── init.d/ │ │ │ └── keepproxy │ │ └── proxy_client.go │ ├── login-sync/ │ │ ├── .gitignore │ │ ├── Gemfile │ │ ├── Rakefile │ │ ├── agpl-3.0.txt │ │ ├── arvados-login-sync.gemspec │ │ ├── bin/ │ │ │ └── arvados-login-sync │ │ └── test/ │ │ ├── binstub_new_user/ │ │ │ └── useradd │ │ ├── stubs.rb │ │ └── test_add_user.rb │ ├── workbench2/ │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── .yarn/ │ │ │ └── releases/ │ │ │ └── yarn-3.2.0.cjs │ │ ├── .yarnrc │ │ ├── .yarnrc.yml │ │ ├── AUTHORS │ │ ├── COPYING │ │ ├── Makefile │ │ ├── README.md │ │ ├── __mocks__/ │ │ │ └── popper.js.js │ │ ├── agpl-3.0.txt │ │ ├── apache-2.0.txt │ │ ├── cc-by-sa-3.0.txt │ │ ├── config/ │ │ │ ├── env.js │ │ │ ├── getHttpsConfig.js │ │ │ ├── jest/ │ │ │ │ ├── babelTransform.js │ │ │ │ ├── cssTransform.js │ │ │ │ └── fileTransform.js │ │ │ ├── modules.js │ │ │ ├── paths.js │ │ │ ├── webpack/ │ │ │ │ └── persistentCache/ │ │ │ │ └── createEnvironmentHash.js │ │ │ ├── webpack.config.js │ │ │ └── webpackDevServer.config.js │ │ ├── cypress/ │ │ │ ├── e2e/ │ │ │ │ ├── auth-action.cy.js │ │ │ │ ├── auth-middleware.cy.js │ │ │ │ ├── banner-tooltip.cy.js │ │ │ │ ├── collection.cy.js │ │ │ │ ├── context-menu.cy.js │ │ │ │ ├── create-workflow.cy.js │ │ │ │ ├── dashboard.cy.js │ │ │ │ ├── delete-multiple-files.cy.js │ │ │ │ ├── details-card.cy.js │ │ │ │ ├── details-panel.cy.js │ │ │ │ ├── external-credentials.cy.js │ │ │ │ ├── favorites.cy.js │ │ │ │ ├── group-manage.cy.js │ │ │ │ ├── login.cy.js │ │ │ │ ├── multiselect-toolbar.cy.js │ │ │ │ ├── page-not-found.cy.js │ │ │ │ ├── process.cy.js │ │ │ │ ├── project.cy.js │ │ │ │ ├── search.cy.js │ │ │ │ ├── sharing.cy.js │ │ │ │ ├── side-panel.cy.js │ │ │ │ ├── trash.cy.js │ │ │ │ ├── user-preferences.cy.js │ │ │ │ ├── user-profile.cy.js │ │ │ │ ├── virtual-machine-admin.cy.js │ │ │ │ └── workflow.cy.js │ │ │ ├── fixtures/ │ │ │ │ ├── .gitkeep │ │ │ │ ├── files/ │ │ │ │ │ ├── banner.html │ │ │ │ │ └── tooltips.txt │ │ │ │ ├── webdav-propfind-outputs.xml │ │ │ │ ├── workflow-with-optional-inputs.yaml │ │ │ │ ├── workflow_directory_array.yaml │ │ │ │ ├── workflow_with_array_fields.yaml │ │ │ │ ├── workflow_with_default_array_fields.yaml │ │ │ │ └── workflow_with_secret_input.yaml │ │ │ ├── plugins/ │ │ │ │ └── index.js │ │ │ └── support/ │ │ │ ├── commands.js │ │ │ ├── commands.ts │ │ │ ├── component-index.html │ │ │ ├── component.ts │ │ │ ├── e2e.js │ │ │ ├── index.d.ts │ │ │ └── msToolbarTooltips.js │ │ ├── cypress.config.ts │ │ ├── etc/ │ │ │ └── arvados/ │ │ │ └── workbench2/ │ │ │ └── workbench2.example.json │ │ ├── package.json │ │ ├── public/ │ │ │ ├── file-viewers-example.json │ │ │ ├── index.html │ │ │ ├── manifest.json │ │ │ └── webshell/ │ │ │ ├── README │ │ │ ├── index.html │ │ │ ├── keyboard.html │ │ │ ├── shell_in_a_box.js │ │ │ └── styles.css │ │ ├── scripts/ │ │ │ ├── build.js │ │ │ └── start.js │ │ ├── src/ │ │ │ ├── common/ │ │ │ │ ├── app-info.ts │ │ │ │ ├── array-utils.ts │ │ │ │ ├── codes.ts │ │ │ │ ├── config.ts │ │ │ │ ├── custom-theme.ts │ │ │ │ ├── file.ts │ │ │ │ ├── formatters.cy.js │ │ │ │ ├── formatters.ts │ │ │ │ ├── frozen-resources.ts │ │ │ │ ├── getuser.ts │ │ │ │ ├── html-sanitize.ts │ │ │ │ ├── labels.ts │ │ │ │ ├── link-update-name.ts │ │ │ │ ├── menu-action-set-actions.ts │ │ │ │ ├── objects.ts │ │ │ │ ├── plugintypes.ts │ │ │ │ ├── redirect-to.ts │ │ │ │ ├── regexp.ts │ │ │ │ ├── resource-to-menu-kind.ts │ │ │ │ ├── resource-to-menukind.cy.js │ │ │ │ ├── service-provider.ts │ │ │ │ ├── unionize.ts │ │ │ │ ├── url.cy.js │ │ │ │ ├── url.ts │ │ │ │ ├── use-async-interval.cy.js │ │ │ │ ├── use-async-interval.ts │ │ │ │ ├── usePrevious.tsx │ │ │ │ ├── useStateWithValidation.ts │ │ │ │ ├── webdav.cy.js │ │ │ │ ├── webdav.ts │ │ │ │ └── xml.ts │ │ │ ├── components/ │ │ │ │ ├── autocomplete/ │ │ │ │ │ └── autocomplete.tsx │ │ │ │ ├── breadcrumbs/ │ │ │ │ │ ├── breadcrumbs.cy.js │ │ │ │ │ └── breadcrumbs.tsx │ │ │ │ ├── checkbox-field/ │ │ │ │ │ └── checkbox-field.tsx │ │ │ │ ├── chips/ │ │ │ │ │ └── chips.tsx │ │ │ │ ├── chips-input/ │ │ │ │ │ └── chips-input.tsx │ │ │ │ ├── code-snippet/ │ │ │ │ │ ├── code-snippet.tsx │ │ │ │ │ └── virtual-code-snippet.tsx │ │ │ │ ├── collection-panel-files/ │ │ │ │ │ └── collection-panel-files.tsx │ │ │ │ ├── column-selector/ │ │ │ │ │ ├── column-selector.cy.js │ │ │ │ │ └── column-selector.tsx │ │ │ │ ├── conditional-tabs/ │ │ │ │ │ ├── conditional-tabs.cy.js │ │ │ │ │ └── conditional-tabs.tsx │ │ │ │ ├── confirmation-dialog/ │ │ │ │ │ └── confirmation-dialog.tsx │ │ │ │ ├── context-menu/ │ │ │ │ │ └── context-menu.tsx │ │ │ │ ├── copy-to-clipboard/ │ │ │ │ │ └── copy-result-to-clipboard.ts │ │ │ │ ├── copy-to-clipboard-snackbar/ │ │ │ │ │ └── copy-to-clipboard-snackbar.tsx │ │ │ │ ├── dashboard/ │ │ │ │ │ ├── dashboard-item-row.tsx │ │ │ │ │ ├── dashboard.tsx │ │ │ │ │ ├── favorite-pins/ │ │ │ │ │ │ ├── favorite-pins-item.tsx │ │ │ │ │ │ └── favorite-pins-section.tsx │ │ │ │ │ ├── recent-workflow-runs.tsx │ │ │ │ │ └── recently-visited.tsx │ │ │ │ ├── data-explorer/ │ │ │ │ │ ├── data-explorer.cy.js │ │ │ │ │ └── data-explorer.tsx │ │ │ │ ├── data-table/ │ │ │ │ │ ├── data-column.ts │ │ │ │ │ ├── data-table.cy.js │ │ │ │ │ └── data-table.tsx │ │ │ │ ├── data-table-default-view/ │ │ │ │ │ └── data-table-default-view.tsx │ │ │ │ ├── data-table-filters/ │ │ │ │ │ ├── data-table-filters-popover.cy.js │ │ │ │ │ ├── data-table-filters-popover.tsx │ │ │ │ │ ├── data-table-filters-tree.tsx │ │ │ │ │ └── data-table-filters.ts │ │ │ │ ├── data-table-multiselect-popover/ │ │ │ │ │ └── data-table-multiselect-popover.tsx │ │ │ │ ├── date-picker/ │ │ │ │ │ ├── date-picker.cy.js │ │ │ │ │ └── date-picker.tsx │ │ │ │ ├── default-code-snippet/ │ │ │ │ │ ├── default-code-snippet.tsx │ │ │ │ │ └── default-virtual-code-snippet.tsx │ │ │ │ ├── default-view/ │ │ │ │ │ └── default-view.tsx │ │ │ │ ├── details-attribute/ │ │ │ │ │ └── details-attribute.tsx │ │ │ │ ├── dialog-actions/ │ │ │ │ │ └── dialog-actions.tsx │ │ │ │ ├── dialog-form/ │ │ │ │ │ ├── dialog-form.tsx │ │ │ │ │ └── dialog-text-field.tsx │ │ │ │ ├── dropdown-menu/ │ │ │ │ │ ├── dropdown-menu.cy.js │ │ │ │ │ └── dropdown-menu.tsx │ │ │ │ ├── expand-chevron-right/ │ │ │ │ │ └── expand-chevron-right.tsx │ │ │ │ ├── file-tree/ │ │ │ │ │ ├── file-thumbnail.cy.js │ │ │ │ │ ├── file-thumbnail.tsx │ │ │ │ │ ├── file-tree-data.ts │ │ │ │ │ └── file-tree-item.tsx │ │ │ │ ├── file-upload/ │ │ │ │ │ ├── file-upload.tsx │ │ │ │ │ └── upload-input.tsx │ │ │ │ ├── float-input/ │ │ │ │ │ └── float-input.tsx │ │ │ │ ├── form-dialog/ │ │ │ │ │ └── form-dialog.tsx │ │ │ │ ├── form-field/ │ │ │ │ │ └── form-field.tsx │ │ │ │ ├── icon/ │ │ │ │ │ └── icon.tsx │ │ │ │ ├── int-input/ │ │ │ │ │ └── int-input.tsx │ │ │ │ ├── list-item-text-icon/ │ │ │ │ │ └── list-item-text-icon.tsx │ │ │ │ ├── loading/ │ │ │ │ │ ├── circular-suspense.tsx │ │ │ │ │ ├── inline-pulser.tsx │ │ │ │ │ └── three-dots.tsx │ │ │ │ ├── loading-indicator/ │ │ │ │ │ └── loading-indicator.tsx │ │ │ │ ├── multi-panel-view/ │ │ │ │ │ ├── multi-panel-view.cy.js │ │ │ │ │ └── multi-panel-view.tsx │ │ │ │ ├── multiselect-toolbar/ │ │ │ │ │ ├── MultiselectToolbar.tsx │ │ │ │ │ ├── MultiselectToolbar.utils.ts │ │ │ │ │ ├── ms-toolbar-overflow-menu.tsx │ │ │ │ │ └── ms-toolbar-overflow-wrapper.tsx │ │ │ │ ├── overview-panel/ │ │ │ │ │ └── overview-panel.tsx │ │ │ │ ├── popover/ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ ├── popover.cy.js │ │ │ │ │ └── popover.tsx │ │ │ │ ├── progress-button/ │ │ │ │ │ └── progress-button.tsx │ │ │ │ ├── radio-field/ │ │ │ │ │ └── radio-field.tsx │ │ │ │ ├── refresh-button/ │ │ │ │ │ ├── refresh-button.cy.js │ │ │ │ │ └── refresh-button.tsx │ │ │ │ ├── rich-text-editor-link/ │ │ │ │ │ └── rich-text-editor-link.tsx │ │ │ │ ├── search-input/ │ │ │ │ │ ├── search-input.cy.js │ │ │ │ │ └── search-input.tsx │ │ │ │ ├── select-field/ │ │ │ │ │ └── select-field.tsx │ │ │ │ ├── string-array-input/ │ │ │ │ │ ├── string-array-mui-input.cy.js │ │ │ │ │ └── string-array-mui-input.tsx │ │ │ │ ├── subprocess-filter/ │ │ │ │ │ └── subprocess-filter.tsx │ │ │ │ ├── switch-field/ │ │ │ │ │ └── switch-field.tsx │ │ │ │ ├── tabbedList/ │ │ │ │ │ └── tabbed-list.tsx │ │ │ │ ├── text-field/ │ │ │ │ │ └── text-field.tsx │ │ │ │ ├── tree/ │ │ │ │ │ ├── tree.cy.js │ │ │ │ │ ├── tree.tsx │ │ │ │ │ └── virtual-tree.tsx │ │ │ │ ├── warning/ │ │ │ │ │ └── warning.tsx │ │ │ │ ├── warning-collection/ │ │ │ │ │ └── warning-collection.tsx │ │ │ │ └── workflow-inputs-form/ │ │ │ │ ├── validators.ts │ │ │ │ └── workflow-input.tsx │ │ │ ├── cypress/ │ │ │ │ ├── mocks/ │ │ │ │ │ └── service-provider.ts │ │ │ │ └── utils/ │ │ │ │ └── contains-action-subset.ts │ │ │ ├── index.css │ │ │ ├── index.tsx │ │ │ ├── lib/ │ │ │ │ ├── cwl-svg/ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ └── styles/ │ │ │ │ │ │ ├── _variables.scss │ │ │ │ │ │ ├── style.css │ │ │ │ │ │ ├── style.scss │ │ │ │ │ │ ├── theme.css │ │ │ │ │ │ ├── theme.scss │ │ │ │ │ │ └── themes/ │ │ │ │ │ │ └── rabix-dark/ │ │ │ │ │ │ ├── _variables.scss │ │ │ │ │ │ ├── theme.css │ │ │ │ │ │ └── theme.scss │ │ │ │ │ ├── behaviors/ │ │ │ │ │ │ └── edge-panning.ts │ │ │ │ │ ├── graph/ │ │ │ │ │ │ ├── connectable.ts │ │ │ │ │ │ ├── edge.ts │ │ │ │ │ │ ├── graph-node.ts │ │ │ │ │ │ ├── io-port.ts │ │ │ │ │ │ ├── step-node.ts │ │ │ │ │ │ ├── template-parser.ts │ │ │ │ │ │ └── workflow.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── arrange/ │ │ │ │ │ │ │ └── arrange.ts │ │ │ │ │ │ ├── deletion/ │ │ │ │ │ │ │ └── deletion.ts │ │ │ │ │ │ ├── edge-hover/ │ │ │ │ │ │ │ └── edge-hover.ts │ │ │ │ │ │ ├── node-move/ │ │ │ │ │ │ │ └── node-move.ts │ │ │ │ │ │ ├── plugin-base.ts │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ ├── port-drag/ │ │ │ │ │ │ │ ├── _variables.scss │ │ │ │ │ │ │ ├── port-drag.ts │ │ │ │ │ │ │ ├── style.css │ │ │ │ │ │ │ ├── style.scss │ │ │ │ │ │ │ ├── theme.css │ │ │ │ │ │ │ ├── theme.dark.css │ │ │ │ │ │ │ ├── theme.dark.scss │ │ │ │ │ │ │ └── theme.scss │ │ │ │ │ │ ├── selection/ │ │ │ │ │ │ │ ├── _variables.scss │ │ │ │ │ │ │ ├── selection.ts │ │ │ │ │ │ │ ├── style.css │ │ │ │ │ │ │ ├── style.scss │ │ │ │ │ │ │ ├── theme.css │ │ │ │ │ │ │ ├── theme.dark.css │ │ │ │ │ │ │ ├── theme.dark.scss │ │ │ │ │ │ │ └── theme.scss │ │ │ │ │ │ ├── validate/ │ │ │ │ │ │ │ ├── validate.css │ │ │ │ │ │ │ ├── validate.scss │ │ │ │ │ │ │ └── validate.ts │ │ │ │ │ │ └── zoom/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── zoom.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── dom-events.ts │ │ │ │ │ ├── dynamic-stylesheet.ts │ │ │ │ │ ├── event-hub.ts │ │ │ │ │ ├── geometry.ts │ │ │ │ │ ├── html-utils.ts │ │ │ │ │ ├── perf.ts │ │ │ │ │ ├── svg-dumper.ts │ │ │ │ │ └── svg-utils.ts │ │ │ │ ├── resource-properties.cy.js │ │ │ │ └── resource-properties.ts │ │ │ ├── models/ │ │ │ │ ├── api-client-authorization.ts │ │ │ │ ├── client-authorization.ts │ │ │ │ ├── collection-file.ts │ │ │ │ ├── collection.ts │ │ │ │ ├── container-request.ts │ │ │ │ ├── container.ts │ │ │ │ ├── details.ts │ │ │ │ ├── empty.ts │ │ │ │ ├── external-credential.ts │ │ │ │ ├── file-viewers-config.ts │ │ │ │ ├── group.ts │ │ │ │ ├── keep-manifest.ts │ │ │ │ ├── keep-services.ts │ │ │ │ ├── link-account.ts │ │ │ │ ├── link.ts │ │ │ │ ├── log.ts │ │ │ │ ├── mount-types.ts │ │ │ │ ├── node.ts │ │ │ │ ├── object-types.ts │ │ │ │ ├── permission.ts │ │ │ │ ├── process.ts │ │ │ │ ├── project.ts │ │ │ │ ├── repositories.ts │ │ │ │ ├── resource.ts │ │ │ │ ├── runtime-constraints.ts │ │ │ │ ├── runtime-status.ts │ │ │ │ ├── scheduling-parameters.ts │ │ │ │ ├── search-bar.ts │ │ │ │ ├── session.ts │ │ │ │ ├── ssh-key.ts │ │ │ │ ├── tag.ts │ │ │ │ ├── test-utils.ts │ │ │ │ ├── tree.cy.js │ │ │ │ ├── tree.ts │ │ │ │ ├── user.cy.js │ │ │ │ ├── user.ts │ │ │ │ ├── virtual-machines.ts │ │ │ │ ├── vocabulary.cy.js │ │ │ │ ├── vocabulary.ts │ │ │ │ └── workflow.ts │ │ │ ├── plugins/ │ │ │ │ ├── README.md │ │ │ │ ├── blank/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── example/ │ │ │ │ │ ├── exampleComponents.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── root-redirect/ │ │ │ │ └── index.tsx │ │ │ ├── plugins.tsx │ │ │ ├── react-app-env.d.ts │ │ │ ├── routes/ │ │ │ │ ├── route-change-handlers.ts │ │ │ │ └── routes.ts │ │ │ ├── services/ │ │ │ │ ├── ancestors-service/ │ │ │ │ │ └── ancestors-service.ts │ │ │ │ ├── api/ │ │ │ │ │ ├── api-actions.ts │ │ │ │ │ ├── filter-builder.cy.js │ │ │ │ │ ├── filter-builder.ts │ │ │ │ │ ├── order-builder.cy.js │ │ │ │ │ ├── order-builder.ts │ │ │ │ │ ├── url-builder.cy.js │ │ │ │ │ └── url-builder.ts │ │ │ │ ├── api-client-authorization-service/ │ │ │ │ │ ├── api-client-authorization-service.cy.js │ │ │ │ │ └── api-client-authorization-service.ts │ │ │ │ ├── auth-service/ │ │ │ │ │ └── auth-service.ts │ │ │ │ ├── authorized-keys-service/ │ │ │ │ │ └── authorized-keys-service.ts │ │ │ │ ├── collection-service/ │ │ │ │ │ ├── collection-service-files-response.cy.js │ │ │ │ │ ├── collection-service-files-response.ts │ │ │ │ │ ├── collection-service.cy.js │ │ │ │ │ └── collection-service.ts │ │ │ │ ├── common-service/ │ │ │ │ │ ├── common-resource-service.cy.js │ │ │ │ │ ├── common-resource-service.ts │ │ │ │ │ ├── common-service.cy.js │ │ │ │ │ ├── common-service.ts │ │ │ │ │ └── trashable-resource-service.ts │ │ │ │ ├── container-request-service/ │ │ │ │ │ └── container-request-service.ts │ │ │ │ ├── container-service/ │ │ │ │ │ └── container-service.ts │ │ │ │ ├── external-credentials/ │ │ │ │ │ └── external-credentials-service.ts │ │ │ │ ├── favorite-service/ │ │ │ │ │ ├── favorite-service.cy.js │ │ │ │ │ └── favorite-service.ts │ │ │ │ ├── file-viewers-config-service/ │ │ │ │ │ └── file-viewers-config-service.ts │ │ │ │ ├── groups-service/ │ │ │ │ │ ├── groups-service.cy.js │ │ │ │ │ └── groups-service.ts │ │ │ │ ├── keep-service/ │ │ │ │ │ └── keep-service.ts │ │ │ │ ├── link-account-service/ │ │ │ │ │ └── link-account-service.ts │ │ │ │ ├── link-service/ │ │ │ │ │ └── link-service.ts │ │ │ │ ├── log-service/ │ │ │ │ │ ├── log-service.cy.js │ │ │ │ │ └── log-service.ts │ │ │ │ ├── permission-service/ │ │ │ │ │ └── permission-service.ts │ │ │ │ ├── project-service/ │ │ │ │ │ ├── project-service.cy.js │ │ │ │ │ └── project-service.ts │ │ │ │ ├── repositories-service/ │ │ │ │ │ └── repositories-service.ts │ │ │ │ ├── search-service/ │ │ │ │ │ └── search-service.ts │ │ │ │ ├── services.ts │ │ │ │ ├── tag-service/ │ │ │ │ │ └── tag-service.ts │ │ │ │ ├── user-service/ │ │ │ │ │ └── user-service.ts │ │ │ │ ├── virtual-machines-service/ │ │ │ │ │ └── virtual-machines-service.ts │ │ │ │ ├── vocabulary-service/ │ │ │ │ │ └── vocabulary-service.ts │ │ │ │ └── workflow-service/ │ │ │ │ └── workflow-service.ts │ │ │ ├── store/ │ │ │ │ ├── advanced-tab/ │ │ │ │ │ └── advanced-tab.tsx │ │ │ │ ├── all-processes-panel/ │ │ │ │ │ ├── all-processes-panel-action.ts │ │ │ │ │ └── all-processes-panel-middleware-service.ts │ │ │ │ ├── api-client-authorizations/ │ │ │ │ │ ├── api-client-authorizations-actions.ts │ │ │ │ │ └── api-client-authorizations-middleware-service.ts │ │ │ │ ├── app-info/ │ │ │ │ │ ├── app-info-actions.ts │ │ │ │ │ └── app-info-reducer.ts │ │ │ │ ├── auth/ │ │ │ │ │ ├── auth-action-session.ts │ │ │ │ │ ├── auth-action-ssh.ts │ │ │ │ │ ├── auth-action.ts │ │ │ │ │ ├── auth-middleware.ts │ │ │ │ │ ├── auth-reducer.cy.js │ │ │ │ │ ├── auth-reducer.ts │ │ │ │ │ └── cluster-badges.ts │ │ │ │ ├── banner/ │ │ │ │ │ ├── banner-action.ts │ │ │ │ │ └── banner-reducer.ts │ │ │ │ ├── breadcrumbs/ │ │ │ │ │ └── breadcrumbs-actions.ts │ │ │ │ ├── collection-panel/ │ │ │ │ │ ├── collection-panel-action.ts │ │ │ │ │ ├── collection-panel-files/ │ │ │ │ │ │ ├── collection-panel-files-actions.ts │ │ │ │ │ │ ├── collection-panel-files-reducer.cy.js │ │ │ │ │ │ ├── collection-panel-files-reducer.ts │ │ │ │ │ │ └── collection-panel-files-state.ts │ │ │ │ │ └── collection-panel-reducer.ts │ │ │ │ ├── collections/ │ │ │ │ │ ├── collection-copy-actions.ts │ │ │ │ │ ├── collection-create-actions.ts │ │ │ │ │ ├── collection-info-actions.ts │ │ │ │ │ ├── collection-move-actions.ts │ │ │ │ │ ├── collection-partial-copy-actions.ts │ │ │ │ │ ├── collection-partial-move-actions.ts │ │ │ │ │ ├── collection-update-actions.ts │ │ │ │ │ ├── collection-upload-actions.ts │ │ │ │ │ └── collection-version-actions.ts │ │ │ │ ├── collections-content-address-panel/ │ │ │ │ │ ├── collections-content-address-middleware-service.ts │ │ │ │ │ └── collections-content-address-panel-actions.ts │ │ │ │ ├── context-menu/ │ │ │ │ │ ├── context-menu-actions.ts │ │ │ │ │ ├── context-menu-filters.ts │ │ │ │ │ ├── context-menu-reducer.ts │ │ │ │ │ └── context-menu.ts │ │ │ │ ├── copy-dialog/ │ │ │ │ │ └── copy-dialog.ts │ │ │ │ ├── data-explorer/ │ │ │ │ │ ├── data-explorer-action.ts │ │ │ │ │ ├── data-explorer-middleware-service.ts │ │ │ │ │ ├── data-explorer-middleware.cy.js │ │ │ │ │ ├── data-explorer-middleware.ts │ │ │ │ │ ├── data-explorer-reducer.cy.js │ │ │ │ │ └── data-explorer-reducer.ts │ │ │ │ ├── description-dialog/ │ │ │ │ │ └── description-dialog-actions.ts │ │ │ │ ├── details-panel/ │ │ │ │ │ ├── details-panel-action.ts │ │ │ │ │ └── details-panel-reducer.ts │ │ │ │ ├── dialog/ │ │ │ │ │ ├── dialog-actions.ts │ │ │ │ │ ├── dialog-reducer.cy.js │ │ │ │ │ ├── dialog-reducer.ts │ │ │ │ │ └── with-dialog.ts │ │ │ │ ├── external-credentials/ │ │ │ │ │ ├── external-credential-dialog-data.ts │ │ │ │ │ ├── external-credentials-actions.cy.js │ │ │ │ │ ├── external-credentials-actions.ts │ │ │ │ │ └── external-credentials-middleware-service.ts │ │ │ │ ├── favorite-panel/ │ │ │ │ │ ├── favorite-panel-action.ts │ │ │ │ │ └── favorite-panel-middleware-service.ts │ │ │ │ ├── favorite-pins/ │ │ │ │ │ └── favorite-pins-middleware-service.ts │ │ │ │ ├── favorites/ │ │ │ │ │ ├── favorites-actions.ts │ │ │ │ │ ├── favorites-links-reducer.tsx │ │ │ │ │ └── favorites-reducer.ts │ │ │ │ ├── file-selection/ │ │ │ │ │ └── file-selection-actions.ts │ │ │ │ ├── file-uploader/ │ │ │ │ │ ├── file-uploader-actions.ts │ │ │ │ │ └── file-uploader-reducer.ts │ │ │ │ ├── file-viewers/ │ │ │ │ │ ├── file-viewers-actions.ts │ │ │ │ │ └── file-viewers-selectors.ts │ │ │ │ ├── group-details-panel/ │ │ │ │ │ ├── group-details-panel-actions.ts │ │ │ │ │ ├── group-details-panel-members-middleware-service.test.js │ │ │ │ │ ├── group-details-panel-members-middleware-service.ts │ │ │ │ │ ├── group-details-panel-permissions-middleware-service.test.js │ │ │ │ │ └── group-details-panel-permissions-middleware-service.ts │ │ │ │ ├── groups-panel/ │ │ │ │ │ ├── groups-panel-actions.ts │ │ │ │ │ ├── groups-panel-middleware-service.cy.js │ │ │ │ │ └── groups-panel-middleware-service.ts │ │ │ │ ├── keep-services/ │ │ │ │ │ ├── keep-services-actions.ts │ │ │ │ │ └── keep-services-reducer.ts │ │ │ │ ├── link-account-panel/ │ │ │ │ │ ├── link-account-panel-actions.ts │ │ │ │ │ ├── link-account-panel-reducer.cy.js │ │ │ │ │ └── link-account-panel-reducer.ts │ │ │ │ ├── link-panel/ │ │ │ │ │ ├── link-panel-actions.ts │ │ │ │ │ └── link-panel-middleware-service.ts │ │ │ │ ├── move-to-dialog/ │ │ │ │ │ └── move-to-dialog.ts │ │ │ │ ├── multiselect/ │ │ │ │ │ ├── multiselect-actions.tsx │ │ │ │ │ └── multiselect-reducer.tsx │ │ │ │ ├── navigation/ │ │ │ │ │ └── navigation-action.ts │ │ │ │ ├── not-found-panel/ │ │ │ │ │ └── not-found-panel-action.tsx │ │ │ │ ├── open-in-new-tab/ │ │ │ │ │ └── open-in-new-tab.actions.ts │ │ │ │ ├── owner-name/ │ │ │ │ │ ├── owner-name-actions.ts │ │ │ │ │ └── owner-name-reducer.ts │ │ │ │ ├── process-logs-panel/ │ │ │ │ │ ├── process-logs-panel-actions.cy.js │ │ │ │ │ ├── process-logs-panel-actions.ts │ │ │ │ │ ├── process-logs-panel-reducer.ts │ │ │ │ │ └── process-logs-panel.ts │ │ │ │ ├── process-panel/ │ │ │ │ │ ├── process-panel-actions.ts │ │ │ │ │ ├── process-panel-reducer.ts │ │ │ │ │ └── process-panel.ts │ │ │ │ ├── processes/ │ │ │ │ │ ├── process-copy-actions.cy.js │ │ │ │ │ ├── process-copy-actions.ts │ │ │ │ │ ├── process-input-actions.ts │ │ │ │ │ ├── process-update-actions.ts │ │ │ │ │ ├── process.ts │ │ │ │ │ ├── processes-actions.ts │ │ │ │ │ └── processes-middleware-service.ts │ │ │ │ ├── progress-indicator/ │ │ │ │ │ ├── progress-indicator-actions.ts │ │ │ │ │ ├── progress-indicator-reducer.ts │ │ │ │ │ └── with-progress.ts │ │ │ │ ├── project-panel/ │ │ │ │ │ ├── project-panel-action-bind.ts │ │ │ │ │ ├── project-panel-action.ts │ │ │ │ │ ├── project-panel-data-middleware-service.ts │ │ │ │ │ ├── project-panel-run-middleware-service.ts │ │ │ │ │ └── project-panel.ts │ │ │ │ ├── project-tree-picker/ │ │ │ │ │ └── project-tree-picker-actions.ts │ │ │ │ ├── projects/ │ │ │ │ │ ├── project-create-actions.ts │ │ │ │ │ ├── project-lock-actions.ts │ │ │ │ │ ├── project-move-actions.ts │ │ │ │ │ └── project-update-actions.ts │ │ │ │ ├── properties/ │ │ │ │ │ ├── properties-actions.ts │ │ │ │ │ ├── properties-reducer.ts │ │ │ │ │ └── properties.ts │ │ │ │ ├── public-favorites/ │ │ │ │ │ ├── public-favorites-actions.ts │ │ │ │ │ ├── public-favorites-reducer.ts │ │ │ │ │ └── public-favorites.ts │ │ │ │ ├── public-favorites-panel/ │ │ │ │ │ ├── public-favorites-action.ts │ │ │ │ │ └── public-favorites-middleware-service.ts │ │ │ │ ├── recent-wf-runs/ │ │ │ │ │ ├── recent-wf-runs-action.ts │ │ │ │ │ └── recent-wf-runs-middleware-sevice.ts │ │ │ │ ├── recently-visited/ │ │ │ │ │ ├── recently-visited-actions.tsx │ │ │ │ │ └── recently-visited-middleware-services.ts │ │ │ │ ├── redux-saga.ts │ │ │ │ ├── repositories/ │ │ │ │ │ ├── repositories-actions.ts │ │ │ │ │ └── repositories-reducer.ts │ │ │ │ ├── resource-type-filters/ │ │ │ │ │ ├── resource-type-filters.cy.js │ │ │ │ │ └── resource-type-filters.ts │ │ │ │ ├── resources/ │ │ │ │ │ ├── resources-actions.ts │ │ │ │ │ ├── resources-reducer.ts │ │ │ │ │ └── resources.ts │ │ │ │ ├── rich-text-editor-dialog/ │ │ │ │ │ └── rich-text-editor-dialog-actions.tsx │ │ │ │ ├── run-process-panel/ │ │ │ │ │ ├── run-process-panel-actions.cy.js │ │ │ │ │ ├── run-process-panel-actions.ts │ │ │ │ │ └── run-process-panel-reducer.ts │ │ │ │ ├── search-bar/ │ │ │ │ │ ├── search-bar-actions.cy.js │ │ │ │ │ ├── search-bar-actions.ts │ │ │ │ │ ├── search-bar-reducer.ts │ │ │ │ │ ├── search-bar-tree-actions.ts │ │ │ │ │ └── search-query/ │ │ │ │ │ ├── arv-parser.ts │ │ │ │ │ └── parser.ts │ │ │ │ ├── search-results-panel/ │ │ │ │ │ ├── search-results-middleware-service.cy.js │ │ │ │ │ ├── search-results-middleware-service.ts │ │ │ │ │ └── search-results-panel-actions.ts │ │ │ │ ├── selected-resource/ │ │ │ │ │ ├── selected-resource-actions.ts │ │ │ │ │ └── selected-resource-reducer.ts │ │ │ │ ├── shared-with-me-panel/ │ │ │ │ │ ├── shared-with-me-middleware-service.ts │ │ │ │ │ └── shared-with-me-panel-actions.ts │ │ │ │ ├── sharing-dialog/ │ │ │ │ │ ├── sharing-dialog-actions.ts │ │ │ │ │ └── sharing-dialog-types.ts │ │ │ │ ├── side-panel/ │ │ │ │ │ ├── side-panel-action.ts │ │ │ │ │ └── side-panel-reducer.tsx │ │ │ │ ├── side-panel-tree/ │ │ │ │ │ └── side-panel-tree-actions.ts │ │ │ │ ├── snackbar/ │ │ │ │ │ ├── snackbar-actions.ts │ │ │ │ │ └── snackbar-reducer.ts │ │ │ │ ├── store.ts │ │ │ │ ├── subprocess-panel/ │ │ │ │ │ ├── subprocess-panel-actions.ts │ │ │ │ │ └── subprocess-panel-middleware-service.ts │ │ │ │ ├── token-dialog/ │ │ │ │ │ └── token-dialog-actions.tsx │ │ │ │ ├── tooltips/ │ │ │ │ │ └── tooltips-middleware.ts │ │ │ │ ├── trash/ │ │ │ │ │ └── trash-actions.ts │ │ │ │ ├── trash-panel/ │ │ │ │ │ ├── trash-panel-action.ts │ │ │ │ │ └── trash-panel-middleware-service.ts │ │ │ │ ├── tree-picker/ │ │ │ │ │ ├── picker-id.tsx │ │ │ │ │ ├── tree-picker-actions.cy.js │ │ │ │ │ ├── tree-picker-actions.ts │ │ │ │ │ ├── tree-picker-middleware.ts │ │ │ │ │ ├── tree-picker-reducer.cy.js │ │ │ │ │ ├── tree-picker-reducer.ts │ │ │ │ │ └── tree-picker.ts │ │ │ │ ├── user-preferences/ │ │ │ │ │ └── user-preferences-actions.ts │ │ │ │ ├── user-profile/ │ │ │ │ │ ├── user-profile-actions.ts │ │ │ │ │ └── user-profile-groups-middleware-service.ts │ │ │ │ ├── users/ │ │ │ │ │ ├── user-panel-middleware-service.ts │ │ │ │ │ └── users-actions.ts │ │ │ │ ├── virtual-machines/ │ │ │ │ │ ├── virtual-machines-actions.ts │ │ │ │ │ └── virtual-machines-reducer.ts │ │ │ │ ├── vocabulary/ │ │ │ │ │ ├── vocabulary-actions.ts │ │ │ │ │ └── vocabulary-selectors.ts │ │ │ │ ├── workbench/ │ │ │ │ │ └── workbench-actions.ts │ │ │ │ └── workflow-panel/ │ │ │ │ ├── workflow-middleware-service.ts │ │ │ │ ├── workflow-panel-actions.cy.js │ │ │ │ └── workflow-panel-actions.ts │ │ │ ├── validators/ │ │ │ │ ├── is-float.tsx │ │ │ │ ├── is-integer.tsx │ │ │ │ ├── is-number.tsx │ │ │ │ ├── is-remote-host.tsx │ │ │ │ ├── is-rsa-key.cy.js │ │ │ │ ├── is-rsa-key.tsx │ │ │ │ ├── is-valid-file-ops-location.ts │ │ │ │ ├── is-valid-future-date.tsx │ │ │ │ ├── is-zip-filename.tsx │ │ │ │ ├── max-length.tsx │ │ │ │ ├── min-length.tsx │ │ │ │ ├── min.tsx │ │ │ │ ├── optional.tsx │ │ │ │ ├── require.tsx │ │ │ │ ├── valid-name.tsx │ │ │ │ └── validators.tsx │ │ │ ├── views/ │ │ │ │ ├── all-processes-panel/ │ │ │ │ │ ├── all-processes-panel-columns.tsx │ │ │ │ │ └── all-processes-panel.tsx │ │ │ │ ├── api-client-authorization-panel/ │ │ │ │ │ ├── api-client-authorization-panel-columns.tsx │ │ │ │ │ ├── api-client-authorization-panel-root.tsx │ │ │ │ │ └── api-client-authorization-panel.tsx │ │ │ │ ├── collection-content-address-panel/ │ │ │ │ │ ├── collection-content-address-panel-columns.tsx │ │ │ │ │ └── collection-content-address-panel.tsx │ │ │ │ ├── collection-panel/ │ │ │ │ │ ├── collection-attributes.tsx │ │ │ │ │ └── collection-panel.tsx │ │ │ │ ├── external-credentials-panel/ │ │ │ │ │ ├── external-credentials-panel-columns.tsx │ │ │ │ │ └── external-credentials-panel.tsx │ │ │ │ ├── favorite-panel/ │ │ │ │ │ ├── favorite-panel-columns.tsx │ │ │ │ │ └── favorite-panel.tsx │ │ │ │ ├── group-details-panel/ │ │ │ │ │ ├── group-details-panel-columns.tsx │ │ │ │ │ └── group-details-panel.tsx │ │ │ │ ├── groups-panel/ │ │ │ │ │ ├── groups-panel-columns.tsx │ │ │ │ │ └── groups-panel.tsx │ │ │ │ ├── inactive-panel/ │ │ │ │ │ ├── inactive-panel.cy.js │ │ │ │ │ └── inactive-panel.tsx │ │ │ │ ├── instance-types-panel/ │ │ │ │ │ ├── instance-types-panel.cy.js │ │ │ │ │ └── instance-types-panel.tsx │ │ │ │ ├── keep-service-panel/ │ │ │ │ │ ├── keep-service-panel-root.tsx │ │ │ │ │ └── keep-service-panel.tsx │ │ │ │ ├── link-account-panel/ │ │ │ │ │ ├── link-account-panel-root.tsx │ │ │ │ │ └── link-account-panel.tsx │ │ │ │ ├── link-panel/ │ │ │ │ │ ├── link-panel-columns.tsx │ │ │ │ │ ├── link-panel-root.tsx │ │ │ │ │ └── link-panel.tsx │ │ │ │ ├── login-panel/ │ │ │ │ │ ├── login-panel.cy.js │ │ │ │ │ └── login-panel.tsx │ │ │ │ ├── main-panel/ │ │ │ │ │ ├── main-panel-root.tsx │ │ │ │ │ └── main-panel.tsx │ │ │ │ ├── not-found-panel/ │ │ │ │ │ ├── not-found-panel-root.cy.js │ │ │ │ │ ├── not-found-panel-root.tsx │ │ │ │ │ └── not-found-panel.tsx │ │ │ │ ├── process-panel/ │ │ │ │ │ ├── process-attributes.tsx │ │ │ │ │ ├── process-cmd-card.tsx │ │ │ │ │ ├── process-details-attributes.tsx │ │ │ │ │ ├── process-io-card.cy.js │ │ │ │ │ ├── process-io-card.tsx │ │ │ │ │ ├── process-log-card.tsx │ │ │ │ │ ├── process-log-code-snippet.tsx │ │ │ │ │ ├── process-log-form.tsx │ │ │ │ │ ├── process-output-collection-files.ts │ │ │ │ │ ├── process-panel-root.tsx │ │ │ │ │ ├── process-panel.tsx │ │ │ │ │ └── process-resource-card.tsx │ │ │ │ ├── project-panel/ │ │ │ │ │ ├── project-attributes.tsx │ │ │ │ │ ├── project-panel-columns.tsx │ │ │ │ │ ├── project-panel-data.tsx │ │ │ │ │ ├── project-panel-run.tsx │ │ │ │ │ └── project-panel.tsx │ │ │ │ ├── public-favorites-panel/ │ │ │ │ │ ├── public-favorites-panel-columns.tsx │ │ │ │ │ └── public-favorites-panel.tsx │ │ │ │ ├── repositories-panel/ │ │ │ │ │ └── repositories-panel.tsx │ │ │ │ ├── run-process-panel/ │ │ │ │ │ ├── inputs/ │ │ │ │ │ │ ├── boolean-input.tsx │ │ │ │ │ │ ├── directory-array-input.tsx │ │ │ │ │ │ ├── directory-input.tsx │ │ │ │ │ │ ├── enum-input.tsx │ │ │ │ │ │ ├── file-array-input.tsx │ │ │ │ │ │ ├── file-input.tsx │ │ │ │ │ │ ├── float-array-input.tsx │ │ │ │ │ │ ├── float-input.tsx │ │ │ │ │ │ ├── generic-input.tsx │ │ │ │ │ │ ├── int-array-input.tsx │ │ │ │ │ │ ├── int-input.tsx │ │ │ │ │ │ ├── run-wf-project-input.tsx │ │ │ │ │ │ ├── search-project-input.tsx │ │ │ │ │ │ ├── string-array-input.tsx │ │ │ │ │ │ └── string-input.tsx │ │ │ │ │ ├── run-process-advanced-form.tsx │ │ │ │ │ ├── run-process-basic-form.tsx │ │ │ │ │ ├── run-process-first-step.tsx │ │ │ │ │ ├── run-process-inputs-form.tsx │ │ │ │ │ ├── run-process-panel-root.tsx │ │ │ │ │ ├── run-process-panel.tsx │ │ │ │ │ ├── run-process-second-step.tsx │ │ │ │ │ └── workflow-preset-select.tsx │ │ │ │ ├── search-results-panel/ │ │ │ │ │ ├── search-results-panel-columns.tsx │ │ │ │ │ ├── search-results-panel-view.tsx │ │ │ │ │ └── search-results-panel.tsx │ │ │ │ ├── shared-with-me-panel/ │ │ │ │ │ ├── shared-with-me-columns.tsx │ │ │ │ │ └── shared-with-me-panel.tsx │ │ │ │ ├── site-manager-panel/ │ │ │ │ │ ├── site-manager-panel-root.tsx │ │ │ │ │ └── site-manager-panel.tsx │ │ │ │ ├── ssh-key-panel/ │ │ │ │ │ ├── ssh-key-admin-panel.tsx │ │ │ │ │ ├── ssh-key-panel-root.tsx │ │ │ │ │ └── ssh-key-panel.tsx │ │ │ │ ├── subprocess-panel/ │ │ │ │ │ ├── subprocess-panel-columns.tsx │ │ │ │ │ ├── subprocess-panel-root.tsx │ │ │ │ │ └── subprocess-panel.tsx │ │ │ │ ├── trash-panel/ │ │ │ │ │ ├── trash-panel-columns.tsx │ │ │ │ │ └── trash-panel.tsx │ │ │ │ ├── user-panel/ │ │ │ │ │ ├── user-panel-columns.tsx │ │ │ │ │ └── user-panel.tsx │ │ │ │ ├── user-preferences-panel/ │ │ │ │ │ ├── user-preferences-panel-root.tsx │ │ │ │ │ └── user-preferences-panel.tsx │ │ │ │ ├── user-profile-panel/ │ │ │ │ │ ├── user-profile-panel-columns.tsx │ │ │ │ │ ├── user-profile-panel-root.tsx │ │ │ │ │ └── user-profile-panel.tsx │ │ │ │ ├── virtual-machine-panel/ │ │ │ │ │ ├── virtual-machine-admin-panel.tsx │ │ │ │ │ └── virtual-machine-user-panel.tsx │ │ │ │ ├── workbench/ │ │ │ │ │ ├── fed-login.tsx │ │ │ │ │ ├── workbench-loading-screen.tsx │ │ │ │ │ ├── workbench.cy.js │ │ │ │ │ └── workbench.tsx │ │ │ │ └── workflow-panel/ │ │ │ │ ├── registered-workflow-panel.tsx │ │ │ │ ├── workflow-description-card.tsx │ │ │ │ ├── workflow-graph.tsx │ │ │ │ ├── workflow-panel-columns.tsx │ │ │ │ ├── workflow-panel-view.tsx │ │ │ │ ├── workflow-panel.tsx │ │ │ │ ├── workflow-processes-panel-columns.tsx │ │ │ │ ├── workflow-processes-panel-root.tsx │ │ │ │ └── workflow-processes-panel.tsx │ │ │ ├── views-components/ │ │ │ │ ├── add-session/ │ │ │ │ │ └── add-session.tsx │ │ │ │ ├── advanced-tab-dialog/ │ │ │ │ │ ├── advanced-tab-dialog.tsx │ │ │ │ │ └── metadataTab.tsx │ │ │ │ ├── api-client-authorizations-dialog/ │ │ │ │ │ ├── attributes-dialog.tsx │ │ │ │ │ ├── help-dialog.tsx │ │ │ │ │ └── remove-dialog.tsx │ │ │ │ ├── api-token/ │ │ │ │ │ └── api-token.tsx │ │ │ │ ├── auto-logout/ │ │ │ │ │ ├── auto-logout.cy.js │ │ │ │ │ └── auto-logout.tsx │ │ │ │ ├── baner/ │ │ │ │ │ ├── banner.cy.js │ │ │ │ │ └── banner.tsx │ │ │ │ ├── breadcrumbs/ │ │ │ │ │ └── breadcrumbs.ts │ │ │ │ ├── collection-panel-files/ │ │ │ │ │ └── collection-panel-files.ts │ │ │ │ ├── collections-dialog/ │ │ │ │ │ └── restore-version-dialog.ts │ │ │ │ ├── context-menu/ │ │ │ │ │ ├── action-sets/ │ │ │ │ │ │ ├── api-client-authorization-action-set.ts │ │ │ │ │ │ ├── collection-action-set.cy.js │ │ │ │ │ │ ├── collection-action-set.ts │ │ │ │ │ │ ├── collection-files-action-set.ts │ │ │ │ │ │ ├── collection-files-item-action-set.ts │ │ │ │ │ │ ├── collection-files-not-selected-action-set.ts │ │ │ │ │ │ ├── external-credential-action-set.ts │ │ │ │ │ │ ├── favorite-action-set.ts │ │ │ │ │ │ ├── group-action-set.ts │ │ │ │ │ │ ├── group-member-action-set.ts │ │ │ │ │ │ ├── keep-service-action-set.ts │ │ │ │ │ │ ├── link-action-set.ts │ │ │ │ │ │ ├── permission-edit-action-set.ts │ │ │ │ │ │ ├── process-resource-action-set.ts │ │ │ │ │ │ ├── project-action-set.cy.js │ │ │ │ │ │ ├── project-action-set.ts │ │ │ │ │ │ ├── project-admin-action-set.ts │ │ │ │ │ │ ├── repository-action-set.ts │ │ │ │ │ │ ├── resource-action-set.ts │ │ │ │ │ │ ├── root-project-action-set.ts │ │ │ │ │ │ ├── search-results-action-set.ts │ │ │ │ │ │ ├── ssh-key-action-set.ts │ │ │ │ │ │ ├── trash-action-set.ts │ │ │ │ │ │ ├── trashed-collection-action-set.ts │ │ │ │ │ │ ├── user-action-set.ts │ │ │ │ │ │ ├── user-details-action-set.ts │ │ │ │ │ │ ├── virtual-machine-action-set.ts │ │ │ │ │ │ └── workflow-action-set.ts │ │ │ │ │ ├── actions/ │ │ │ │ │ │ ├── collection-copy-to-clipboard-action.tsx │ │ │ │ │ │ ├── collection-file-viewer-action.cy.js │ │ │ │ │ │ ├── collection-file-viewer-action.tsx │ │ │ │ │ │ ├── context-menu-divider.tsx │ │ │ │ │ │ ├── copy-to-clipboard-action.cy.js │ │ │ │ │ │ ├── copy-to-clipboard-action.tsx │ │ │ │ │ │ ├── download-action.cy.js │ │ │ │ │ │ ├── download-action.tsx │ │ │ │ │ │ ├── download-collection-file-action.tsx │ │ │ │ │ │ ├── favorite-action.tsx │ │ │ │ │ │ ├── file-viewer-action.cy.js │ │ │ │ │ │ ├── file-viewer-action.tsx │ │ │ │ │ │ ├── file-viewer-actions.tsx │ │ │ │ │ │ ├── helpers.cy.js │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ ├── lock-action.tsx │ │ │ │ │ │ ├── public-favorite-action.tsx │ │ │ │ │ │ └── trash-action.tsx │ │ │ │ │ ├── component-item-styles.ts │ │ │ │ │ ├── context-menu-action-set.ts │ │ │ │ │ ├── context-menu.tsx │ │ │ │ │ └── menu-item-sort.ts │ │ │ │ ├── data-explorer/ │ │ │ │ │ ├── data-explorer.tsx │ │ │ │ │ ├── renderers.cy.js │ │ │ │ │ ├── renderers.tsx │ │ │ │ │ └── with-resources.tsx │ │ │ │ ├── description-dialog/ │ │ │ │ │ └── description-dialog.tsx │ │ │ │ ├── details-card/ │ │ │ │ │ ├── collection-details-card.tsx │ │ │ │ │ ├── description-preview.tsx │ │ │ │ │ ├── details-card-root.tsx │ │ │ │ │ ├── process-details-card.tsx │ │ │ │ │ ├── project-details-card.tsx │ │ │ │ │ ├── service-menu.cy.js │ │ │ │ │ ├── service-menu.tsx │ │ │ │ │ ├── user-details-card.tsx │ │ │ │ │ └── workflow-details-card.tsx │ │ │ │ ├── details-panel/ │ │ │ │ │ ├── collection-details.tsx │ │ │ │ │ ├── details-data.tsx │ │ │ │ │ ├── details-panel.tsx │ │ │ │ │ ├── empty-details.tsx │ │ │ │ │ ├── file-details.tsx │ │ │ │ │ ├── process-details.tsx │ │ │ │ │ ├── project-details.tsx │ │ │ │ │ ├── root-project-details.tsx │ │ │ │ │ └── workflow-details.tsx │ │ │ │ ├── dialog-copy/ │ │ │ │ │ ├── dialog-collection-partial-copy-to-existing-collection.tsx │ │ │ │ │ ├── dialog-collection-partial-copy-to-new-collection.tsx │ │ │ │ │ ├── dialog-collection-partial-copy-to-separate-collections.tsx │ │ │ │ │ ├── dialog-copy.tsx │ │ │ │ │ └── dialog-process-rerun.tsx │ │ │ │ ├── dialog-create/ │ │ │ │ │ ├── create-external-credential-dialog.ts │ │ │ │ │ ├── dialog-collection-create.tsx │ │ │ │ │ ├── dialog-external-credential-create.tsx │ │ │ │ │ ├── dialog-project-create.tsx │ │ │ │ │ ├── dialog-repository-create.tsx │ │ │ │ │ ├── dialog-ssh-key-create.tsx │ │ │ │ │ └── dialog-user-create.tsx │ │ │ │ ├── dialog-forms/ │ │ │ │ │ ├── create-repository-dialog.ts │ │ │ │ │ ├── create-ssh-key-dialog.ts │ │ │ │ │ ├── create-user-dialog.ts │ │ │ │ │ ├── update-external-credential-dialog.ts │ │ │ │ │ └── update-process-dialog.ts │ │ │ │ ├── dialog-move/ │ │ │ │ │ ├── dialog-collection-partial-move-to-existing-collection.tsx │ │ │ │ │ ├── dialog-collection-partial-move-to-new-collection.tsx │ │ │ │ │ ├── dialog-collection-partial-move-to-separate-collections.tsx │ │ │ │ │ ├── dialog-move-collection.tsx │ │ │ │ │ └── dialog-move-project.tsx │ │ │ │ ├── dialog-remove/ │ │ │ │ │ └── external-credential-remove-dialog.tsx │ │ │ │ ├── dialog-update/ │ │ │ │ │ ├── dialog-collection-update.tsx │ │ │ │ │ ├── dialog-external-credential-update.tsx │ │ │ │ │ ├── dialog-process-update.tsx │ │ │ │ │ └── dialog-project-update.tsx │ │ │ │ ├── dialog-upload/ │ │ │ │ │ └── dialog-collection-files-upload.tsx │ │ │ │ ├── download-files-as-zip/ │ │ │ │ │ └── download-files-as-zip.tsx │ │ │ │ ├── favorite-star/ │ │ │ │ │ └── favorite-star.tsx │ │ │ │ ├── file-remove-dialog/ │ │ │ │ │ ├── file-remove-dialog.ts │ │ │ │ │ └── multiple-files-remove-dialog.ts │ │ │ │ ├── file-uploader/ │ │ │ │ │ └── file-uploader.tsx │ │ │ │ ├── form-fields/ │ │ │ │ │ ├── collection-form-fields.tsx │ │ │ │ │ ├── external-credential-form-fields.tsx │ │ │ │ │ ├── process-form-fields.tsx │ │ │ │ │ ├── project-form-fields.tsx │ │ │ │ │ ├── repository-form-fields.tsx │ │ │ │ │ ├── resource-form-fields.tsx │ │ │ │ │ ├── search-bar-form-fields.tsx │ │ │ │ │ ├── ssh-key-form-fields.tsx │ │ │ │ │ └── user-form-fields.tsx │ │ │ │ ├── groups-dialog/ │ │ │ │ │ ├── attributes-dialog.tsx │ │ │ │ │ ├── member-attributes-dialog.tsx │ │ │ │ │ ├── member-remove-dialog.ts │ │ │ │ │ └── remove-dialog.ts │ │ │ │ ├── keep-services-dialog/ │ │ │ │ │ ├── attributes-dialog.tsx │ │ │ │ │ └── remove-dialog.tsx │ │ │ │ ├── links-dialog/ │ │ │ │ │ ├── attributes-dialog.tsx │ │ │ │ │ └── remove-dialog.tsx │ │ │ │ ├── login-form/ │ │ │ │ │ └── login-form.tsx │ │ │ │ ├── main-app-bar/ │ │ │ │ │ ├── account-menu.cy.js │ │ │ │ │ ├── account-menu.tsx │ │ │ │ │ ├── admin-menu.tsx │ │ │ │ │ ├── anonymous-menu.tsx │ │ │ │ │ ├── help-menu.tsx │ │ │ │ │ ├── main-app-bar.tsx │ │ │ │ │ └── notifications-menu.tsx │ │ │ │ ├── main-content-bar/ │ │ │ │ │ └── main-content-bar.tsx │ │ │ │ ├── not-found-dialog/ │ │ │ │ │ └── not-found-dialog.tsx │ │ │ │ ├── process-cancel-dialog/ │ │ │ │ │ └── process-cancel-dialog.tsx │ │ │ │ ├── process-input-dialog/ │ │ │ │ │ └── process-input-dialog.tsx │ │ │ │ ├── process-remove-dialog/ │ │ │ │ │ └── process-remove-dialog.tsx │ │ │ │ ├── process-runtime-status/ │ │ │ │ │ └── process-runtime-status.tsx │ │ │ │ ├── projects-tree-picker/ │ │ │ │ │ ├── favorites-tree-picker.tsx │ │ │ │ │ ├── generic-projects-tree-picker.tsx │ │ │ │ │ ├── home-tree-picker.tsx │ │ │ │ │ ├── projects-tree-picker.tsx │ │ │ │ │ ├── public-favorites-tree-picker.tsx │ │ │ │ │ ├── search-projects-picker.tsx │ │ │ │ │ ├── shared-tree-picker.tsx │ │ │ │ │ └── tree-picker-field.tsx │ │ │ │ ├── property-chips/ │ │ │ │ │ ├── get-property-chips.cy.js │ │ │ │ │ └── get-property-chips.tsx │ │ │ │ ├── remove-dialog/ │ │ │ │ │ └── remove-dialog.tsx │ │ │ │ ├── rename-file-dialog/ │ │ │ │ │ └── rename-file-dialog.tsx │ │ │ │ ├── repositories-sample-git-dialog/ │ │ │ │ │ └── repositories-sample-git-dialog.tsx │ │ │ │ ├── repository-attributes-dialog/ │ │ │ │ │ └── repository-attributes-dialog.tsx │ │ │ │ ├── repository-remove-dialog/ │ │ │ │ │ └── repository-remove-dialog.ts │ │ │ │ ├── resource-properties-form/ │ │ │ │ │ ├── property-chip.tsx │ │ │ │ │ ├── property-field-common.tsx │ │ │ │ │ ├── property-key-field.tsx │ │ │ │ │ ├── property-value-field.tsx │ │ │ │ │ └── resource-properties-form.tsx │ │ │ │ ├── rich-text-editor-dialog/ │ │ │ │ │ └── rich-text-editor-dialog.tsx │ │ │ │ ├── run-process-dialog/ │ │ │ │ │ └── change-workflow-dialog.ts │ │ │ │ ├── search-bar/ │ │ │ │ │ ├── search-bar-advanced-properties-view.tsx │ │ │ │ │ ├── search-bar-advanced-view.tsx │ │ │ │ │ ├── search-bar-autocomplete-view.tsx │ │ │ │ │ ├── search-bar-basic-view.tsx │ │ │ │ │ ├── search-bar-recent-queries.tsx │ │ │ │ │ ├── search-bar-save-queries.tsx │ │ │ │ │ ├── search-bar-view.cy.js │ │ │ │ │ ├── search-bar-view.tsx │ │ │ │ │ └── search-bar.tsx │ │ │ │ ├── sharing-dialog/ │ │ │ │ │ ├── participant-select.tsx │ │ │ │ │ ├── permission-select.tsx │ │ │ │ │ ├── select-item.tsx │ │ │ │ │ ├── sharing-dialog-component.cy.js │ │ │ │ │ ├── sharing-dialog-component.tsx │ │ │ │ │ ├── sharing-dialog.tsx │ │ │ │ │ ├── sharing-invitation-form-component.tsx │ │ │ │ │ ├── sharing-invitation-form.tsx │ │ │ │ │ ├── sharing-management-form-component.tsx │ │ │ │ │ ├── sharing-management-form.tsx │ │ │ │ │ ├── sharing-public-access-form-component.tsx │ │ │ │ │ ├── sharing-public-access-form.tsx │ │ │ │ │ ├── sharing-urls-component.cy.js │ │ │ │ │ ├── sharing-urls-component.tsx │ │ │ │ │ ├── sharing-urls.tsx │ │ │ │ │ └── visibility-level-select.tsx │ │ │ │ ├── side-panel/ │ │ │ │ │ ├── side-panel-collapsed.tsx │ │ │ │ │ └── side-panel.tsx │ │ │ │ ├── side-panel-button/ │ │ │ │ │ ├── side-panel-button.cy.js │ │ │ │ │ └── side-panel-button.tsx │ │ │ │ ├── side-panel-toggle/ │ │ │ │ │ └── side-panel-toggle.tsx │ │ │ │ ├── side-panel-tree/ │ │ │ │ │ └── side-panel-tree.tsx │ │ │ │ ├── snackbar/ │ │ │ │ │ └── snackbar.tsx │ │ │ │ ├── ssh-keys-dialog/ │ │ │ │ │ ├── attributes-dialog.tsx │ │ │ │ │ ├── public-key-dialog.tsx │ │ │ │ │ └── remove-dialog.tsx │ │ │ │ ├── token-dialog/ │ │ │ │ │ ├── token-dialog.cy.js │ │ │ │ │ └── token-dialog.tsx │ │ │ │ ├── tree-picker/ │ │ │ │ │ ├── tree-picker.cy.js │ │ │ │ │ └── tree-picker.ts │ │ │ │ ├── user-dialog/ │ │ │ │ │ ├── activate-dialog.tsx │ │ │ │ │ ├── attributes-dialog.tsx │ │ │ │ │ ├── deactivate-dialog.tsx │ │ │ │ │ └── setup-dialog.tsx │ │ │ │ ├── virtual-machines-dialog/ │ │ │ │ │ ├── add-login-dialog.tsx │ │ │ │ │ ├── attributes-dialog.tsx │ │ │ │ │ ├── group-array-input.tsx │ │ │ │ │ ├── remove-dialog.tsx │ │ │ │ │ └── remove-login-dialog.tsx │ │ │ │ ├── webdav-s3-dialog/ │ │ │ │ │ ├── webdav-s3-dialog.cy.js │ │ │ │ │ └── webdav-s3-dialog.tsx │ │ │ │ └── workflow-remove-dialog/ │ │ │ │ └── workflow-remove-dialog.tsx │ │ │ └── websocket/ │ │ │ ├── resource-event-message.ts │ │ │ ├── websocket-service.cy.js │ │ │ ├── websocket-service.ts │ │ │ └── websocket.ts │ │ ├── tools/ │ │ │ ├── arvados_config.yml │ │ │ ├── example-vocabulary.json │ │ │ ├── run-integration-tests.sh │ │ │ └── setup-docker-volume.sh │ │ ├── tsconfig.json │ │ ├── tsconfig.prod.json │ │ ├── tsconfig.test.json │ │ ├── tslint.json │ │ ├── typings/ │ │ │ ├── global.d.ts │ │ │ └── images.d.ts │ │ └── version-at-commit.sh │ └── ws/ │ ├── doc.go │ ├── event.go │ ├── event_source.go │ ├── event_source_test.go │ ├── event_test.go │ ├── gocheck_test.go │ ├── handler.go │ ├── permission.go │ ├── permission_test.go │ ├── router.go │ ├── service.go │ ├── service_test.go │ ├── session.go │ ├── session_v0.go │ ├── session_v0_test.go │ └── session_v1.go └── tools/ ├── ansible/ │ ├── README.md │ ├── build-compute-image.yml │ ├── build-debian-nspawn-vm.yml │ ├── build-docker-image.yml │ ├── examples/ │ │ ├── full-cluster-inventory.yml │ │ ├── simple-cluster-config.yml │ │ └── simple-cluster-inventory.yml │ ├── files/ │ │ ├── default-test-config.yml │ │ └── development-docker-images.yml │ ├── filter_plugins/ │ │ └── arvados.py │ ├── group_vars/ │ │ ├── all/ │ │ │ └── vars.yml │ │ └── arvados_postgresql/ │ │ └── database.yml │ ├── install-ansible.sh │ ├── install-arvados-cluster.yml │ ├── install-dev-tools.yml │ ├── privilege-nspawn-vm.yml │ ├── requirements.txt │ ├── requirements.yml │ ├── roles/ │ │ ├── arvados_alloy/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_ansible/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_api/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ └── cluster.conf.j2 │ │ ├── arvados_apt/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ └── arvados.pref.j2 │ │ ├── arvados_aws_secret/ │ │ │ ├── files/ │ │ │ │ └── arvados-aws-secret.sh │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ └── arvados_aws_secret.service.j2 │ │ ├── arvados_compute/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_controller/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_database/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_dispatch_cloud/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_dispatch_local/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_docker/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── files/ │ │ │ │ └── arvados-docker.pref │ │ │ └── tasks/ │ │ │ ├── apt.yml │ │ │ ├── dnf.yml │ │ │ └── main.yml │ │ ├── arvados_go/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_grafana/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_keep_web/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_keepbalance/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_keepproxy/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_keepstore/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_loki/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_nginx_base/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── handlers/ │ │ │ │ └── main.yml │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ ├── arvados-nginx-http.conf.j2 │ │ │ └── nginx-core.conf.j2 │ │ ├── arvados_nginx_frontend/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── files/ │ │ │ │ └── aws_secret.conf │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ ├── tasks/ │ │ │ │ ├── install_cert_file.yml │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ ├── arvados-nginx-controller.conf.j2 │ │ │ ├── arvados-nginx-keepproxy.conf.j2 │ │ │ ├── arvados-nginx-site.conf.j2 │ │ │ ├── arvados-nginx-webdav.conf.j2 │ │ │ ├── arvados-nginx-websocket.conf.j2 │ │ │ └── arvados-nginx-workbench2.conf.j2 │ │ ├── arvados_nodejs/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_postgresql/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ ├── tasks/ │ │ │ │ ├── main.yml │ │ │ │ └── setup_service.yml │ │ │ └── templates/ │ │ │ └── arvados-ansible.conf.j2 │ │ ├── arvados_prometheus/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_python/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ ├── install_from_source.yml │ │ │ └── main.yml │ │ ├── arvados_ruby/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ ├── tasks/ │ │ │ │ ├── install_from_source.yml │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ └── bundler.sh.j2 │ │ ├── arvados_service/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_shell/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── files/ │ │ │ │ ├── arvados-login-sync.service │ │ │ │ └── arvados-login-sync.timer │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ ├── tasks/ │ │ │ │ ├── login_sync.yml │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ └── login-sync.env.j2 │ │ ├── arvados_websocket/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── arvados_workbench/ │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── compute_amd_rocm/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── files/ │ │ │ │ └── arvados-amd-rocm.pref │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── compute_docker/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── handlers/ │ │ │ │ └── main.yml │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── compute_encrypt_tmp/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── files/ │ │ │ │ ├── arvados-ensure-encrypted-partitions.service │ │ │ │ ├── ebs-autoscale.conf │ │ │ │ └── ensure-encrypted-partitions.sh │ │ │ └── tasks/ │ │ │ ├── aws_ebs.yml │ │ │ └── main.yml │ │ ├── compute_nvidia/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── files/ │ │ │ │ └── arvados-nvidia.pref │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── compute_singularity/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── compute_user/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── distro_apt/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ ├── handlers/ │ │ │ │ └── main.yml │ │ │ ├── tasks/ │ │ │ │ └── main.yml │ │ │ └── templates/ │ │ │ └── 65arvados-ansible-unattended-upgrades.j2 │ │ ├── distro_bootstrap/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── distro_dnf/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── distro_grafana/ │ │ │ ├── files/ │ │ │ │ └── arvados-grafana.pref │ │ │ ├── meta/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ ├── distro_packages/ │ │ │ ├── defaults/ │ │ │ │ └── main.yml │ │ │ └── tasks/ │ │ │ └── main.yml │ │ └── distro_postgresql/ │ │ ├── defaults/ │ │ │ └── main.yml │ │ ├── meta/ │ │ │ └── main.yml │ │ └── tasks/ │ │ └── main.yml │ └── setup-package-tests.yml ├── cluster-activity/ │ ├── MANIFEST.in │ ├── README.rst │ ├── agpl-3.0.txt │ ├── arvados_cluster_activity/ │ │ ├── __init__.py │ │ ├── dygraphs.js │ │ ├── main.py │ │ ├── prometheus.py │ │ ├── report.py │ │ ├── reportchart.py │ │ ├── sortable.js │ │ └── synchronizer.js │ ├── arvados_version.py │ ├── cluster-activity.cwl │ ├── fpm-info.sh │ ├── pyproject.toml │ ├── pytest.ini │ ├── setup.py │ └── tests/ │ ├── test_prometheus.py │ ├── test_report.csv │ ├── test_report.html │ └── test_report.py ├── compute-images/ │ ├── .gitignore │ ├── README.md │ ├── aws_config.example.json │ ├── aws_template.json │ ├── azure_config.example.json │ ├── azure_template.json │ └── host_config.example.yml ├── copy-tutorial/ │ └── copy-tutorial.sh ├── crunchstat-summary/ │ ├── MANIFEST.in │ ├── README.rst │ ├── agpl-3.0.txt │ ├── arvados_version.py │ ├── bin/ │ │ └── crunchstat-summary │ ├── crunchstat_summary/ │ │ ├── __init__.py │ │ ├── command.py │ │ ├── dygraphs.js │ │ ├── dygraphs.py │ │ ├── reader.py │ │ ├── summarizer.py │ │ └── synchronizer.js │ ├── fpm-info.sh │ ├── pyproject.toml │ ├── setup.py │ └── tests/ │ ├── __init__.py │ ├── container_9tee4-dz642-lymtndkpy39eibk.txt.gz.report │ ├── container_request_9tee4-xvhdp-kk0ja1cl8b2kr1y-arv-mount.txt.gz.report │ ├── container_request_9tee4-xvhdp-kk0ja1cl8b2kr1y-crunchstat.txt.gz.report │ ├── container_request_9tee4-xvhdp-kk0ja1cl8b2kr1y.txt.gz.report │ ├── crunchstat_error_messages.txt │ └── test_examples.py ├── jenkins/ │ └── submit-ci-dev.sh ├── keep-xref/ │ └── keep-xref.py ├── python-metapackage/ │ ├── LICENSE-2.0.txt │ ├── README.md │ ├── agpl-3.0.txt │ ├── arvados_version.py │ ├── pyproject.toml │ └── setup.py ├── salt-install/ │ ├── .gitignore │ ├── README.md │ ├── Vagrantfile │ ├── common.sh │ ├── config_examples/ │ │ ├── multi_host/ │ │ │ └── aws/ │ │ │ ├── README.md │ │ │ ├── certs/ │ │ │ │ └── README.md │ │ │ ├── dashboards/ │ │ │ │ ├── arvados_logs.json │ │ │ │ ├── arvados_overview.json │ │ │ │ ├── node-exporter-full_rev30.json │ │ │ │ ├── postgresql_exporter.json │ │ │ │ └── ssl-certificate-monitor.json │ │ │ ├── pillars/ │ │ │ │ ├── alloy.sls │ │ │ │ ├── arvados.sls │ │ │ │ ├── aws_credentials.sls │ │ │ │ ├── docker.sls │ │ │ │ ├── grafana.sls │ │ │ │ ├── letsencrypt.sls │ │ │ │ ├── letsencrypt_balancer_configuration.sls │ │ │ │ ├── letsencrypt_controller_configuration.sls │ │ │ │ ├── letsencrypt_grafana_configuration.sls │ │ │ │ ├── letsencrypt_keepproxy_configuration.sls │ │ │ │ ├── letsencrypt_keepweb_configuration.sls │ │ │ │ ├── letsencrypt_loki_configuration.sls │ │ │ │ ├── letsencrypt_prometheus_configuration.sls │ │ │ │ ├── letsencrypt_webshell_configuration.sls │ │ │ │ ├── letsencrypt_websocket_configuration.sls │ │ │ │ ├── letsencrypt_workbench2_configuration.sls │ │ │ │ ├── letsencrypt_workbench_configuration.sls │ │ │ │ ├── locale.sls │ │ │ │ ├── logrotate.sls │ │ │ │ ├── logrotate_api.sls │ │ │ │ ├── logrotate_wb1.sls │ │ │ │ ├── loki.sls │ │ │ │ ├── nginx.sls │ │ │ │ ├── nginx_api_configuration.sls │ │ │ │ ├── nginx_balancer_configuration.sls │ │ │ │ ├── nginx_collections_configuration.sls │ │ │ │ ├── nginx_controller_configuration.sls │ │ │ │ ├── nginx_download_configuration.sls │ │ │ │ ├── nginx_grafana_configuration.sls │ │ │ │ ├── nginx_keepproxy_configuration.sls │ │ │ │ ├── nginx_keepweb_configuration.sls │ │ │ │ ├── nginx_loki_configuration.sls │ │ │ │ ├── nginx_prometheus_configuration.sls │ │ │ │ ├── nginx_snippets.sls │ │ │ │ ├── nginx_webshell_configuration.sls │ │ │ │ ├── nginx_websocket_configuration.sls │ │ │ │ ├── nginx_workbench2_configuration.sls │ │ │ │ ├── nginx_workbench_configuration.sls │ │ │ │ ├── postgresql.sls │ │ │ │ ├── postgresql_external.sls │ │ │ │ ├── prometheus_node_exporter.sls │ │ │ │ ├── prometheus_pg_exporter.sls │ │ │ │ ├── prometheus_server.sls │ │ │ │ └── ssl_key_encrypted.sls │ │ │ ├── states/ │ │ │ │ ├── alloy_install.sls │ │ │ │ ├── aws_credentials.sls │ │ │ │ ├── custom_certs.sls │ │ │ │ ├── grafana_admin_user.sls │ │ │ │ ├── grafana_dashboards.sls │ │ │ │ ├── grafana_datasource.sls │ │ │ │ ├── host_entries.sls │ │ │ │ ├── loki_install.sls │ │ │ │ ├── nginx_prometheus_configuration.sls │ │ │ │ ├── passenger_rvm.sls │ │ │ │ ├── postgresql_external.sls │ │ │ │ ├── prometheus_pg_exporter.sls │ │ │ │ ├── railsapi_passenger_configs.sls │ │ │ │ ├── shell_cron_add_login_sync.sls │ │ │ │ ├── shell_sudo_passwordless.sls │ │ │ │ ├── ssl_key_encrypted.sls │ │ │ │ └── workbench1_uninstall.sls │ │ │ └── tofs/ │ │ │ └── arvados/ │ │ │ └── shell/ │ │ │ └── config/ │ │ │ └── files/ │ │ │ └── default/ │ │ │ ├── shell-pam-shellinabox.tmpl.jinja │ │ │ └── shell-shellinabox.tmpl.jinja │ │ └── single_host/ │ │ ├── multiple_hostnames/ │ │ │ ├── README.md │ │ │ ├── pillars/ │ │ │ │ ├── arvados.sls │ │ │ │ ├── docker.sls │ │ │ │ ├── locale.sls │ │ │ │ ├── logrotate.sls │ │ │ │ ├── logrotate_api.sls │ │ │ │ ├── logrotate_wb1.sls │ │ │ │ ├── nginx.sls │ │ │ │ ├── nginx_api_configuration.sls │ │ │ │ ├── nginx_controller_configuration.sls │ │ │ │ ├── nginx_keepproxy_configuration.sls │ │ │ │ ├── nginx_keepweb_configuration.sls │ │ │ │ ├── nginx_webshell_configuration.sls │ │ │ │ ├── nginx_websocket_configuration.sls │ │ │ │ ├── nginx_workbench2_configuration.sls │ │ │ │ ├── nginx_workbench_configuration.sls │ │ │ │ └── postgresql.sls │ │ │ └── states/ │ │ │ ├── custom_certs.sls │ │ │ ├── dns.sls │ │ │ ├── host_entries.sls │ │ │ ├── keep_volume.sls │ │ │ ├── passenger_rvm.sls │ │ │ ├── railsapi_passenger_configs.sls │ │ │ ├── snakeoil_certs.sls │ │ │ └── workbench1_uninstall.sls │ │ └── single_hostname/ │ │ ├── README.md │ │ ├── pillars/ │ │ │ ├── arvados.sls │ │ │ ├── aws_credentials.sls │ │ │ ├── docker.sls │ │ │ ├── letsencrypt.sls │ │ │ ├── locale.sls │ │ │ ├── logrotate.sls │ │ │ ├── logrotate_api.sls │ │ │ ├── logrotate_wb1.sls │ │ │ ├── nginx.sls │ │ │ ├── nginx_api_configuration.sls │ │ │ ├── nginx_controller_configuration.sls │ │ │ ├── nginx_keepproxy_configuration.sls │ │ │ ├── nginx_keepweb_configuration.sls │ │ │ ├── nginx_webshell_configuration.sls │ │ │ ├── nginx_websocket_configuration.sls │ │ │ ├── nginx_workbench2_configuration.sls │ │ │ ├── nginx_workbench_configuration.sls │ │ │ └── postgresql.sls │ │ └── states/ │ │ ├── custom_certs.sls │ │ ├── dns.sls │ │ ├── host_entries.sls │ │ ├── keep_volume.sls │ │ ├── passenger_rvm.sls │ │ ├── railsapi_passenger_configs.sls │ │ ├── shell_cron_add_login_sync.sls │ │ ├── shell_sudo_passwordless.sls │ │ ├── snakeoil_certs.sls │ │ └── workbench1_uninstall.sls │ ├── installer.sh │ ├── local.params.example.multiple_hosts │ ├── local.params.example.single_host_multiple_hostnames │ ├── local.params.example.single_host_single_hostname │ ├── local.params.secrets.example │ ├── provision.sh │ ├── terraform/ │ │ └── aws/ │ │ ├── .gitignore │ │ ├── assumerolepolicy.json │ │ ├── data-storage/ │ │ │ ├── .terraform.lock.hcl │ │ │ ├── data.tf │ │ │ ├── locals.tf │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── terraform.tfvars │ │ │ └── variables.tf │ │ ├── services/ │ │ │ ├── .terraform.lock.hcl │ │ │ ├── data.tf │ │ │ ├── locals.tf │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── terraform.tfvars │ │ │ ├── user_data.sh │ │ │ └── variables.tf │ │ └── vpc/ │ │ ├── .terraform.lock.hcl │ │ ├── data.tf │ │ ├── locals.tf │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── terraform.tfvars │ │ └── variables.tf │ └── tests/ │ ├── hasher-workflow-job.yml │ ├── hasher-workflow.cwl │ ├── hasher.cwl │ ├── run-test.sh │ └── test.txt ├── terraform/ │ └── .gitignore ├── test-collection-create/ │ └── test-collection-create.py ├── user-activity/ │ ├── MANIFEST.in │ ├── README.rst │ ├── agpl-3.0.txt │ ├── arvados_user_activity/ │ │ ├── __init__.py │ │ └── main.py │ ├── arvados_version.py │ ├── bin/ │ │ └── arv-user-activity │ ├── fpm-info.sh │ ├── pyproject.toml │ └── setup.py └── vocabulary-migrate/ └── vocabulary-migrate.py