pulpcore 3.28.43__tar.gz → 3.28.44__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 (374) hide show
  1. {pulpcore-3.28.43 → pulpcore-3.28.44}/CHANGES.md +15 -0
  2. {pulpcore-3.28.43 → pulpcore-3.28.44}/PKG-INFO +1 -1
  3. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/apps.py +1 -1
  4. pulpcore-3.28.44/pulpcore/app/checks.py +119 -0
  5. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/settings.py +0 -64
  6. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore.egg-info/PKG-INFO +1 -1
  7. {pulpcore-3.28.43 → pulpcore-3.28.44}/pyproject.toml +3 -1
  8. {pulpcore-3.28.43 → pulpcore-3.28.44}/setup.py +1 -1
  9. pulpcore-3.28.43/pulpcore/app/checks.py +0 -58
  10. {pulpcore-3.28.43 → pulpcore-3.28.44}/CODE_OF_CONDUCT.md +0 -0
  11. {pulpcore-3.28.43 → pulpcore-3.28.44}/COMMITMENT +0 -0
  12. {pulpcore-3.28.43 → pulpcore-3.28.44}/CONTRIBUTING.md +0 -0
  13. {pulpcore-3.28.43 → pulpcore-3.28.44}/COPYRIGHT +0 -0
  14. {pulpcore-3.28.43 → pulpcore-3.28.44}/LICENSE +0 -0
  15. {pulpcore-3.28.43 → pulpcore-3.28.44}/MANIFEST.in +0 -0
  16. {pulpcore-3.28.43 → pulpcore-3.28.44}/README.md +0 -0
  17. {pulpcore-3.28.43 → pulpcore-3.28.44}/bin/pulp-content +0 -0
  18. {pulpcore-3.28.43 → pulpcore-3.28.44}/ci_requirements.txt +0 -0
  19. {pulpcore-3.28.43 → pulpcore-3.28.44}/functest_requirements.txt +0 -0
  20. {pulpcore-3.28.43 → pulpcore-3.28.44}/manage.py +0 -0
  21. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/__init__.py +0 -0
  22. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/__init__.py +0 -0
  23. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/access_policy.py +0 -0
  24. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/authentication.py +0 -0
  25. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/files.py +0 -0
  26. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/global_access_conditions.py +0 -0
  27. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/importexport.py +0 -0
  28. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/loggers.py +0 -0
  29. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/manage.py +0 -0
  30. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/__init__.py +0 -0
  31. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/__init__.py +0 -0
  32. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/add-signing-service.py +0 -0
  33. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/analyze-publication.py +0 -0
  34. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/datarepair-2327.py +0 -0
  35. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/dump-permissions.py +0 -0
  36. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/dump-publications-to-fs.py +0 -0
  37. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/handle-artifact-checksums.py +0 -0
  38. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/openapi.py +0 -0
  39. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/remove-plugin.py +0 -0
  40. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/remove-signing-service.py +0 -0
  41. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/reset-admin-password.py +0 -0
  42. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/management/commands/rotate-db-key.py +0 -0
  43. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0001_initial.py +0 -0
  44. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -0
  45. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0003_remove_upload_completed.py +0 -0
  46. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -0
  47. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0005_progressreport_code.py +0 -0
  48. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -0
  49. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -0
  50. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -0
  51. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -0
  52. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0010_pulp_fields.py +0 -0
  53. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0011_relative_path.py +0 -0
  54. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -0
  55. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0013_repository_pulp_type.py +0 -0
  56. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -0
  57. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -0
  58. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -0
  59. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0017_remove_task_parent.py +0 -0
  60. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -0
  61. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0019_add_signing_service_model.py +0 -0
  62. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -0
  63. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -0
  64. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0022_rename_last_version.py +0 -0
  65. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0023_change_exporter_models.py +0 -0
  66. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -0
  67. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0025_task_parent_task.py +0 -0
  68. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0026_task_group.py +0 -0
  69. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0027_export_backend.py +0 -0
  70. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -0
  71. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0029_export_delete.py +0 -0
  72. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -0
  73. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0031_import_export_validate_params.py +0 -0
  74. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0032_export_to_chunks.py +0 -0
  75. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -0
  76. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0034_groupprogressreport.py +0 -0
  77. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0035_content_upstream_id.py +0 -0
  78. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0036_unprotect_last_export.py +0 -0
  79. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -0
  80. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0038_repository_remote.py +0 -0
  81. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0039_change_download_concurrency.py +0 -0
  82. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -0
  83. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0041_accesspolicy.py +0 -0
  84. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -0
  85. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0043_toc_attribute.py +0 -0
  86. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -0
  87. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -0
  88. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0046_task__resource_job_id.py +0 -0
  89. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -0
  90. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0048_fips_checksums.py +0 -0
  91. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -0
  92. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0050_namespace_access_policies.py +0 -0
  93. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0051_timeoutfields.py +0 -0
  94. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -0
  95. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0053_remote_headers.py +0 -0
  96. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0054_add_public_key.py +0 -0
  97. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0055_label.py +0 -0
  98. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0056_remote_rate_limit.py +0 -0
  99. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0057_add_label_indexes.py +0 -0
  100. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -0
  101. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0059_proxy_creds.py +0 -0
  102. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -0
  103. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -0
  104. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -0
  105. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0063_repository_retained_versions.py +0 -0
  106. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -0
  107. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0064_repository_user_hidden.py +0 -0
  108. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -0
  109. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -0
  110. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -0
  111. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -0
  112. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0069_update_json_fields.py +0 -0
  113. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0070_rename_retained_versions.py +0 -0
  114. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -0
  115. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -0
  116. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -0
  117. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0074_acs.py +0 -0
  118. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0075_rbaccontentguard.py +0 -0
  119. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -0
  120. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -0
  121. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -0
  122. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -0
  123. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0080_proxy_group_model.py +0 -0
  124. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -0
  125. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -0
  126. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0083_alter_group_options.py +0 -0
  127. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -0
  128. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -0
  129. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0086_task_json_fields.py +0 -0
  130. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0087_taskschedule.py +0 -0
  131. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -0
  132. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -0
  133. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0090_char_to_text_field.py +0 -0
  134. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0091_systemid.py +0 -0
  135. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
  136. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
  137. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
  138. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
  139. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
  140. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
  141. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
  142. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0099_versions_field.py +0 -0
  143. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
  144. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0101_add_domain.py +0 -0
  145. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
  146. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
  147. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0104_delete_label.py +0 -0
  148. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
  149. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
  150. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
  151. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/migrations/__init__.py +0 -0
  152. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/mime_types.py +0 -0
  153. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/modelresource.py +0 -0
  154. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/__init__.py +0 -0
  155. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/access_policy.py +0 -0
  156. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/acs.py +0 -0
  157. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/analytics.py +0 -0
  158. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/base.py +0 -0
  159. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/content.py +0 -0
  160. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/domain.py +0 -0
  161. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/exporter.py +0 -0
  162. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/fields.py +0 -0
  163. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/generic.py +0 -0
  164. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/importer.py +0 -0
  165. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/progress.py +0 -0
  166. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/publication.py +0 -0
  167. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/replica.py +0 -0
  168. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/repository.py +0 -0
  169. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/role.py +0 -0
  170. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/status.py +0 -0
  171. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/storage.py +0 -0
  172. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/task.py +0 -0
  173. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/models/upload.py +0 -0
  174. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/monkeypatch.py +0 -0
  175. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/protobuf/__init__.py +0 -0
  176. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
  177. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/pulp_hashlib.py +0 -0
  178. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/redis_connection.py +0 -0
  179. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/replica.py +0 -0
  180. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/response.py +0 -0
  181. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/role_util.py +0 -0
  182. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/__init__.py +0 -0
  183. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/access_policy.py +0 -0
  184. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/acs.py +0 -0
  185. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/base.py +0 -0
  186. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/content.py +0 -0
  187. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/domain.py +0 -0
  188. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/exporter.py +0 -0
  189. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/fields.py +0 -0
  190. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/importer.py +0 -0
  191. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/orphans.py +0 -0
  192. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/progress.py +0 -0
  193. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/publication.py +0 -0
  194. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/purge.py +0 -0
  195. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/reclaim.py +0 -0
  196. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/repair.py +0 -0
  197. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/replica.py +0 -0
  198. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/repository.py +0 -0
  199. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/status.py +0 -0
  200. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/task.py +0 -0
  201. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/upload.py +0 -0
  202. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/serializers/user.py +0 -0
  203. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/__init__.py +0 -0
  204. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/analytics.py +0 -0
  205. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/base.py +0 -0
  206. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/export.py +0 -0
  207. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/importer.py +0 -0
  208. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/orphan.py +0 -0
  209. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/purge.py +0 -0
  210. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/reclaim_space.py +0 -0
  211. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/replica.py +0 -0
  212. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/repository.py +0 -0
  213. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/test.py +0 -0
  214. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/tasks/upload.py +0 -0
  215. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/templates/rest_framework/api.html +0 -0
  216. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/templatetags/__init__.py +0 -0
  217. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/templatetags/pulp_urls.py +0 -0
  218. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/urls.py +0 -0
  219. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/util.py +0 -0
  220. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/views/__init__.py +0 -0
  221. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/views/importer.py +0 -0
  222. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/views/orphans.py +0 -0
  223. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/views/repair.py +0 -0
  224. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/views/status.py +0 -0
  225. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/__init__.py +0 -0
  226. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/access_policy.py +0 -0
  227. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/acs.py +0 -0
  228. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/base.py +0 -0
  229. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/content.py +0 -0
  230. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/custom_filters.py +0 -0
  231. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/domain.py +0 -0
  232. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/exporter.py +0 -0
  233. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/importer.py +0 -0
  234. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/orphans.py +0 -0
  235. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/publication.py +0 -0
  236. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/reclaim.py +0 -0
  237. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/replica.py +0 -0
  238. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/repository.py +0 -0
  239. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/task.py +0 -0
  240. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/upload.py +0 -0
  241. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/viewsets/user.py +0 -0
  242. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/app/wsgi.py +0 -0
  243. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/backends.py +0 -0
  244. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/cache/__init__.py +0 -0
  245. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/cache/cache.py +0 -0
  246. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/constants.py +0 -0
  247. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/content/__init__.py +0 -0
  248. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/content/authentication.py +0 -0
  249. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/content/handler.py +0 -0
  250. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/download/__init__.py +0 -0
  251. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/download/base.py +0 -0
  252. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/download/factory.py +0 -0
  253. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/download/file.py +0 -0
  254. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/download/http.py +0 -0
  255. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/exceptions/__init__.py +0 -0
  256. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/exceptions/base.py +0 -0
  257. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/exceptions/plugin.py +0 -0
  258. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/exceptions/validation.py +0 -0
  259. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/filters.py +0 -0
  260. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/middleware.py +0 -0
  261. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/openapi/__init__.py +0 -0
  262. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/__init__.py +0 -0
  263. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/access_policy.py +0 -0
  264. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/actions.py +0 -0
  265. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/apps.py +0 -0
  266. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/authentication/__init__.py +0 -0
  267. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/cache/__init__.py +0 -0
  268. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/constants.py +0 -0
  269. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/content.py +0 -0
  270. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/download/__init__.py +0 -0
  271. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/exceptions.py +0 -0
  272. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/files.py +0 -0
  273. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/importexport.py +0 -0
  274. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/modelresources.py +0 -0
  275. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/models/__init__.py +0 -0
  276. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/models/role.py +0 -0
  277. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/publication_utils.py +0 -0
  278. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/pulp_hashlib.py +0 -0
  279. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/replica.py +0 -0
  280. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/repo_version_utils.py +0 -0
  281. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/responses.py +0 -0
  282. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/serializers/__init__.py +0 -0
  283. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/serializers/content.py +0 -0
  284. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/stages/__init__.py +0 -0
  285. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/stages/api.py +0 -0
  286. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/stages/artifact_stages.py +0 -0
  287. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/stages/content_stages.py +0 -0
  288. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/stages/declarative_version.py +0 -0
  289. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/stages/models.py +0 -0
  290. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/storage.py +0 -0
  291. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/sync.py +0 -0
  292. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/tasking.py +0 -0
  293. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/util.py +0 -0
  294. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/viewsets/__init__.py +0 -0
  295. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/plugin/viewsets/content.py +0 -0
  296. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/responses.py +0 -0
  297. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tasking/__init__.py +0 -0
  298. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tasking/constants.py +0 -0
  299. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tasking/entrypoint.py +0 -0
  300. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tasking/pulpcore_worker.py +0 -0
  301. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tasking/storage.py +0 -0
  302. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tasking/tasks.py +0 -0
  303. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tasking/util.py +0 -0
  304. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/__init__.py +0 -0
  305. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/__init__.py +0 -0
  306. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/__init__.py +0 -0
  307. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
  308. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
  309. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_artifact_distribution.py +0 -0
  310. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_auth.py +0 -0
  311. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
  312. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_crd_artifacts.py +0 -0
  313. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_crud_domains.py +0 -0
  314. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_filter.py +0 -0
  315. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_openapi_schema.py +0 -0
  316. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_replication.py +0 -0
  317. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_repos.py +0 -0
  318. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_role.py +0 -0
  319. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_root_endpoint.py +0 -0
  320. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_scoping.py +0 -0
  321. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
  322. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_status.py +0 -0
  323. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_tasking.py +0 -0
  324. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_upload.py +0 -0
  325. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_users_groups.py +0 -0
  326. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/test_workers.py +0 -0
  327. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
  328. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
  329. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/content_with_coverage.py +0 -0
  330. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/gpg_ascii_armor_signing_service.py +0 -0
  331. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/functional/utils.py +0 -0
  332. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/__init__.py +0 -0
  333. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/conftest.py +0 -0
  334. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/content/__init__.py +0 -0
  335. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/content/test_handler.py +0 -0
  336. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/content/test_heartbeat.py +0 -0
  337. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/download/__init__.py +0 -0
  338. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
  339. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
  340. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/migration/__init__.py +0 -0
  341. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/migration/test_0077_move_remote_url_credentials.py +0 -0
  342. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/models/__init__.py +0 -0
  343. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/models/test_base.py +0 -0
  344. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/models/test_content.py +0 -0
  345. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/models/test_remote.py +0 -0
  346. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/models/test_repository.py +0 -0
  347. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/roles/__init__.py +0 -0
  348. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/roles/test_roles.py +0 -0
  349. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/serializers/__init__.py +0 -0
  350. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/serializers/test_base.py +0 -0
  351. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/serializers/test_domain.py +0 -0
  352. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/serializers/test_pulpexport.py +0 -0
  353. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/serializers/test_repository.py +0 -0
  354. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/stages/__init__.py +0 -0
  355. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/stages/test_artifactdownloader.py +0 -0
  356. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/stages/test_stages.py +0 -0
  357. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/test_cache.py +0 -0
  358. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/test_content_guard.py +0 -0
  359. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/test_files.py +0 -0
  360. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/test_import_checks.py +0 -0
  361. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/test_pulp_urls.py +0 -0
  362. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/test_settings.py +0 -0
  363. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/test_util.py +0 -0
  364. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
  365. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore/tests/unit/viewsets/test_viewset_base.py +0 -0
  366. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore.egg-info/SOURCES.txt +0 -0
  367. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore.egg-info/dependency_links.txt +0 -0
  368. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore.egg-info/entry_points.txt +0 -0
  369. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore.egg-info/requires.txt +0 -0
  370. {pulpcore-3.28.43 → pulpcore-3.28.44}/pulpcore.egg-info/top_level.txt +0 -0
  371. {pulpcore-3.28.43 → pulpcore-3.28.44}/requirements.txt +0 -0
  372. {pulpcore-3.28.43 → pulpcore-3.28.44}/setup.cfg +0 -0
  373. {pulpcore-3.28.43 → pulpcore-3.28.44}/test_requirements.txt +0 -0
  374. {pulpcore-3.28.43 → pulpcore-3.28.44}/unittest_requirements.txt +0 -0
@@ -8,6 +8,21 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.28.44 (2026-03-10) {: #3.28.44 }
12
+
13
+ ### REST API {: #3.28.44-rest-api }
14
+
15
+ #### Bugfixes {: #3.28.44-rest-api-bugfix }
16
+
17
+ - Moved artifact checksum validation from module-level settings code to a Django system check.
18
+ [#7380](https://github.com/pulp/pulpcore/issues/7380)
19
+
20
+ ### Plugin API {: #3.28.44-plugin-api }
21
+
22
+ No significant changes.
23
+
24
+ ---
25
+
11
26
  ## 3.28.43 (2025-12-09) {: #3.28.43 }
12
27
 
13
28
  ### REST API {: #3.28.43-rest-api }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.28.43
3
+ Version: 3.28.44
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Home-page: https://pulpproject.org
6
6
  Author: Pulp Team
@@ -234,7 +234,7 @@ class PulpAppConfig(PulpPluginAppConfig):
234
234
  label = "core"
235
235
 
236
236
  # The version of this app
237
- version = "3.28.43"
237
+ version = "3.28.44"
238
238
 
239
239
  # The python package name providing this app
240
240
  python_package_name = "pulpcore"
@@ -0,0 +1,119 @@
1
+ from pathlib import Path
2
+
3
+ from django.conf import settings
4
+ from django.core.checks import (
5
+ Debug as CheckDebug,
6
+ Error as CheckError,
7
+ Warning as CheckWarning,
8
+ Tags,
9
+ register,
10
+ )
11
+ from django.db.models import Q
12
+
13
+ from pulpcore import constants
14
+
15
+
16
+ @register(deploy=True)
17
+ def content_origin_check(app_configs, **kwargs):
18
+ messages = []
19
+ if getattr(settings, "CONTENT_ORIGIN", "UNREACHABLE") == "UNREACHABLE":
20
+ messages.append(
21
+ CheckError(
22
+ "CONTENT_ORIGIN is a required setting but it was not configured. This may be "
23
+ "caused by invalid read permissions of the settings file. Note that "
24
+ "CONTENT_ORIGIN is set by the installation automatically.",
25
+ id="pulpcore.E001",
26
+ )
27
+ )
28
+ return messages
29
+
30
+
31
+ @register(deploy=True)
32
+ def storage_paths(app_configs, **kwargs):
33
+ warnings = []
34
+
35
+ if settings.DEFAULT_FILE_STORAGE == "pulpcore.app.models.storage.FileSystem":
36
+ try:
37
+ media_root_dev = Path(settings.MEDIA_ROOT).stat().st_dev
38
+ except OSError:
39
+ media_root_dev = None
40
+ warnings.append(
41
+ CheckWarning(
42
+ "Your MEDIA_ROOT setting points to a path that does not exist.",
43
+ id="pulpcore.W001",
44
+ )
45
+ )
46
+
47
+ try:
48
+ working_dir_dev = Path(settings.WORKING_DIRECTORY).stat().st_dev
49
+ except OSError:
50
+ working_dir_dev = None
51
+ warnings.append(
52
+ CheckWarning(
53
+ "Your WORKING_DIRECTORY setting points to a path that does not exist.",
54
+ id="pulpcore.W002",
55
+ )
56
+ )
57
+
58
+ if media_root_dev and media_root_dev != working_dir_dev:
59
+ warnings.append(
60
+ CheckWarning(
61
+ "MEDIA_ROOT and WORKING_DIRECTORY are on different filesystems. "
62
+ "It is highly recommended that these live on the same filesystem",
63
+ id="pulpcore.W003",
64
+ )
65
+ )
66
+
67
+ return warnings
68
+
69
+
70
+ @register(Tags.database)
71
+ def check_artifact_checksums(app_configs, **kwargs):
72
+ from pulpcore.app.models import Artifact, RemoteArtifact
73
+
74
+ messages = []
75
+ allowed = set(settings.ALLOWED_CONTENT_CHECKSUMS)
76
+ forbidden = set(constants.ALL_KNOWN_CONTENT_CHECKSUMS).difference(allowed)
77
+
78
+ try:
79
+ for checksum in allowed:
80
+ if Artifact.objects.filter(**{checksum: None}).exists():
81
+ messages.append(
82
+ CheckError(
83
+ f"There have been identified artifacts missing checksum '{checksum}'. "
84
+ "Run 'pulpcore-manager handle-artifact-checksums' first to populate "
85
+ "missing artifact checksums.",
86
+ id="pulpcore.E002",
87
+ )
88
+ )
89
+ for checksum in forbidden:
90
+ if Artifact.objects.exclude(**{checksum: None}).exists():
91
+ messages.append(
92
+ CheckWarning(
93
+ f"There have been identified artifacts with forbidden checksum "
94
+ f"'{checksum}'. Run 'pulpcore-manager handle-artifact-checksums' "
95
+ "to unset forbidden checksums.",
96
+ id="pulpcore.W004",
97
+ )
98
+ )
99
+
100
+ has_any_checksum = ~Q(**{c: None for c in constants.ALL_KNOWN_CONTENT_CHECKSUMS})
101
+ missing_allowed = Q(**{c: None for c in allowed})
102
+ if RemoteArtifact.objects.filter(has_any_checksum & missing_allowed).exists():
103
+ messages.append(
104
+ CheckWarning(
105
+ "Detected remote content without allowed checksums. "
106
+ "Run 'pulpcore-manager handle-artifact-checksums --report' to "
107
+ "view this content.",
108
+ id="pulpcore.W005",
109
+ )
110
+ )
111
+ except Exception:
112
+ messages.append(
113
+ CheckDebug(
114
+ "Skipping artifact checksum checks (table may not exist yet).",
115
+ id="pulpcore.D001",
116
+ )
117
+ )
118
+
119
+ return messages
@@ -18,7 +18,6 @@ from pkg_resources import iter_entry_points
18
18
 
19
19
  from cryptography.fernet import Fernet
20
20
  from django.core.exceptions import ImproperlyConfigured
21
- from django.db import connection
22
21
 
23
22
  from pulpcore import constants
24
23
 
@@ -410,69 +409,6 @@ FORBIDDEN_CHECKSUMS = set(constants.ALL_KNOWN_CONTENT_CHECKSUMS).difference(
410
409
  ALLOWED_CONTENT_CHECKSUMS
411
410
  )
412
411
 
413
- _SKIPPED_COMMANDS_FOR_CONTENT_CHECKS = [
414
- "handle-artifact-checksums",
415
- "migrate",
416
- "collectstatic",
417
- "openapi",
418
- ]
419
-
420
- if not (len(sys.argv) >= 2 and sys.argv[1] in _SKIPPED_COMMANDS_FOR_CONTENT_CHECKS):
421
- try:
422
- with connection.cursor() as cursor:
423
- for checksum in ALLOWED_CONTENT_CHECKSUMS:
424
- # can't import Artifact here so use a direct db connection
425
- cursor.execute(f"SELECT count(pulp_id) FROM core_artifact WHERE {checksum} IS NULL")
426
- row = cursor.fetchone()
427
- if row[0] > 0:
428
- raise ImproperlyConfigured(
429
- (
430
- "There have been identified artifacts missing checksum '{}'. "
431
- "Run 'pulpcore-manager handle-artifact-checksums' first to populate "
432
- "missing artifact checksums."
433
- ).format(checksum)
434
- )
435
- for checksum in FORBIDDEN_CHECKSUMS:
436
- # can't import Artifact here so use a direct db connection
437
- cursor.execute(
438
- f"SELECT count(pulp_id) FROM core_artifact WHERE {checksum} IS NOT NULL"
439
- )
440
- row = cursor.fetchone()
441
- if row[0] > 0:
442
- raise ImproperlyConfigured(
443
- (
444
- "There have been identified artifacts with forbidden checksum '{}'. "
445
- "Run 'pulpcore-manager handle-artifact-checksums' first to unset "
446
- "forbidden checksums."
447
- ).format(checksum)
448
- )
449
-
450
- # warn if there are remote artifacts with checksums but no allowed checksums
451
- cond = " AND ".join([f"{c} IS NULL" for c in constants.ALL_KNOWN_CONTENT_CHECKSUMS])
452
- no_checksum_query = f"SELECT pulp_id FROM core_remoteartifact WHERE {cond}"
453
- cond = " AND ".join([f"{c} IS NULL" for c in ALLOWED_CONTENT_CHECKSUMS])
454
- cursor.execute(
455
- f"SELECT count(pulp_id) FROM core_remoteartifact WHERE {cond} AND "
456
- f"pulp_id NOT IN ({no_checksum_query})"
457
- )
458
- row = cursor.fetchone()
459
- if row[0] > 0:
460
- _logger.warning(
461
- (
462
- "Warning: detected remote content without allowed checksums. "
463
- "Run 'pulpcore-manager handle-artifact-checksums --report' to "
464
- "view this content."
465
- )
466
- )
467
-
468
- except ImproperlyConfigured as e:
469
- raise e
470
- except Exception:
471
- # our check could fail if the table hasn't been created yet or we can't get a db connection
472
- pass
473
- finally:
474
- connection.close()
475
-
476
412
  settings.set("V3_API_ROOT", settings.API_ROOT + "api/v3/") # Not user configurable
477
413
  settings.set("V3_DOMAIN_API_ROOT", settings.API_ROOT + "<slug:pulp_domain>/api/v3/")
478
414
  settings.set("V3_API_ROOT_NO_FRONT_SLASH", settings.V3_API_ROOT.lstrip("/"))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.28.43
3
+ Version: 3.28.44
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Home-page: https://pulpproject.org
6
6
  Author: Pulp Team
@@ -89,12 +89,14 @@ ignore = [
89
89
  ".github/**",
90
90
  "lint_requirements.txt",
91
91
  ".flake8",
92
+ "AGENTS.md",
93
+ "CLAUDE.md",
92
94
  ]
93
95
 
94
96
  [tool.bumpversion]
95
97
  # This section is managed by the plugin template. Do not edit manually.
96
98
 
97
- current_version = "3.28.43"
99
+ current_version = "3.28.44"
98
100
  commit = false
99
101
  tag = false
100
102
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<alpha>0a)?(?P<patch>\\d+)(\\.(?P<release>[a-z]+))?"
@@ -8,7 +8,7 @@ with open("requirements.txt") as requirements:
8
8
 
9
9
  setup(
10
10
  name="pulpcore",
11
- version="3.28.43",
11
+ version="3.28.44",
12
12
  description="Pulp Django Application and Related Modules",
13
13
  long_description=long_description,
14
14
  long_description_content_type="text/markdown",
@@ -1,58 +0,0 @@
1
- from pathlib import Path
2
-
3
- from django.conf import settings
4
- from django.core.checks import Error as CheckError, Warning as CheckWarning, register
5
-
6
-
7
- @register(deploy=True)
8
- def content_origin_check(app_configs, **kwargs):
9
- messages = []
10
- if getattr(settings, "CONTENT_ORIGIN", "UNREACHABLE") == "UNREACHABLE":
11
- messages.append(
12
- CheckError(
13
- "CONTENT_ORIGIN is a required setting but it was not configured. This may be "
14
- "caused by invalid read permissions of the settings file. Note that "
15
- "CONTENT_ORIGIN is set by the installation automatically.",
16
- id="pulpcore.E001",
17
- )
18
- )
19
- return messages
20
-
21
-
22
- @register(deploy=True)
23
- def storage_paths(app_configs, **kwargs):
24
- warnings = []
25
-
26
- if settings.DEFAULT_FILE_STORAGE == "pulpcore.app.models.storage.FileSystem":
27
- try:
28
- media_root_dev = Path(settings.MEDIA_ROOT).stat().st_dev
29
- except OSError:
30
- media_root_dev = None
31
- warnings.append(
32
- CheckWarning(
33
- "Your MEDIA_ROOT setting points to a path that does not exist.",
34
- id="pulpcore.W001",
35
- )
36
- )
37
-
38
- try:
39
- working_dir_dev = Path(settings.WORKING_DIRECTORY).stat().st_dev
40
- except OSError:
41
- working_dir_dev = None
42
- warnings.append(
43
- CheckWarning(
44
- "Your WORKING_DIRECTORY setting points to a path that does not exist.",
45
- id="pulpcore.W002",
46
- )
47
- )
48
-
49
- if media_root_dev and media_root_dev != working_dir_dev:
50
- warnings.append(
51
- CheckWarning(
52
- "MEDIA_ROOT and WORKING_DIRECTORY are on different filesystems. "
53
- "It is highly recommended that these live on the same filesystem",
54
- id="pulpcore.W003",
55
- )
56
- )
57
-
58
- return warnings
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes