pulpcore 3.84.0__py3-none-any.whl → 3.85.0__py3-none-any.whl

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.

Potentially problematic release.


This version of pulpcore might be problematic. Click here for more details.

Files changed (163) hide show
  1. pulp_certguard/app/__init__.py +1 -1
  2. pulp_certguard/app/models.py +7 -26
  3. pulp_certguard/app/serializers.py +0 -2
  4. pulp_certguard/rhsm/__init__.py +4 -0
  5. pulp_certguard/rhsm/rhsm_check_path.py +198 -0
  6. pulp_certguard/tests/unit/certdata.py +249 -0
  7. pulp_certguard/tests/unit/test_rhsm_check_path.py +213 -0
  8. pulp_file/app/__init__.py +1 -1
  9. pulp_file/app/migrations/0001_initial_squashed_0016_add_domain.py +0 -20
  10. pulp_file/app/migrations/0017_alter_filealternatecontentsource_alternatecontentsource_ptr_and_more.py +1 -1
  11. pulpcore/app/apps.py +2 -12
  12. pulpcore/app/entrypoint.py +22 -22
  13. pulpcore/app/migrations/0001_squashed_0090_char_to_text_field.py +0 -95
  14. pulpcore/app/migrations/0091_systemid.py +1 -1
  15. pulp_file/app/migrations/0006_delete_filefilesystemexporter.py → pulpcore/app/migrations/0136_delete_basedistribution.py +3 -3
  16. pulpcore/app/migrations/0137_appstatus.py +33 -0
  17. pulpcore/app/migrations/0138_vulnerabilityreport.py +33 -0
  18. pulpcore/app/models/__init__.py +4 -1
  19. pulpcore/app/models/publication.py +0 -41
  20. pulpcore/app/models/status.py +145 -0
  21. pulpcore/app/models/task.py +1 -0
  22. pulpcore/app/models/vulnerability_report.py +34 -0
  23. pulpcore/app/serializers/__init__.py +1 -0
  24. pulpcore/app/serializers/content.py +13 -1
  25. pulpcore/app/serializers/repository.py +8 -1
  26. pulpcore/app/serializers/vulnerability_report.py +27 -0
  27. pulpcore/app/settings.py +14 -47
  28. pulpcore/app/tasks/__init__.py +2 -0
  29. pulpcore/app/tasks/vulnerability_report.py +159 -0
  30. pulpcore/app/viewsets/__init__.py +1 -0
  31. pulpcore/app/viewsets/vulnerability_report.py +20 -0
  32. pulpcore/constants.py +4 -0
  33. pulpcore/content/__init__.py +23 -22
  34. pulpcore/content/handler.py +5 -2
  35. pulpcore/migrations.py +38 -11
  36. pulpcore/openapi/__init__.py +8 -0
  37. pulpcore/plugin/models/__init__.py +2 -0
  38. pulpcore/plugin/serializers/__init__.py +2 -0
  39. pulpcore/plugin/tasking.py +2 -0
  40. pulpcore/plugin/viewsets/__init__.py +2 -0
  41. pulpcore/pytest_plugin.py +21 -21
  42. pulpcore/tasking/worker.py +38 -35
  43. pulpcore/tests/functional/api/test_auth.py +18 -3
  44. pulpcore/tests/functional/api/test_openapi_schema.py +32 -15
  45. pulpcore/tests/functional/api/using_plugin/test_checkpoint.py +23 -1
  46. pulpcore/tests/functional/api/using_plugin/test_proxy.py +1 -1
  47. pulpcore/tests/unit/content/test_heartbeat.py +11 -8
  48. pulpcore/tests/unit/test_vulnerability_report.py +74 -0
  49. {pulpcore-3.84.0.dist-info → pulpcore-3.85.0.dist-info}/METADATA +12 -17
  50. {pulpcore-3.84.0.dist-info → pulpcore-3.85.0.dist-info}/RECORD +54 -152
  51. pulp_certguard/app/utils.py +0 -28
  52. pulp_certguard/tests/unit/test_models.py +0 -9
  53. pulp_file/app/migrations/0001_initial.py +0 -59
  54. pulp_file/app/migrations/0002_file_related_names.py +0 -55
  55. pulp_file/app/migrations/0003_auto_20191014_1721.py +0 -18
  56. pulp_file/app/migrations/0004_filefilesystemexporter.py +0 -21
  57. pulp_file/app/migrations/0005_filerepository.py +0 -24
  58. pulp_file/app/migrations/0007_filefilesystemexporter.py +0 -25
  59. pulp_file/app/migrations/0008_add_manifest_field.py +0 -19
  60. pulp_file/app/migrations/0009_move_data_to_new_master_distribution_model.py +0 -77
  61. pulp_file/app/migrations/0010_auto_publish.py +0 -23
  62. pulp_file/app/migrations/0011_fix_auto_publish.py +0 -36
  63. pulp_file/app/migrations/0012_delete_filefilesystemexporter.py +0 -28
  64. pulp_file/app/migrations/0013_file_acs.py +0 -24
  65. pulp_file/app/migrations/0014_new_rbac_permissions.py +0 -33
  66. pulp_file/app/migrations/0015_allow_null_manifest.py +0 -23
  67. pulp_file/app/migrations/0016_add_domain.py +0 -25
  68. pulpcore/app/migrations/0001_initial.py +0 -451
  69. pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -18
  70. pulpcore/app/migrations/0003_remove_upload_completed.py +0 -17
  71. pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -45
  72. pulpcore/app/migrations/0005_progressreport_code.py +0 -19
  73. pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -18
  74. pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -19
  75. pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -44
  76. pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -17
  77. pulpcore/app/migrations/0010_pulp_fields.py +0 -570
  78. pulpcore/app/migrations/0011_relative_path.py +0 -28
  79. pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -31
  80. pulpcore/app/migrations/0013_repository_pulp_type.py +0 -18
  81. pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -17
  82. pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -33
  83. pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -68
  84. pulpcore/app/migrations/0017_remove_task_parent.py +0 -17
  85. pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -20
  86. pulpcore/app/migrations/0019_add_signing_service_model.py +0 -27
  87. pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -17
  88. pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -24
  89. pulpcore/app/migrations/0022_rename_last_version.py +0 -27
  90. pulpcore/app/migrations/0023_change_exporter_models.py +0 -82
  91. pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -19
  92. pulpcore/app/migrations/0025_task_parent_task.py +0 -19
  93. pulpcore/app/migrations/0026_task_group.py +0 -32
  94. pulpcore/app/migrations/0027_export_backend.py +0 -31
  95. pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -85
  96. pulpcore/app/migrations/0029_export_delete.py +0 -19
  97. pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -24
  98. pulpcore/app/migrations/0031_import_export_validate_params.py +0 -19
  99. pulpcore/app/migrations/0032_export_to_chunks.py +0 -27
  100. pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -18
  101. pulpcore/app/migrations/0034_groupprogressreport.py +0 -32
  102. pulpcore/app/migrations/0035_content_upstream_id.py +0 -18
  103. pulpcore/app/migrations/0036_unprotect_last_export.py +0 -19
  104. pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -28
  105. pulpcore/app/migrations/0038_repository_remote.py +0 -19
  106. pulpcore/app/migrations/0039_change_download_concurrency.py +0 -25
  107. pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -28
  108. pulpcore/app/migrations/0041_accesspolicy.py +0 -29
  109. pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -56
  110. pulpcore/app/migrations/0043_toc_attribute.py +0 -19
  111. pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -20
  112. pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -19
  113. pulpcore/app/migrations/0046_task__resource_job_id.py +0 -35
  114. pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -59
  115. pulpcore/app/migrations/0048_fips_checksums.py +0 -38
  116. pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -24
  117. pulpcore/app/migrations/0050_namespace_access_policies.py +0 -28
  118. pulpcore/app/migrations/0051_timeoutfields.py +0 -34
  119. pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -18
  120. pulpcore/app/migrations/0053_remote_headers.py +0 -19
  121. pulpcore/app/migrations/0054_add_public_key.py +0 -104
  122. pulpcore/app/migrations/0055_label.py +0 -31
  123. pulpcore/app/migrations/0056_remote_rate_limit.py +0 -18
  124. pulpcore/app/migrations/0057_add_label_indexes.py +0 -23
  125. pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -18
  126. pulpcore/app/migrations/0059_proxy_creds.py +0 -23
  127. pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -45
  128. pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -87
  129. pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -36
  130. pulpcore/app/migrations/0063_repository_retained_versions.py +0 -18
  131. pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -109
  132. pulpcore/app/migrations/0064_repository_user_hidden.py +0 -18
  133. pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -14
  134. pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -24
  135. pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -19
  136. pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -23
  137. pulpcore/app/migrations/0069_update_json_fields.py +0 -63
  138. pulpcore/app/migrations/0070_rename_retained_versions.py +0 -18
  139. pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -35
  140. pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -18
  141. pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -139
  142. pulpcore/app/migrations/0074_acs.py +0 -47
  143. pulpcore/app/migrations/0075_rbaccontentguard.py +0 -25
  144. pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -39
  145. pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -41
  146. pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -70
  147. pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -18
  148. pulpcore/app/migrations/0080_proxy_group_model.py +0 -37
  149. pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -59
  150. pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -17
  151. pulpcore/app/migrations/0083_alter_group_options.py +0 -17
  152. pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -17
  153. pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -26
  154. pulpcore/app/migrations/0086_task_json_fields.py +0 -77
  155. pulpcore/app/migrations/0087_taskschedule.py +0 -34
  156. pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -18
  157. pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -17
  158. pulpcore/app/migrations/0090_char_to_text_field.py +0 -79
  159. pulpcore/tests/unit/migration/test_0077_move_remote_url_credentials.py +0 -35
  160. {pulpcore-3.84.0.dist-info → pulpcore-3.85.0.dist-info}/WHEEL +0 -0
  161. {pulpcore-3.84.0.dist-info → pulpcore-3.85.0.dist-info}/entry_points.txt +0 -0
  162. {pulpcore-3.84.0.dist-info → pulpcore-3.85.0.dist-info}/licenses/LICENSE +0 -0
  163. {pulpcore-3.84.0.dist-info → pulpcore-3.85.0.dist-info}/top_level.txt +0 -0
@@ -1,18 +0,0 @@
1
- # Generated by Django 2.2.13 on 2020-06-30 14:36
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('core', '0034_groupprogressreport'),
10
- ]
11
-
12
- operations = [
13
- migrations.AddField(
14
- model_name='content',
15
- name='upstream_id',
16
- field=models.UUIDField(null=True),
17
- ),
18
- ]
@@ -1,19 +0,0 @@
1
- # Generated by Django 2.2.14 on 2020-07-15 14:44
2
-
3
- from django.db import migrations, models
4
- import django.db.models.deletion
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('core', '0035_content_upstream_id'),
11
- ]
12
-
13
- operations = [
14
- migrations.AlterField(
15
- model_name='pulpexporter',
16
- name='last_export',
17
- field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='last_export', to='core.PulpExport'),
18
- ),
19
- ]
@@ -1,28 +0,0 @@
1
- # Generated by Django 2.2.14 on 2020-07-22 19:50
2
-
3
- from django.db import migrations, models
4
- import pulpcore.app.models.content
5
- import uuid
6
-
7
-
8
- class Migration(migrations.Migration):
9
-
10
- dependencies = [
11
- ('core', '0036_unprotect_last_export'),
12
- ]
13
-
14
- operations = [
15
- migrations.CreateModel(
16
- name='PulpTemporaryFile',
17
- fields=[
18
- ('pulp_id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
19
- ('pulp_created', models.DateTimeField(auto_now_add=True)),
20
- ('pulp_last_updated', models.DateTimeField(auto_now=True, null=True)),
21
- ('file', models.FileField(max_length=255, upload_to=pulpcore.app.models.content.PulpTemporaryFile.storage_path)),
22
- ],
23
- options={
24
- 'abstract': False,
25
- },
26
- bases=(pulpcore.app.models.content.HandleTempFilesMixin, models.Model),
27
- ),
28
- ]
@@ -1,19 +0,0 @@
1
- # Generated by Django 2.2.13 on 2020-07-14 20:57
2
-
3
- from django.db import migrations, models
4
- import django.db.models.deletion
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('core', '0037_pulptemporaryfile'),
11
- ]
12
-
13
- operations = [
14
- migrations.AddField(
15
- model_name='repository',
16
- name='remote',
17
- field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.Remote'),
18
- ),
19
- ]
@@ -1,25 +0,0 @@
1
- # Generated by Django 2.2.13 on 2020-08-07 18:51
2
-
3
- from django.db import migrations, models, transaction
4
-
5
-
6
- def update_download_concurrency(apps, schema_editor):
7
- with transaction.atomic():
8
- Remote = apps.get_model('core', 'Remote')
9
- Remote.objects.filter(download_concurrency=20).update(download_concurrency=10)
10
-
11
-
12
- class Migration(migrations.Migration):
13
-
14
- dependencies = [
15
- ('core', '0038_repository_remote'),
16
- ]
17
-
18
- operations = [
19
- migrations.AlterField(
20
- model_name='remote',
21
- name='download_concurrency',
22
- field=models.PositiveIntegerField(default=10),
23
- ),
24
- migrations.RunPython(update_download_concurrency, reverse_code=migrations.RunPython.noop, elidable=True),
25
- ]
@@ -1,28 +0,0 @@
1
- # Generated by Django 2.2.13 on 2020-07-01 21:29
2
-
3
- from django.conf import settings
4
- from django.contrib.auth import get_user_model
5
- from django.db import migrations
6
-
7
-
8
- def allow_admin_as_staff(apps, schema_editor):
9
- user_model = get_user_model()
10
- try:
11
- admin_user = user_model.objects.get(username='admin')
12
- except user_model.DoesNotExist:
13
- pass
14
- else:
15
- admin_user.is_staff = True
16
- admin_user.save()
17
-
18
-
19
- class Migration(migrations.Migration):
20
-
21
- dependencies = [
22
- ('core', '0039_change_download_concurrency'),
23
- migrations.swappable_dependency(settings.AUTH_USER_MODEL),
24
- ]
25
-
26
- operations = [
27
- migrations.RunPython(allow_admin_as_staff, reverse_code=migrations.RunPython.noop, elidable=True),
28
- ]
@@ -1,29 +0,0 @@
1
- # Generated by Django 2.2.13 on 2020-07-14 21:00
2
-
3
- import django.contrib.postgres.fields.jsonb
4
- from django.db import migrations, models
5
- import uuid
6
-
7
-
8
- class Migration(migrations.Migration):
9
-
10
- dependencies = [
11
- ('core', '0040_set_admin_is_staff'),
12
- ]
13
-
14
- operations = [
15
- migrations.CreateModel(
16
- name='AccessPolicy',
17
- fields=[
18
- ('pulp_id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
19
- ('pulp_created', models.DateTimeField(auto_now_add=True)),
20
- ('pulp_last_updated', models.DateTimeField(auto_now=True, null=True)),
21
- ('statements', django.contrib.postgres.fields.jsonb.JSONField()),
22
- ('viewset_name', models.CharField(max_length=128, unique=True)),
23
- ('permissions_assignment', django.contrib.postgres.fields.jsonb.JSONField()),
24
- ],
25
- options={
26
- 'abstract': False,
27
- },
28
- ),
29
- ]
@@ -1,56 +0,0 @@
1
- # Generated by Django 2.2.13 on 2020-07-14 17:02
2
-
3
- from django.db import migrations
4
-
5
-
6
- TASK_STATEMENTS = [
7
- {
8
- "action": ["list"],
9
- "principal": "authenticated",
10
- "effect": "allow"
11
- }, {
12
- "action": ["retrieve"],
13
- "principal": "authenticated",
14
- "effect": "allow",
15
- "condition": "has_model_or_obj_perms:core.view_task"
16
- }, {
17
- "action": ["destroy"],
18
- "principal": "authenticated",
19
- "effect": "allow",
20
- "condition": "has_model_or_obj_perms:core.delete_task"
21
- }, {
22
- "action": ["update", "partial_update"],
23
- "principal": "authenticated",
24
- "effect": "allow",
25
- "condition": "has_model_or_obj_perms:core.change_task"
26
- }
27
- ]
28
-
29
-
30
- TASK_PERMISSIONS_ASSIGNMENT = [
31
- {
32
- "function": "add_for_object_creator",
33
- "parameters": None,
34
- "permissions": ["core.view_task", "core.change_task", "core.delete_task"]
35
- }
36
- ]
37
-
38
-
39
- def populate_access_policy(apps, schema_editor):
40
- AccessPolicy = apps.get_model('core', 'AccessPolicy')
41
- AccessPolicy.objects.create(
42
- viewset_name="TaskViewSet",
43
- statements=TASK_STATEMENTS,
44
- permissions_assignment=TASK_PERMISSIONS_ASSIGNMENT
45
- )
46
-
47
-
48
- class Migration(migrations.Migration):
49
-
50
- dependencies = [
51
- ('core', '0041_accesspolicy'),
52
- ]
53
-
54
- operations = [
55
- migrations.RunPython(populate_access_policy, reverse_code=migrations.RunPython.noop, elidable=True),
56
- ]
@@ -1,19 +0,0 @@
1
- # Generated by Django 2.2.14 on 2020-08-25 13:40
2
-
3
- import django.contrib.postgres.fields.jsonb
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('core', '0042_rbac_for_tasks'),
11
- ]
12
-
13
- operations = [
14
- migrations.AddField(
15
- model_name='pulpexport',
16
- name='toc_info',
17
- field=django.contrib.postgres.fields.jsonb.JSONField(null=True),
18
- ),
19
- ]
@@ -1,20 +0,0 @@
1
- # Generated by Django 2.2.15 on 2020-08-25 19:32
2
-
3
- from django.db import migrations
4
- import pulpcore.app.models.content
5
- import pulpcore.app.models.fields
6
-
7
-
8
- class Migration(migrations.Migration):
9
-
10
- dependencies = [
11
- ('core', '0043_toc_attribute'),
12
- ]
13
-
14
- operations = [
15
- migrations.AlterField(
16
- model_name='pulptemporaryfile',
17
- name='file',
18
- field=pulpcore.app.models.fields.ArtifactFileField(max_length=255, upload_to=pulpcore.app.models.content.PulpTemporaryFile.storage_path),
19
- ),
20
- ]
@@ -1,19 +0,0 @@
1
- # Generated by Django 2.2.15 on 2020-09-02 16:16
2
-
3
- import django.contrib.postgres.fields.jsonb
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('core', '0044_temp_file_artifact_field'),
11
- ]
12
-
13
- operations = [
14
- migrations.AlterField(
15
- model_name='accesspolicy',
16
- name='permissions_assignment',
17
- field=django.contrib.postgres.fields.jsonb.JSONField(null=True),
18
- ),
19
- ]
@@ -1,35 +0,0 @@
1
- # Generated by Django 2.2.15 on 2020-09-02 04:27
2
-
3
- import uuid
4
-
5
- from django.db import migrations, models
6
-
7
-
8
- def fill_in_resource_id(apps, schema_editor):
9
- # Fills in _resource_job_id with a random UUID, it won't matter because
10
- # it's only used for new ones.
11
- Task = apps.get_model('core', 'Task')
12
- for task in Task.objects.all():
13
- task._resource_job_id = uuid.uuid4()
14
- task.save()
15
-
16
-
17
- class Migration(migrations.Migration):
18
-
19
- dependencies = [
20
- ('core', '0045_accesspolicy_permissions_allow_null'),
21
- ]
22
-
23
- operations = [
24
- migrations.AddField(
25
- model_name='task',
26
- name='_resource_job_id',
27
- field=models.UUIDField(null=True),
28
- ),
29
- migrations.RunPython(fill_in_resource_id, reverse_code=migrations.RunPython.noop, elidable=True),
30
- migrations.AlterField(
31
- model_name='task',
32
- name='_resource_job_id',
33
- field=models.UUIDField()
34
- )
35
- ]
@@ -1,59 +0,0 @@
1
- # Generated by Django 2.2.15 on 2020-09-09 19:22
2
-
3
- from django.db import migrations, models
4
- import django.db.models.deletion
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('core', '0046_task__resource_job_id'),
11
- ]
12
-
13
- operations = [
14
- migrations.AlterField(
15
- model_name='contentartifact',
16
- name='artifact',
17
- field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='content_memberships', to='core.Artifact'),
18
- ),
19
- migrations.AlterField(
20
- model_name='basedistribution',
21
- name='pulp_type',
22
- field=models.TextField(db_index=True, default=None),
23
- ),
24
- migrations.AlterField(
25
- model_name='content',
26
- name='pulp_type',
27
- field=models.TextField(db_index=True, default=None),
28
- ),
29
- migrations.AlterField(
30
- model_name='contentguard',
31
- name='pulp_type',
32
- field=models.TextField(db_index=True, default=None),
33
- ),
34
- migrations.AlterField(
35
- model_name='exporter',
36
- name='pulp_type',
37
- field=models.TextField(db_index=True, default=None),
38
- ),
39
- migrations.AlterField(
40
- model_name='importer',
41
- name='pulp_type',
42
- field=models.TextField(db_index=True, default=None),
43
- ),
44
- migrations.AlterField(
45
- model_name='publication',
46
- name='pulp_type',
47
- field=models.TextField(db_index=True, default=None),
48
- ),
49
- migrations.AlterField(
50
- model_name='remote',
51
- name='pulp_type',
52
- field=models.TextField(db_index=True, default=None),
53
- ),
54
- migrations.AlterField(
55
- model_name='repository',
56
- name='pulp_type',
57
- field=models.TextField(db_index=True, default=None),
58
- ),
59
- ]
@@ -1,38 +0,0 @@
1
- # Generated by Django 2.2.16 on 2020-09-08 16:32
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('core', '0047_improve_orphan_cleanup'),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name='artifact',
15
- name='md5',
16
- field=models.CharField(db_index=True, max_length=32, null=True),
17
- ),
18
- migrations.AlterField(
19
- model_name='artifact',
20
- name='sha1',
21
- field=models.CharField(db_index=True, max_length=40, null=True),
22
- ),
23
- migrations.AlterField(
24
- model_name='artifact',
25
- name='sha224',
26
- field=models.CharField(db_index=True, max_length=56, null=True),
27
- ),
28
- migrations.AlterField(
29
- model_name='artifact',
30
- name='sha384',
31
- field=models.CharField(db_index=True, max_length=96, null=True, unique=True),
32
- ),
33
- migrations.AlterField(
34
- model_name='artifact',
35
- name='sha512',
36
- field=models.CharField(db_index=True, max_length=128, null=True, unique=True),
37
- ),
38
- ]
@@ -1,24 +0,0 @@
1
- # Generated by Django 2.2.16 on 2020-10-30 09:31
2
-
3
- from django.db import migrations, models
4
- import pulpcore.app.models.upload
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('core', '0048_fips_checksums'),
11
- ]
12
-
13
- operations = [
14
- migrations.RemoveField(
15
- model_name='upload',
16
- name='file',
17
- ),
18
- migrations.AddField(
19
- model_name='uploadchunk',
20
- name='file',
21
- field=models.FileField(default=None, max_length=255, upload_to=pulpcore.app.models.upload.UploadChunk.storage_path),
22
- preserve_default=False,
23
- ),
24
- ]
@@ -1,28 +0,0 @@
1
- # Generated by Django 2.2.17 on 2020-11-18 09:41
2
-
3
- from django.db import migrations
4
-
5
-
6
- def namespace_access_policies_up(apps, schema_editor):
7
- AccessPolicy = apps.get_model('core', 'AccessPolicy')
8
- task_policy = AccessPolicy.objects.get(viewset_name="TaskViewSet")
9
- task_policy.viewset_name = "tasks"
10
- task_policy.save()
11
-
12
-
13
- def namespace_access_policies_down(apps, schema_editor):
14
- AccessPolicy = apps.get_model('core', 'AccessPolicy')
15
- task_policy = AccessPolicy.objects.get(viewset_name="tasks")
16
- task_policy.viewset_name = "TaskViewSet"
17
- task_policy.save()
18
-
19
-
20
- class Migration(migrations.Migration):
21
-
22
- dependencies = [
23
- ('core', '0049_add_file_field_to_uploadchunk'),
24
- ]
25
-
26
- operations = [
27
- migrations.RunPython(namespace_access_policies_up, reverse_code=namespace_access_policies_down, elidable=True),
28
- ]
@@ -1,34 +0,0 @@
1
- # Generated by Django 2.2.17 on 2020-11-12 19:38
2
-
3
- import django.core.validators
4
- from django.db import migrations, models
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('core', '0050_namespace_access_policies'),
11
- ]
12
-
13
- operations = [
14
- migrations.AddField(
15
- model_name='remote',
16
- name='connect_timeout',
17
- field=models.FloatField(null=True, validators=[django.core.validators.MinValueValidator(0.0, 'Timeout must be >= 0')]),
18
- ),
19
- migrations.AddField(
20
- model_name='remote',
21
- name='sock_connect_timeout',
22
- field=models.FloatField(null=True, validators=[django.core.validators.MinValueValidator(0.0, 'Timeout must be >= 0')]),
23
- ),
24
- migrations.AddField(
25
- model_name='remote',
26
- name='sock_read_timeout',
27
- field=models.FloatField(null=True, validators=[django.core.validators.MinValueValidator(0.0, 'Timeout must be >= 0')]),
28
- ),
29
- migrations.AddField(
30
- model_name='remote',
31
- name='total_timeout',
32
- field=models.FloatField(null=True, validators=[django.core.validators.MinValueValidator(0.0, 'Timeout must be >= 0')]),
33
- ),
34
- ]
@@ -1,18 +0,0 @@
1
- # Generated by Django 2.2.16 on 2020-09-25 22:47
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('core', '0051_timeoutfields'),
10
- ]
11
-
12
- operations = [
13
- migrations.AddField(
14
- model_name='task',
15
- name='logging_cid',
16
- field=models.CharField(db_index=True, default='', max_length=256),
17
- ),
18
- ]
@@ -1,19 +0,0 @@
1
- # Generated by Django 2.2.17 on 2021-01-20 14:34
2
-
3
- import django.contrib.postgres.fields.jsonb
4
- from django.db import migrations
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- dependencies = [
10
- ('core', '0052_tasking_logging_cid'),
11
- ]
12
-
13
- operations = [
14
- migrations.AddField(
15
- model_name='remote',
16
- name='headers',
17
- field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True),
18
- ),
19
- ]
@@ -1,104 +0,0 @@
1
- # Generated by Django 2.2.17 on 2020-12-05 11:11
2
-
3
- import json
4
- import warnings
5
- import subprocess
6
- import tempfile
7
-
8
- import gnupg
9
-
10
- from django.db import migrations, models
11
-
12
-
13
- def sign(service, filename):
14
- completed_process = subprocess.run(
15
- [service.script, filename], env={}, stdout=subprocess.PIPE, stderr=subprocess.PIPE
16
- )
17
-
18
- if completed_process.returncode != 0:
19
- raise RuntimeError()
20
-
21
- try:
22
- return_value = json.loads(completed_process.stdout)
23
- except json.JSONDecodeError:
24
- raise RuntimeError()
25
-
26
- return return_value
27
-
28
-
29
- def print_warning(service):
30
- warnings.warn(
31
- "The public key migration for '{}' failed. The resource will not "
32
- "be valid. Consider creating a new signing service instead.".format(service.name),
33
- RuntimeWarning,
34
- )
35
-
36
-
37
- def sign_temp_file(service, temp_file):
38
- try:
39
- return sign(service, temp_file.name)
40
- except RuntimeError:
41
- print_warning(service)
42
- raise
43
-
44
-
45
- def update_model_fields(sign_results, service, gpg):
46
- try:
47
- with open(sign_results['key'], 'rb') as key:
48
- public_key = key.read()
49
- service.public_key = public_key
50
-
51
- import_result = gpg.import_keys(public_key)
52
- service.pubkey_fingerprint = import_result.fingerprints[0]
53
- service.save()
54
- except OSError:
55
- print_warning(service)
56
-
57
-
58
- def migrate_public_key_values(apps, schema_editor):
59
- SigningService = apps.get_model('core', 'SigningService')
60
- gpg = gnupg.GPG()
61
-
62
- with tempfile.TemporaryDirectory() as temp_directory_name:
63
- with tempfile.NamedTemporaryFile(dir=temp_directory_name) as temp_file:
64
- temp_file.write(b'arbitrary data')
65
- temp_file.flush()
66
-
67
- for service in SigningService.objects.all():
68
- try:
69
- sign_results = sign_temp_file(service, temp_file)
70
- except RuntimeError:
71
- pass
72
- else:
73
- update_model_fields(sign_results, service, gpg)
74
-
75
-
76
- class Migration(migrations.Migration):
77
-
78
- dependencies = [
79
- ('core', '0053_remote_headers'),
80
- ]
81
-
82
- operations = [
83
- migrations.AddField(
84
- model_name='signingservice',
85
- name='public_key',
86
- field=models.TextField(default=''),
87
- ),
88
- migrations.AddField(
89
- model_name='signingservice',
90
- name='pubkey_fingerprint',
91
- field=models.TextField(default=''),
92
- ),
93
- migrations.RunPython(migrate_public_key_values, reverse_code=migrations.RunPython.noop, elidable=True),
94
- migrations.AlterField(
95
- model_name='signingservice',
96
- name='public_key',
97
- field=models.TextField(),
98
- ),
99
- migrations.AlterField(
100
- model_name='signingservice',
101
- name='pubkey_fingerprint',
102
- field=models.TextField(),
103
- ),
104
- ]