pulpcore 3.85.26__tar.gz → 3.85.27__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. {pulpcore-3.85.26 → pulpcore-3.85.27}/CHANGES.md +24 -0
  2. {pulpcore-3.85.26 → pulpcore-3.85.27}/PKG-INFO +1 -1
  3. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/app/__init__.py +1 -1
  4. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/__init__.py +1 -1
  5. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_domains.py +1 -1
  6. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_pulp_export.py +1 -1
  7. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/access_policy.py +1 -1
  8. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/apps.py +1 -1
  9. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/authentication.py +1 -2
  10. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/redis_connection.py +1 -2
  11. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/exporter.py +2 -1
  12. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/importer.py +2 -1
  13. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/repository.py +2 -1
  14. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/settings.py +50 -35
  15. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/views/importer.py +1 -1
  16. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/domain.py +1 -0
  17. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/cache/cache.py +1 -1
  18. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tasking/kafka.py +1 -1
  19. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_auth.py +1 -2
  20. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_crud_domains.py +38 -0
  21. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_filesystemexport.py +1 -1
  22. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_pulpimport.py +1 -1
  23. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore.egg-info/PKG-INFO +1 -1
  24. {pulpcore-3.85.26 → pulpcore-3.85.27}/pyproject.toml +4 -3
  25. {pulpcore-3.85.26 → pulpcore-3.85.27}/CODE_OF_CONDUCT.md +0 -0
  26. {pulpcore-3.85.26 → pulpcore-3.85.27}/COMMITMENT +0 -0
  27. {pulpcore-3.85.26 → pulpcore-3.85.27}/CONTRIBUTING.md +0 -0
  28. {pulpcore-3.85.26 → pulpcore-3.85.27}/COPYRIGHT +0 -0
  29. {pulpcore-3.85.26 → pulpcore-3.85.27}/LICENSE +0 -0
  30. {pulpcore-3.85.26 → pulpcore-3.85.27}/MANIFEST.in +0 -0
  31. {pulpcore-3.85.26 → pulpcore-3.85.27}/README.md +0 -0
  32. {pulpcore-3.85.26 → pulpcore-3.85.27}/ci_requirements.txt +0 -0
  33. {pulpcore-3.85.26 → pulpcore-3.85.27}/functest_requirements.txt +0 -0
  34. {pulpcore-3.85.26 → pulpcore-3.85.27}/manage.py +0 -0
  35. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/__init__.py +0 -0
  36. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/app/migrations/0001_initial.py +0 -0
  37. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/app/migrations/0002_alter_rhsmcertguard_contentguard_ptr_and_more.py +0 -0
  38. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/app/migrations/__init__.py +0 -0
  39. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/app/models.py +0 -0
  40. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/app/serializers.py +0 -0
  41. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/app/viewsets.py +0 -0
  42. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/pytest_plugin.py +0 -0
  43. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/rhsm/__init__.py +0 -0
  44. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/rhsm/rhsm_check_path.py +0 -0
  45. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/__init__.py +0 -0
  46. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/__init__.py +0 -0
  47. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/api/__init__.py +0 -0
  48. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py +0 -0
  49. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/api/test_x509_certguard.py +0 -0
  50. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.crt +0 -0
  51. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.key +0 -0
  52. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/trusted_but_expired.pem +0 -0
  53. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/uber.cert +0 -0
  54. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert-key.pem +0 -0
  55. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert.pem +0 -0
  56. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713-key.pem +0 -0
  57. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713.pem +0 -0
  58. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840-key.pem +0 -0
  59. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840.pem +0 -0
  60. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985-key.pem +0 -0
  61. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985.pem +0 -0
  62. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172-key.pem +0 -0
  63. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172.pem +0 -0
  64. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/certificates/ca.pem +0 -0
  65. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/genca.sh +0 -0
  66. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/keys/ca.pem +0 -0
  67. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/certificates/ca.pem +0 -0
  68. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/certificates/client.pem +0 -0
  69. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/certificates/server.pem +0 -0
  70. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/certificates/un_urlencoded_cert.txt +0 -0
  71. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/certificates/untrusted_client.pem +0 -0
  72. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/genall.sh +0 -0
  73. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/genca.sh +0 -0
  74. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/genclient.sh +0 -0
  75. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/gensrv.sh +0 -0
  76. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/keys/ca.pem +0 -0
  77. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/keys/client.pem +0 -0
  78. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/artifacts/x509/keys/server.pem +0 -0
  79. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/conftest.py +0 -0
  80. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/functional/constants.py +0 -0
  81. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/unit/__init__.py +0 -0
  82. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/unit/certdata.py +0 -0
  83. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_certguard/tests/unit/test_rhsm_check_path.py +0 -0
  84. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/__init__.py +0 -0
  85. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/migrations/0001_initial_squashed_0016_add_domain.py +0 -0
  86. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/migrations/0017_alter_filealternatecontentsource_alternatecontentsource_ptr_and_more.py +0 -0
  87. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/migrations/__init__.py +0 -0
  88. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/modelresource.py +0 -0
  89. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/models.py +0 -0
  90. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/replica.py +0 -0
  91. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/serializers.py +0 -0
  92. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/tasks/__init__.py +0 -0
  93. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/tasks/publishing.py +0 -0
  94. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/tasks/synchronizing.py +0 -0
  95. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/app/viewsets.py +0 -0
  96. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/manifest.py +0 -0
  97. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/pytest_plugin.py +0 -0
  98. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/__init__.py +0 -0
  99. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/__init__.py +0 -0
  100. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/__init__.py +0 -0
  101. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_acs.py +0 -0
  102. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_auto_publish.py +0 -0
  103. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_bad_sync.py +0 -0
  104. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_content_labels.py +0 -0
  105. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_crud_content_unit.py +0 -0
  106. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_crud_remotes.py +0 -0
  107. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_download_policies.py +0 -0
  108. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_generic_list.py +0 -0
  109. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_labels.py +0 -0
  110. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_mime_types.py +0 -0
  111. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_publish.py +0 -0
  112. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_rbac.py +0 -0
  113. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_remote_settings.py +0 -0
  114. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/functional/api/test_sync.py +0 -0
  115. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/unit/__init__.py +0 -0
  116. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/unit/test_safe_paths.py +0 -0
  117. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulp_file/tests/unit/test_serializers.py +0 -0
  118. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/__init__.py +0 -0
  119. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/__init__.py +0 -0
  120. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/checks.py +0 -0
  121. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/entrypoint.py +0 -0
  122. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/files.py +0 -0
  123. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/global_access_conditions.py +0 -0
  124. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/importexport.py +0 -0
  125. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/loggers.py +0 -0
  126. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/manage.py +0 -0
  127. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/__init__.py +0 -0
  128. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/__init__.py +0 -0
  129. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/add-signing-service.py +0 -0
  130. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/analyze-publication.py +0 -0
  131. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/clean-up-progress-reports.py +0 -0
  132. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/datarepair-2327.py +0 -0
  133. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/datarepair.py +0 -0
  134. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/dump-permissions.py +0 -0
  135. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/dump-publications-to-fs.py +0 -0
  136. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/handle-artifact-checksums.py +0 -0
  137. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/migrationstat.py +0 -0
  138. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/openapi.py +0 -0
  139. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/rebasemigrations.py +0 -0
  140. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/remove-plugin.py +0 -0
  141. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/remove-signing-service.py +0 -0
  142. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/repository-size.py +0 -0
  143. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/reset-admin-password.py +0 -0
  144. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/rotate-db-key.py +0 -0
  145. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/management/commands/shell.py +0 -0
  146. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0001_squashed_0090_char_to_text_field.py +0 -0
  147. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0091_systemid.py +0 -0
  148. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
  149. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
  150. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
  151. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
  152. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
  153. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
  154. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
  155. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0099_versions_field.py +0 -0
  156. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
  157. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0101_add_domain.py +0 -0
  158. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
  159. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
  160. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0104_delete_label.py +0 -0
  161. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
  162. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
  163. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
  164. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0108_task_versions.py +0 -0
  165. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0109_contentartifact_relative_path_index.py +0 -0
  166. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0110_apiappstatus.py +0 -0
  167. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0111_task_enc_args_task_enc_kwargs.py +0 -0
  168. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0112_alter_upstreampulp_options.py +0 -0
  169. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0113_headercontentguard.py +0 -0
  170. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0114_remove_task_args_remove_task_kwargs.py +0 -0
  171. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0115_compositecontentguard.py +0 -0
  172. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0116_alter_remoteartifact_md5_alter_remoteartifact_sha1_and_more.py +0 -0
  173. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0117_task_unblocked_at.py +0 -0
  174. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0118_task_core_task_unblock_2276a4_idx_and_more.py +0 -0
  175. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0119_grouprole_core_groupr_object__250e22_idx_and_more.py +0 -0
  176. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0120_get_url_removal.py +0 -0
  177. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0121_add_profile_artifacts_table.py +0 -0
  178. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0122_record_last_replication_timestamp.py +0 -0
  179. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0123_upstreampulp_q_select.py +0 -0
  180. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0124_task_deferred_task_immediate.py +0 -0
  181. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0125_openpgpdistribution_openpgpkeyring_openpgppublickey_and_more.py +0 -0
  182. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0126_remoteartifact_failed_at.py +0 -0
  183. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0127_remove_upstreampulp_pulp_label_select.py +0 -0
  184. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0128_domain_pulp_labels.py +0 -0
  185. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0129_content_pulp_labels.py +0 -0
  186. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0130_upstreampulp_policy.py +0 -0
  187. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0131_distribution_checkpoint_publication_checkpoint.py +0 -0
  188. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0132_alter_content_options.py +0 -0
  189. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0132_task_profile_options.py +0 -0
  190. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0133_repositoryversion_content_ids.py +0 -0
  191. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0134_task_insert_trigger.py +0 -0
  192. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0135_task_pulp_task_resources_index.py +0 -0
  193. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0136_delete_basedistribution.py +0 -0
  194. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0137_appstatus.py +0 -0
  195. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/0138_vulnerabilityreport.py +0 -0
  196. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/migrations/__init__.py +0 -0
  197. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/mime_types.py +0 -0
  198. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/modelresource.py +0 -0
  199. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/__init__.py +0 -0
  200. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/access_policy.py +0 -0
  201. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/acs.py +0 -0
  202. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/analytics.py +0 -0
  203. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/base.py +0 -0
  204. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/content.py +0 -0
  205. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/domain.py +0 -0
  206. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/exporter.py +0 -0
  207. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/fields.py +0 -0
  208. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/generic.py +0 -0
  209. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/importer.py +0 -0
  210. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/openpgp.py +0 -0
  211. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/progress.py +0 -0
  212. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/publication.py +0 -0
  213. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/replica.py +0 -0
  214. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/repository.py +0 -0
  215. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/role.py +0 -0
  216. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/status.py +0 -0
  217. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/storage.py +0 -0
  218. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/task.py +0 -0
  219. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/upload.py +0 -0
  220. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/models/vulnerability_report.py +0 -0
  221. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/netutil.py +0 -0
  222. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/openpgp.py +0 -0
  223. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/protobuf/__init__.py +0 -0
  224. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
  225. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/pulp_hashlib.py +0 -0
  226. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/pulpcore_gunicorn_application.py +0 -0
  227. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/replica.py +0 -0
  228. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/response.py +0 -0
  229. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/role_util.py +0 -0
  230. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/__init__.py +0 -0
  231. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/access_policy.py +0 -0
  232. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/acs.py +0 -0
  233. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/base.py +0 -0
  234. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/content.py +0 -0
  235. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/domain.py +0 -0
  236. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/fields.py +0 -0
  237. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/openpgp.py +0 -0
  238. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/orphans.py +0 -0
  239. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/progress.py +0 -0
  240. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/publication.py +0 -0
  241. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/purge.py +0 -0
  242. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/reclaim.py +0 -0
  243. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/repair.py +0 -0
  244. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/replica.py +0 -0
  245. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/status.py +0 -0
  246. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/task.py +0 -0
  247. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/upload.py +0 -0
  248. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/user.py +0 -0
  249. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/serializers/vulnerability_report.py +0 -0
  250. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/__init__.py +0 -0
  251. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/analytics.py +0 -0
  252. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/base.py +0 -0
  253. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/export.py +0 -0
  254. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/importer.py +0 -0
  255. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/migrate.py +0 -0
  256. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/orphan.py +0 -0
  257. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/purge.py +0 -0
  258. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/reclaim_space.py +0 -0
  259. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/replica.py +0 -0
  260. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/repository.py +0 -0
  261. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/telemetry.py +0 -0
  262. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/test.py +0 -0
  263. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/upload.py +0 -0
  264. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/tasks/vulnerability_report.py +0 -0
  265. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/templates/rest_framework/api.html +0 -0
  266. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/templatetags/__init__.py +0 -0
  267. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/templatetags/pulp_urls.py +0 -0
  268. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/urls.py +0 -0
  269. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/util.py +0 -0
  270. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/views/__init__.py +0 -0
  271. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/views/orphans.py +0 -0
  272. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/views/repair.py +0 -0
  273. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/views/status.py +0 -0
  274. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/__init__.py +0 -0
  275. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/access_policy.py +0 -0
  276. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/acs.py +0 -0
  277. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/base.py +0 -0
  278. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/content.py +0 -0
  279. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/custom_filters.py +0 -0
  280. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/exporter.py +0 -0
  281. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/importer.py +0 -0
  282. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/openpgp.py +0 -0
  283. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/orphans.py +0 -0
  284. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/publication.py +0 -0
  285. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/reclaim.py +0 -0
  286. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/replica.py +0 -0
  287. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/repository.py +0 -0
  288. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/task.py +0 -0
  289. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/upload.py +0 -0
  290. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/user.py +0 -0
  291. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/viewsets/vulnerability_report.py +0 -0
  292. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/app/wsgi.py +0 -0
  293. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/backends.py +0 -0
  294. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/cache/__init__.py +0 -0
  295. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/constants.py +0 -0
  296. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/content/__init__.py +0 -0
  297. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/content/authentication.py +0 -0
  298. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/content/entrypoint.py +0 -0
  299. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/content/handler.py +0 -0
  300. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/content/instrumentation.py +0 -0
  301. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/download/__init__.py +0 -0
  302. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/download/base.py +0 -0
  303. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/download/factory.py +0 -0
  304. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/download/file.py +0 -0
  305. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/download/http.py +0 -0
  306. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/exceptions/__init__.py +0 -0
  307. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/exceptions/base.py +0 -0
  308. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/exceptions/plugin.py +0 -0
  309. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/exceptions/validation.py +0 -0
  310. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/filters.py +0 -0
  311. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/metrics.py +0 -0
  312. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/middleware.py +0 -0
  313. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/migrations.py +0 -0
  314. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/openapi/__init__.py +0 -0
  315. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/openapi/hooks.py +0 -0
  316. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/__init__.py +0 -0
  317. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/access_policy.py +0 -0
  318. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/actions.py +0 -0
  319. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/apps.py +0 -0
  320. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/authentication/__init__.py +0 -0
  321. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/cache/__init__.py +0 -0
  322. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/constants.py +0 -0
  323. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/content.py +0 -0
  324. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/download/__init__.py +0 -0
  325. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/exceptions.py +0 -0
  326. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/files.py +0 -0
  327. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/importexport.py +0 -0
  328. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/migrations.py +0 -0
  329. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/modelresources.py +0 -0
  330. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/models/__init__.py +0 -0
  331. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/models/role.py +0 -0
  332. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/publication_utils.py +0 -0
  333. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/pulp_hashlib.py +0 -0
  334. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/replica.py +0 -0
  335. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/repo_version_utils.py +0 -0
  336. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/responses.py +0 -0
  337. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/serializers/__init__.py +0 -0
  338. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/serializers/content.py +0 -0
  339. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/stages/__init__.py +0 -0
  340. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/stages/api.py +0 -0
  341. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/stages/artifact_stages.py +0 -0
  342. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/stages/content_stages.py +0 -0
  343. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/stages/declarative_version.py +0 -0
  344. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/stages/models.py +0 -0
  345. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/storage.py +0 -0
  346. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/sync.py +0 -0
  347. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/tasking.py +0 -0
  348. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/util.py +0 -0
  349. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/viewsets/__init__.py +0 -0
  350. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/plugin/viewsets/content.py +0 -0
  351. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/pytest_plugin.py +0 -0
  352. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/responses.py +0 -0
  353. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tasking/__init__.py +0 -0
  354. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tasking/_util.py +0 -0
  355. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tasking/entrypoint.py +0 -0
  356. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tasking/storage.py +0 -0
  357. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tasking/tasks.py +0 -0
  358. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tasking/worker.py +0 -0
  359. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/__init__.py +0 -0
  360. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/__init__.py +0 -0
  361. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/__init__.py +0 -0
  362. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
  363. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
  364. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_api_root_rewrite.py +0 -0
  365. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_artifact_distribution.py +0 -0
  366. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
  367. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_crd_artifacts.py +0 -0
  368. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_filter.py +0 -0
  369. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_login.py +0 -0
  370. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_openapi_schema.py +0 -0
  371. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_openpgp.py +0 -0
  372. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_replication.py +0 -0
  373. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_repos.py +0 -0
  374. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_role.py +0 -0
  375. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_root_endpoint.py +0 -0
  376. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_scoping.py +0 -0
  377. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
  378. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_status.py +0 -0
  379. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_task_purge.py +0 -0
  380. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_tasking.py +0 -0
  381. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_upload.py +0 -0
  382. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_users_groups.py +0 -0
  383. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/test_workers.py +0 -0
  384. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
  385. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_checkpoint.py +0 -0
  386. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_content_access.py +0 -0
  387. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_content_cache.py +0 -0
  388. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_content_delivery.py +0 -0
  389. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
  390. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_content_path.py +0 -0
  391. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_content_promotion.py +0 -0
  392. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_contentguard.py +0 -0
  393. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_crud_repos.py +0 -0
  394. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_distributions.py +0 -0
  395. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_labels.py +0 -0
  396. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_migrate.py +0 -0
  397. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_orphans.py +0 -0
  398. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_pagination.py +0 -0
  399. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_prn.py +0 -0
  400. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_proxy.py +0 -0
  401. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_reclaim_disk_space.py +0 -0
  402. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_repair.py +0 -0
  403. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_repo_versions.py +0 -0
  404. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_tasks.py +0 -0
  405. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/api/using_plugin/test_unlinking_repo.py +0 -0
  406. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/assets/__init__.py +0 -0
  407. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/content_with_coverage.py +0 -0
  408. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/functional/utils.py +0 -0
  409. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/performance/__init__.py +0 -0
  410. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/performance/test_performance.py +0 -0
  411. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/__init__.py +0 -0
  412. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/conftest.py +0 -0
  413. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/content/__init__.py +0 -0
  414. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/content/test_handler.py +0 -0
  415. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/content/test_heartbeat.py +0 -0
  416. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/download/__init__.py +0 -0
  417. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
  418. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
  419. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/metrics/__init__.py +0 -0
  420. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/metrics/conftest.py +0 -0
  421. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/metrics/test_aiohttp_instrumentation.py +0 -0
  422. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/metrics/test_django_instrumentation.py +0 -0
  423. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/migration/__init__.py +0 -0
  424. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/models/__init__.py +0 -0
  425. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/models/test_base.py +0 -0
  426. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/models/test_content.py +0 -0
  427. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/models/test_remote.py +0 -0
  428. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/models/test_repository.py +0 -0
  429. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/models/test_task.py +0 -0
  430. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/roles/__init__.py +0 -0
  431. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/roles/test_adjust_roles.py +0 -0
  432. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/roles/test_roles.py +0 -0
  433. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/serializers/__init__.py +0 -0
  434. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/serializers/test_base.py +0 -0
  435. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/serializers/test_domain.py +0 -0
  436. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/serializers/test_fields.py +0 -0
  437. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/serializers/test_orphans_cleanup.py +0 -0
  438. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/serializers/test_pulpexport.py +0 -0
  439. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/serializers/test_repository.py +0 -0
  440. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/serializers/test_user.py +0 -0
  441. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/stages/__init__.py +0 -0
  442. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/stages/test_artifactdownloader.py +0 -0
  443. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/stages/test_stages.py +0 -0
  444. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_cache.py +0 -0
  445. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_chunked_file.py +0 -0
  446. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_content_guard.py +0 -0
  447. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_files.py +0 -0
  448. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_import_checks.py +0 -0
  449. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_pulp_urls.py +0 -0
  450. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_settings.py +0 -0
  451. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_util.py +0 -0
  452. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_viewsets.py +0 -0
  453. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/test_vulnerability_report.py +0 -0
  454. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
  455. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore/tests/unit/viewsets/test_viewset_base.py +0 -0
  456. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore.egg-info/SOURCES.txt +0 -0
  457. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore.egg-info/dependency_links.txt +0 -0
  458. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore.egg-info/entry_points.txt +0 -0
  459. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore.egg-info/requires.txt +0 -0
  460. {pulpcore-3.85.26 → pulpcore-3.85.27}/pulpcore.egg-info/top_level.txt +0 -0
  461. {pulpcore-3.85.26 → pulpcore-3.85.27}/setup.cfg +0 -0
  462. {pulpcore-3.85.26 → pulpcore-3.85.27}/test_requirements.txt +0 -0
  463. {pulpcore-3.85.26 → pulpcore-3.85.27}/unittest_requirements.txt +0 -0
@@ -8,6 +8,30 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.85.27 (2026-07-28) {: #3.85.27 }
12
+
13
+ ### REST API {: #3.85.27-rest-api }
14
+
15
+ #### Bugfixes {: #3.85.27-rest-api-bugfix }
16
+
17
+ - Fixed domain list returning all domains to authenticated users instead of only domains they can view.
18
+ [#7898](https://github.com/pulp/pulpcore/issues/7898)
19
+ - Stopped shipping an insecure default as DJANGO_SECRET.
20
+
21
+ ### Plugin API {: #3.85.27-plugin-api }
22
+
23
+ No significant changes.
24
+
25
+ ### Pulp File {: #3.85.27-pulp-file }
26
+
27
+ No significant changes.
28
+
29
+ ### Pulp Cert Guard {: #3.85.27-pulp-cert-guard }
30
+
31
+ No significant changes.
32
+
33
+ ---
34
+
11
35
  ## 3.85.26 (2026-07-20) {: #3.85.26 }
12
36
 
13
37
  ### REST API {: #3.85.26-rest-api }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.85.26
3
+ Version: 3.85.27
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  Project-URL: Homepage, https://pulpproject.org
@@ -6,6 +6,6 @@ class PulpCertGuardPluginAppConfig(PulpPluginAppConfig):
6
6
 
7
7
  name = "pulp_certguard.app"
8
8
  label = "certguard"
9
- version = "3.85.26"
9
+ version = "3.85.27"
10
10
  python_package_name = "pulpcore"
11
11
  domain_compatible = True
@@ -8,6 +8,6 @@ class PulpFilePluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_file.app"
10
10
  label = "file"
11
- version = "3.85.26"
11
+ version = "3.85.27"
12
12
  python_package_name = "pulpcore"
13
13
  domain_compatible = True
@@ -2,8 +2,8 @@ import json
2
2
  import uuid
3
3
 
4
4
  import pytest
5
+ from django.conf import settings
5
6
 
6
- from pulpcore.app import settings
7
7
  from pulpcore.tests.functional.utils import download_file, generate_iso
8
8
 
9
9
  pytestmark = pytest.mark.skipif(not settings.DOMAIN_ENABLED, reason="Domains not enabled.")
@@ -1,8 +1,8 @@
1
1
  import uuid
2
2
 
3
3
  import pytest
4
+ from django.conf import settings
4
5
 
5
- from pulpcore.app import settings
6
6
  from pulpcore.client.pulpcore.exceptions import ApiException
7
7
  from pulpcore.constants import TASK_STATES
8
8
 
@@ -1,9 +1,9 @@
1
1
  from copy import deepcopy
2
2
 
3
+ from django.conf import settings
3
4
  from rest_access_policy import AccessPolicy
4
5
  from rest_framework.exceptions import APIException
5
6
 
6
- from pulpcore.app import settings
7
7
  from pulpcore.app.models import AccessPolicy as AccessPolicyModel
8
8
  from pulpcore.app.util import get_view_urlpattern, get_viewset_for_model
9
9
 
@@ -237,7 +237,7 @@ class PulpAppConfig(PulpPluginAppConfig):
237
237
  label = "core"
238
238
 
239
239
  # The version of this app
240
- version = "3.85.26"
240
+ version = "3.85.27"
241
241
 
242
242
  # The python package name providing this app
243
243
  python_package_name = "pulpcore"
@@ -5,6 +5,7 @@ from binascii import Error as Base64DecodeError
5
5
  from gettext import gettext as _
6
6
 
7
7
  import jq
8
+ from django.conf import settings
8
9
  from django.contrib.auth import authenticate
9
10
  from django.contrib.auth.backends import RemoteUserBackend
10
11
  from rest_framework.authentication import (
@@ -16,8 +17,6 @@ from rest_framework.authentication import (
16
17
  )
17
18
  from rest_framework.exceptions import AuthenticationFailed
18
19
 
19
- from pulpcore.app import settings
20
-
21
20
  _logger = logging.getLogger(__name__)
22
21
 
23
22
 
@@ -1,8 +1,7 @@
1
+ from django.conf import settings
1
2
  from redis import Redis
2
3
  from redis.asyncio import Redis as aRedis
3
4
 
4
- from pulpcore.app.settings import settings
5
-
6
5
  _conn = None
7
6
  _a_conn = None
8
7
 
@@ -2,10 +2,11 @@ import os
2
2
  import re
3
3
  from gettext import gettext as _
4
4
 
5
+ from django.conf import settings
5
6
  from rest_framework import serializers
6
7
  from rest_framework.validators import UniqueValidator
7
8
 
8
- from pulpcore.app import models, settings
9
+ from pulpcore.app import models
9
10
  from pulpcore.app.serializers import (
10
11
  DetailIdentityField,
11
12
  DetailRelatedField,
@@ -1,11 +1,12 @@
1
1
  import os
2
2
  from gettext import gettext as _
3
3
 
4
+ from django.conf import settings
4
5
  from django.core.exceptions import ObjectDoesNotExist
5
6
  from rest_framework import serializers
6
7
  from rest_framework.validators import UniqueValidator
7
8
 
8
- from pulpcore.app import models, settings
9
+ from pulpcore.app import models
9
10
  from pulpcore.app.serializers import (
10
11
  DetailIdentityField,
11
12
  ImportIdentityField,
@@ -3,10 +3,11 @@ from gettext import gettext as _
3
3
  from urllib.parse import urlparse
4
4
 
5
5
  from cryptography.x509 import load_pem_x509_certificate
6
+ from django.conf import settings
6
7
  from rest_framework import fields, serializers
7
8
  from rest_framework_nested.serializers import NestedHyperlinkedModelSerializer
8
9
 
9
- from pulpcore.app import models, settings
10
+ from pulpcore.app import models
10
11
  from pulpcore.app.serializers import (
11
12
  DetailIdentityField,
12
13
  DetailRelatedField,
@@ -12,7 +12,6 @@ import sys
12
12
  from contextlib import suppress
13
13
  from importlib import import_module
14
14
  from importlib.metadata import entry_points
15
- from logging import getLogger
16
15
  from pathlib import Path
17
16
 
18
17
  from cryptography.fernet import Fernet
@@ -88,9 +87,6 @@ CHUNKED_UPLOAD_DIR = "upload"
88
87
  # List of upload handler classes to be applied in order.
89
88
  FILE_UPLOAD_HANDLERS = ("pulpcore.app.files.HashingFileUploadHandler",)
90
89
 
91
- # SECURITY WARNING: this should be set to a unique, unpredictable value
92
- SECRET_KEY = "SECRET"
93
-
94
90
  # Key used to encrypt fields in the database
95
91
  DB_ENCRYPTION_KEY = "/etc/pulp/certs/database_fields.symmetric.key"
96
92
 
@@ -514,6 +510,49 @@ def otel_middleware_hook(settings):
514
510
  return data
515
511
 
516
512
 
513
+ def api_root_hook(settings):
514
+ # protocol://host:port/{API_ROOT}{domain}/api/{version}/
515
+ # All of the below are DEPRECATED, and should be replaced by calling
516
+ # pulpcore.plugin.find_url.find_api_root() (q.v.)
517
+ if settings.API_ROOT_REWRITE_HEADER:
518
+ api_root = "/<path:api_root>/"
519
+ else:
520
+ api_root = settings.API_ROOT
521
+ return {
522
+ "V3_API_ROOT": api_root + "api/v3/",
523
+ "V3_DOMAIN_API_ROOT": api_root + "<slug:pulp_domain>/api/v3/",
524
+ "V3_API_ROOT_NO_FRONT_SLASH": (api_root + "api/v3/").lstrip("/"),
525
+ "V3_DOMAIN_API_ROOT_NO_FRONT_SLASH": (api_root + "<slug:pulp_domain>/api/v3/").lstrip("/"),
526
+ }
527
+
528
+
529
+ def forbidden_checksums_hook(settings):
530
+ return {
531
+ "FORBIDDEN_CHECKSUMS": sorted(
532
+ set(constants.ALL_KNOWN_CONTENT_CHECKSUMS).difference(
533
+ settings.ALLOWED_CONTENT_CHECKSUMS
534
+ )
535
+ ),
536
+ }
537
+
538
+
539
+ def validate_db_encryption_key_hook(settings):
540
+ if Path(sys.argv[0]).name in ["pytest", "sphinx-build"] or (
541
+ len(sys.argv) >= 2 and sys.argv[1] in ["collectstatic", "openapi"]
542
+ ):
543
+ return {}
544
+ try:
545
+ with open(settings.DB_ENCRYPTION_KEY, "rb") as key_file:
546
+ Fernet(key_file.read())
547
+ except Exception as ex:
548
+ raise ImproperlyConfigured(
549
+ "Could not load DB_ENCRYPTION_KEY file '{file}': {err}".format(
550
+ file=settings.DB_ENCRYPTION_KEY, err=ex
551
+ )
552
+ )
553
+ return {}
554
+
555
+
517
556
  del preload_settings
518
557
 
519
558
  settings = DjangoDynaconf(
@@ -533,36 +572,12 @@ settings = DjangoDynaconf(
533
572
  json_header_auth_validator,
534
573
  authentication_json_header_openapi_security_scheme_validator,
535
574
  ],
536
- post_hooks=(otel_middleware_hook,),
537
- )
538
-
539
- _logger = getLogger(__name__)
540
-
541
-
542
- if not (
543
- Path(sys.argv[0]).name in ["pytest", "sphinx-build"]
544
- or (len(sys.argv) >= 2 and sys.argv[1] in ["collectstatic", "openapi"])
545
- ):
546
- try:
547
- with open(DB_ENCRYPTION_KEY, "rb") as key_file:
548
- Fernet(key_file.read())
549
- except Exception as ex:
550
- raise ImproperlyConfigured(
551
- ("Could not load DB_ENCRYPTION_KEY file '{file}': {err}").format(
552
- file=DB_ENCRYPTION_KEY, err=ex
553
- )
554
- )
555
-
556
-
557
- FORBIDDEN_CHECKSUMS = set(constants.ALL_KNOWN_CONTENT_CHECKSUMS).difference(
558
- ALLOWED_CONTENT_CHECKSUMS
575
+ post_hooks=(
576
+ otel_middleware_hook,
577
+ api_root_hook,
578
+ forbidden_checksums_hook,
579
+ validate_db_encryption_key_hook,
580
+ ),
559
581
  )
560
582
 
561
- if settings.API_ROOT_REWRITE_HEADER:
562
- api_root = "/<path:api_root>/"
563
- else:
564
- api_root = settings.API_ROOT
565
- settings.set("V3_API_ROOT", api_root + "api/v3/") # Not user configurable
566
- settings.set("V3_DOMAIN_API_ROOT", api_root + "<slug:pulp_domain>/api/v3/")
567
- settings.set("V3_API_ROOT_NO_FRONT_SLASH", settings.V3_API_ROOT.lstrip("/"))
568
- settings.set("V3_DOMAIN_API_ROOT_NO_FRONT_SLASH", settings.V3_DOMAIN_API_ROOT.lstrip("/"))
583
+ # HERE ENDS DYNACONF EXTENSION LOAD (No more code below this line)
@@ -2,11 +2,11 @@ import json
2
2
  import os
3
3
  from gettext import gettext as _
4
4
 
5
+ from django.conf import settings
5
6
  from drf_spectacular.utils import extend_schema
6
7
  from rest_framework.response import Response
7
8
  from rest_framework.views import APIView
8
9
 
9
- from pulpcore.app import settings
10
10
  from pulpcore.app.serializers import PulpImportCheckResponseSerializer, PulpImportCheckSerializer
11
11
 
12
12
 
@@ -49,6 +49,7 @@ class DomainViewSet(
49
49
  serializer_class = DomainSerializer
50
50
  endpoint_name = "domains"
51
51
  filterset_class = DomainFilter
52
+ queryset_filtering_required_permission = "core.view_domain"
52
53
  DEFAULT_ACCESS_POLICY = {
53
54
  "statements": [
54
55
  {
@@ -5,6 +5,7 @@ from functools import wraps
5
5
 
6
6
  from aiohttp.web import FileResponse, HTTPSuccessful, Request, Response, StreamResponse
7
7
  from aiohttp.web_exceptions import HTTPFound
8
+ from django.conf import settings
8
9
  from django.http import FileResponse as ApiFileResponse
9
10
  from django.http import HttpResponse, HttpResponseRedirect
10
11
  from redis import ConnectionError
@@ -16,7 +17,6 @@ from pulpcore.app.redis_connection import (
16
17
  get_async_redis_connection,
17
18
  get_redis_connection,
18
19
  )
19
- from pulpcore.app.settings import settings
20
20
  from pulpcore.metrics import artifacts_size_counter
21
21
  from pulpcore.responses import ArtifactResponse
22
22
 
@@ -6,7 +6,7 @@ from typing import Optional
6
6
 
7
7
  from django.conf import settings
8
8
 
9
- _bootstrap_servers = settings.get("KAFKA_BOOTSTRAP_SERVERS")
9
+ _bootstrap_servers = getattr(settings, "KAFKA_BOOTSTRAP_SERVERS")
10
10
 
11
11
 
12
12
  if _bootstrap_servers is None:
@@ -8,8 +8,7 @@ import json
8
8
  from base64 import b64encode
9
9
 
10
10
  import pytest
11
-
12
- from pulpcore.app import settings
11
+ from django.conf import settings
13
12
 
14
13
 
15
14
  @pytest.mark.parallel
@@ -353,3 +353,41 @@ def test_set_label_on_domain(pulpcore_bindings, domain_factory, gen_user):
353
353
  response = pulpcore_bindings.DomainsApi.unset_label(domain.pulp_href, {"key": "abc"})
354
354
  assert response.key == "abc"
355
355
  assert response.value == "def"
356
+
357
+
358
+ @pytest.mark.parallel
359
+ def test_domain_list_queryset_scoping(pulpcore_bindings, gen_user, gen_object_with_cleanup):
360
+ """Test that domain list is scoped to domains the user can view."""
361
+ body = {
362
+ "name": str(uuid.uuid4()),
363
+ "storage_class": "pulpcore.app.models.storage.FileSystem",
364
+ "storage_settings": {"MEDIA_ROOT": ""},
365
+ }
366
+ domain = gen_object_with_cleanup(pulpcore_bindings.DomainsApi, body)
367
+ gen_object_with_cleanup(pulpcore_bindings.DomainsApi, {**body, "name": str(uuid.uuid4())})
368
+
369
+ # Authenticated users without view_domain see no domains
370
+ with gen_user():
371
+ assert pulpcore_bindings.DomainsApi.list().count == 0
372
+
373
+ # Object-level domain_viewer can see only that domain
374
+ with gen_user(object_roles=[("core.domain_viewer", domain.pulp_href)]):
375
+ domains = pulpcore_bindings.DomainsApi.list()
376
+ assert domains.count == 1
377
+ assert domains.results[0].pulp_href == domain.pulp_href
378
+
379
+ # Object-level domain_owner can see only that domain
380
+ with gen_user(object_roles=[("core.domain_owner", domain.pulp_href)]):
381
+ domains = pulpcore_bindings.DomainsApi.list()
382
+ assert domains.count == 1
383
+ assert domains.results[0].pulp_href == domain.pulp_href
384
+
385
+ # Domain creator sees domains they create (via creation_hooks), not others
386
+ creator = gen_user(model_roles=["core.domain_creator"])
387
+ with creator:
388
+ created = gen_object_with_cleanup(
389
+ pulpcore_bindings.DomainsApi, {**body, "name": str(uuid.uuid4())}
390
+ )
391
+ domains = pulpcore_bindings.DomainsApi.list()
392
+ assert domains.count == 1
393
+ assert domains.results[0].pulp_href == created.pulp_href
@@ -8,8 +8,8 @@ the case.
8
8
  import uuid
9
9
 
10
10
  import pytest
11
+ from django.conf import settings
11
12
 
12
- from pulpcore.app import settings
13
13
  from pulpcore.client.pulp_file import RepositorySyncURL
14
14
  from pulpcore.client.pulpcore.exceptions import ApiException
15
15
 
@@ -11,8 +11,8 @@ import uuid
11
11
  from pathlib import Path
12
12
 
13
13
  import pytest
14
+ from django.conf import settings
14
15
 
15
- from pulpcore.app import settings
16
16
  from pulpcore.client.pulp_file import RepositorySyncURL
17
17
  from pulpcore.client.pulpcore.exceptions import ApiException
18
18
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.85.26
3
+ Version: 3.85.27
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  Project-URL: Homepage, https://pulpproject.org
@@ -7,7 +7,7 @@ build-backend = 'setuptools.build_meta'
7
7
 
8
8
  [project]
9
9
  name = "pulpcore"
10
- version = "3.85.26"
10
+ version = "3.85.27"
11
11
  description = "Pulp Django Application and Related Modules"
12
12
  readme = "README.md"
13
13
  authors = [
@@ -206,7 +206,7 @@ ignore = [
206
206
  [tool.bumpversion]
207
207
  # This section is managed by the plugin template. Do not edit manually.
208
208
 
209
- current_version = "3.85.26"
209
+ current_version = "3.85.27"
210
210
  commit = false
211
211
  tag = false
212
212
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<alpha>0a)?(?P<patch>\\d+)(\\.(?P<release>[a-z]+))?"
@@ -266,7 +266,6 @@ filename = "./pyproject.toml"
266
266
  search = "version = \"{current_version}\""
267
267
  replace = "version = \"{new_version}\""
268
268
 
269
-
270
269
  [tool.ruff]
271
270
  # This section is managed by the plugin template. Do not edit manually.
272
271
  line-length = 100
@@ -278,6 +277,7 @@ extend-exclude = [
278
277
 
279
278
  [tool.ruff.lint]
280
279
  # This section is managed by the plugin template. Do not edit manually.
280
+ select = ["E4", "E7", "E9", "F"]
281
281
  extend-select = [
282
282
  "I",
283
283
  "INT",
@@ -288,6 +288,7 @@ extend-select = [
288
288
  [tool.ruff.lint.flake8-tidy-imports.banned-api]
289
289
  # This section is managed by the plugin template. Do not edit manually.
290
290
  "distutils".msg = "The 'distutils' module has been deprecated since Python 3.9."
291
+ "pulpcore.app.settings".msg = "Always import 'settings' from 'django.conf' instead."
291
292
 
292
293
  [tool.ruff.lint.isort]
293
294
  # This section is managed by the plugin template. Do not edit manually.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes