katello 4.14.0 → 4.15.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (432) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/common/chosen.jquery.js +3 -3
  3. data/app/assets/javascripts/katello/common/env_select_scroll.js +3 -3
  4. data/app/assets/javascripts/katello/common/katello.js +8 -7
  5. data/app/assets/javascripts/katello/common/katello_object.js +3 -3
  6. data/app/assets/javascripts/katello/common/menu.js +7 -7
  7. data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +6 -6
  8. data/app/assets/javascripts/katello/locale/bn/katello.js +259 -28
  9. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +258 -27
  10. data/app/assets/javascripts/katello/locale/ca/katello.js +258 -27
  11. data/app/assets/javascripts/katello/locale/cs/katello.js +258 -27
  12. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +258 -27
  13. data/app/assets/javascripts/katello/locale/de/katello.js +259 -28
  14. data/app/assets/javascripts/katello/locale/de_AT/katello.js +258 -27
  15. data/app/assets/javascripts/katello/locale/de_DE/katello.js +258 -27
  16. data/app/assets/javascripts/katello/locale/el/katello.js +258 -27
  17. data/app/assets/javascripts/katello/locale/en/katello.js +258 -27
  18. data/app/assets/javascripts/katello/locale/en_GB/katello.js +258 -27
  19. data/app/assets/javascripts/katello/locale/en_US/katello.js +258 -27
  20. data/app/assets/javascripts/katello/locale/es/katello.js +259 -28
  21. data/app/assets/javascripts/katello/locale/et_EE/katello.js +258 -27
  22. data/app/assets/javascripts/katello/locale/fr/katello.js +259 -28
  23. data/app/assets/javascripts/katello/locale/gl/katello.js +258 -27
  24. data/app/assets/javascripts/katello/locale/gu/katello.js +258 -27
  25. data/app/assets/javascripts/katello/locale/he_IL/katello.js +258 -27
  26. data/app/assets/javascripts/katello/locale/hi/katello.js +258 -27
  27. data/app/assets/javascripts/katello/locale/id/katello.js +258 -27
  28. data/app/assets/javascripts/katello/locale/it/katello.js +259 -28
  29. data/app/assets/javascripts/katello/locale/ja/katello.js +259 -28
  30. data/app/assets/javascripts/katello/locale/ka/katello.js +259 -28
  31. data/app/assets/javascripts/katello/locale/kn/katello.js +258 -27
  32. data/app/assets/javascripts/katello/locale/ko/katello.js +259 -28
  33. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +258 -27
  34. data/app/assets/javascripts/katello/locale/mr/katello.js +258 -27
  35. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +258 -27
  36. data/app/assets/javascripts/katello/locale/or/katello.js +258 -27
  37. data/app/assets/javascripts/katello/locale/pa/katello.js +258 -27
  38. data/app/assets/javascripts/katello/locale/pl/katello.js +258 -27
  39. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +258 -27
  40. data/app/assets/javascripts/katello/locale/pt/katello.js +258 -27
  41. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +259 -28
  42. data/app/assets/javascripts/katello/locale/ro/katello.js +258 -27
  43. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +258 -27
  44. data/app/assets/javascripts/katello/locale/ru/katello.js +259 -28
  45. data/app/assets/javascripts/katello/locale/sl/katello.js +258 -27
  46. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +258 -27
  47. data/app/assets/javascripts/katello/locale/ta/katello.js +259 -28
  48. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +258 -27
  49. data/app/assets/javascripts/katello/locale/te/katello.js +258 -27
  50. data/app/assets/javascripts/katello/locale/tr/katello.js +258 -27
  51. data/app/assets/javascripts/katello/locale/vi/katello.js +258 -27
  52. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +258 -27
  53. data/app/assets/javascripts/katello/locale/zh/katello.js +258 -27
  54. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +259 -28
  55. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +259 -28
  56. data/app/assets/javascripts/katello/organizations/download_certificate.js +1 -1
  57. data/app/assets/javascripts/katello/sync_management/sync_management.js +22 -18
  58. data/app/assets/javascripts/katello/widgets/env_content_view_selector.js +5 -5
  59. data/app/assets/javascripts/katello/widgets/path_selector.js +6 -6
  60. data/app/assets/javascripts/katello/widgets/subpanel_new.js +1 -1
  61. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +7 -7
  62. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +6 -1
  63. data/app/controllers/katello/api/v2/activation_keys_controller.rb +131 -59
  64. data/app/controllers/katello/api/v2/api_controller.rb +1 -1
  65. data/app/controllers/katello/api/v2/capsule_content_controller.rb +21 -10
  66. data/app/controllers/katello/api/v2/content_view_components_controller.rb +1 -1
  67. data/app/controllers/katello/api/v2/content_view_environments_controller.rb +54 -0
  68. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +3 -3
  69. data/app/controllers/katello/api/v2/content_views_controller.rb +1 -1
  70. data/app/controllers/katello/api/v2/environments_controller.rb +1 -1
  71. data/app/controllers/katello/api/v2/exports_controller.rb +1 -1
  72. data/app/controllers/katello/api/v2/host_collections_controller.rb +2 -2
  73. data/app/controllers/katello/api/v2/host_contents_controller.rb +1 -1
  74. data/app/controllers/katello/api/v2/host_errata_controller.rb +1 -1
  75. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -1
  76. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +1 -4
  77. data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
  78. data/app/controllers/katello/api/v2/repositories_controller.rb +3 -2
  79. data/app/controllers/katello/api/v2/repository_sets_controller.rb +1 -1
  80. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +10 -16
  81. data/app/controllers/katello/concerns/api/v2/multi_cv_params_handling.rb +24 -0
  82. data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +2 -5
  83. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +1 -1
  84. data/app/controllers/katello/concerns/registration_commands_controller_extensions.rb +1 -1
  85. data/app/helpers/katello/concerns/smart_proxy_helper_extensions.rb +5 -5
  86. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +2 -2
  87. data/app/helpers/katello/katello_url_helper.rb +1 -1
  88. data/app/lib/actions/candlepin/product/content_create.rb +12 -1
  89. data/app/lib/actions/candlepin/product/content_update.rb +21 -4
  90. data/app/lib/actions/katello/activation_key/reassign.rb +4 -3
  91. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +8 -3
  92. data/app/lib/actions/katello/capsule_content/update_content_counts.rb +21 -3
  93. data/app/lib/actions/katello/cdn_configuration/update.rb +1 -1
  94. data/app/lib/actions/katello/content_view/capsule_sync.rb +17 -1
  95. data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
  96. data/app/lib/actions/katello/content_view/presenters/incremental_updates_presenter.rb +1 -1
  97. data/app/lib/actions/katello/content_view/remove.rb +8 -12
  98. data/app/lib/actions/katello/content_view_version/import.rb +1 -1
  99. data/app/lib/actions/katello/content_view_version/incremental_update.rb +2 -2
  100. data/app/lib/actions/katello/flatpak/scan_remote.rb +62 -0
  101. data/app/lib/actions/katello/host/hypervisors.rb +1 -1
  102. data/app/lib/actions/katello/product/content_create.rb +28 -19
  103. data/app/lib/actions/katello/product/content_destroy.rb +6 -5
  104. data/app/lib/actions/katello/product/destroy.rb +1 -1
  105. data/app/lib/actions/katello/repository/clone_contents.rb +14 -0
  106. data/app/lib/actions/katello/repository/create.rb +24 -17
  107. data/app/lib/actions/katello/repository/create_container_push_root.rb +44 -0
  108. data/app/lib/actions/katello/repository/create_root.rb +5 -14
  109. data/app/lib/actions/katello/repository/destroy.rb +3 -3
  110. data/app/lib/actions/katello/repository/discover.rb +1 -1
  111. data/app/lib/actions/katello/repository/finish_upload.rb +13 -0
  112. data/app/lib/actions/katello/repository/import_upload.rb +1 -1
  113. data/app/lib/actions/katello/repository/sync.rb +16 -0
  114. data/app/lib/actions/katello/repository/update.rb +11 -20
  115. data/app/lib/actions/katello/repository/upload_files.rb +1 -1
  116. data/app/lib/actions/katello/repository_set/enable_repository.rb +1 -1
  117. data/app/lib/actions/katello/repository_set/scan_cdn.rb +1 -1
  118. data/app/lib/actions/katello/upstream_subscriptions/bind_entitlement.rb +1 -1
  119. data/app/lib/actions/pulp3/capsule_content/sync.rb +1 -1
  120. data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +6 -2
  121. data/app/lib/actions/pulp3/orchestration/content_view_version/export_library.rb +1 -1
  122. data/app/lib/actions/pulp3/orchestration/repository/create.rb +6 -1
  123. data/app/lib/actions/pulp3/orchestration/repository/trigger_update_repo_cert_guard.rb +1 -1
  124. data/app/lib/actions/pulp3/repository/initialize.rb +17 -0
  125. data/app/lib/actions/pulp3/repository/refresh_distribution.rb +1 -1
  126. data/app/lib/katello/api/constraints/register_with_activation_key_constraint.rb +11 -0
  127. data/app/lib/katello/concerns/base_template_scope_extensions.rb +1 -1
  128. data/app/lib/katello/http_resource.rb +6 -6
  129. data/app/lib/katello/messaging/stomp_connection.rb +4 -4
  130. data/app/lib/katello/resources/candlepin/activation_key.rb +1 -1
  131. data/app/lib/katello/resources/candlepin/owner.rb +1 -1
  132. data/app/lib/katello/resources/candlepin/product.rb +1 -1
  133. data/app/lib/katello/resources/candlepin.rb +1 -1
  134. data/app/lib/katello/resources/cdn/katello_cdn.rb +3 -3
  135. data/app/lib/katello/resources/cdn.rb +1 -1
  136. data/app/lib/katello/resources/discovery/container.rb +5 -3
  137. data/app/lib/katello/resources/discovery/yum.rb +3 -1
  138. data/app/lib/katello/resources/registry.rb +0 -3
  139. data/app/lib/katello/util/candlepin_repository_checker.rb +2 -2
  140. data/app/lib/katello/util/cveak_migrator.rb +38 -0
  141. data/app/lib/katello/util/deb.rb +9 -0
  142. data/app/lib/katello/util/deduplication_migrator.rb +8 -8
  143. data/app/lib/katello/util/model.rb +2 -2
  144. data/app/lib/katello/util/search.rb +5 -5
  145. data/app/lib/katello/util/task_status.rb +19 -19
  146. data/app/lib/katello/util/url_matcher.rb +3 -3
  147. data/app/lib/katello/validators/content_view_environment_org_validator.rb +2 -1
  148. data/app/lib/katello/validators/katello_url_format_validator.rb +2 -2
  149. data/app/mailers/katello/errata_mailer.rb +1 -4
  150. data/app/models/katello/activation_key.rb +123 -27
  151. data/app/models/katello/alternate_content_source.rb +5 -5
  152. data/app/models/katello/authorization/activation_key.rb +1 -1
  153. data/app/models/katello/authorization/content_view_environment.rb +7 -0
  154. data/app/models/katello/cdn_configuration.rb +1 -1
  155. data/app/models/katello/concerns/content_facet_host_extensions.rb +24 -2
  156. data/app/models/katello/concerns/host_managed_extensions.rb +29 -22
  157. data/app/models/katello/concerns/organization_extensions.rb +4 -4
  158. data/app/models/katello/concerns/redhat_extensions.rb +1 -1
  159. data/app/models/katello/concerns/smart_proxy_extensions.rb +84 -39
  160. data/app/models/katello/content.rb +3 -3
  161. data/app/models/katello/content_view.rb +15 -18
  162. data/app/models/katello/content_view_environment.rb +56 -15
  163. data/app/models/katello/content_view_environment_activation_key.rb +20 -0
  164. data/app/models/katello/content_view_erratum_filter_rule.rb +1 -1
  165. data/app/models/katello/content_view_filter.rb +2 -2
  166. data/app/models/katello/content_view_history.rb +1 -1
  167. data/app/models/katello/content_view_repository.rb +1 -1
  168. data/app/models/katello/content_view_version.rb +3 -3
  169. data/app/models/katello/content_view_version_export_history.rb +2 -2
  170. data/app/models/katello/content_view_version_import_history.rb +1 -1
  171. data/app/models/katello/events/delete_latest_content_view_version.rb +1 -1
  172. data/app/models/katello/flatpak_remote.rb +11 -0
  173. data/app/models/katello/flatpak_remote_repository.rb +12 -0
  174. data/app/models/katello/flatpak_remote_repository_manifest.rb +10 -0
  175. data/app/models/katello/glue/candlepin/activation_key.rb +1 -1
  176. data/app/models/katello/glue/candlepin/candlepin_object.rb +1 -1
  177. data/app/models/katello/glue/candlepin/pool.rb +1 -1
  178. data/app/models/katello/glue/pulp/repos.rb +1 -1
  179. data/app/models/katello/host/content_facet.rb +33 -17
  180. data/app/models/katello/host/info_provider.rb +2 -4
  181. data/app/models/katello/host/subscription_facet.rb +3 -3
  182. data/app/models/katello/host_available_module_stream.rb +1 -1
  183. data/app/models/katello/installed_product.rb +2 -2
  184. data/app/models/katello/kt_environment.rb +11 -6
  185. data/app/models/katello/ping.rb +2 -3
  186. data/app/models/katello/repository.rb +40 -6
  187. data/app/models/katello/rhel_lifecycle_status.rb +10 -10
  188. data/app/models/katello/root_repository.rb +14 -18
  189. data/app/models/katello/task_status.rb +1 -1
  190. data/app/models/katello/upstream_pool.rb +2 -2
  191. data/app/presenters/katello/product_content_presenter.rb +2 -2
  192. data/app/presenters/katello/repository_presenter.rb +3 -3
  193. data/app/presenters/katello/sync_status_presenter.rb +3 -3
  194. data/app/services/cert/certs.rb +6 -2
  195. data/app/services/katello/candlepin_event_listener.rb +1 -1
  196. data/app/services/katello/event_monitor/poller_thread.rb +1 -1
  197. data/app/services/katello/event_queue.rb +1 -1
  198. data/app/services/katello/product_content_finder.rb +10 -10
  199. data/app/services/katello/product_content_importer.rb +1 -1
  200. data/app/services/katello/pulp3/alternate_content_source.rb +2 -2
  201. data/app/services/katello/pulp3/ansible_collection.rb +1 -1
  202. data/app/services/katello/pulp3/api/apt.rb +4 -0
  203. data/app/services/katello/pulp3/content.rb +1 -0
  204. data/app/services/katello/pulp3/content_view_version/export.rb +3 -10
  205. data/app/services/katello/pulp3/content_view_version/export_validator.rb +1 -1
  206. data/app/services/katello/pulp3/content_view_version/import.rb +2 -2
  207. data/app/services/katello/pulp3/content_view_version/import_gpg_keys.rb +1 -1
  208. data/app/services/katello/pulp3/content_view_version/importable_products.rb +2 -2
  209. data/app/services/katello/pulp3/content_view_version/importable_repositories.rb +4 -4
  210. data/app/services/katello/pulp3/content_view_version/metadata_generator.rb +2 -2
  211. data/app/services/katello/pulp3/deb.rb +35 -1
  212. data/app/services/katello/pulp3/docker_manifest.rb +1 -1
  213. data/app/services/katello/pulp3/docker_manifest_list.rb +6 -2
  214. data/app/services/katello/pulp3/docker_tag.rb +1 -1
  215. data/app/services/katello/pulp3/erratum.rb +2 -2
  216. data/app/services/katello/pulp3/file_unit.rb +1 -1
  217. data/app/services/katello/pulp3/generic_content_unit.rb +1 -1
  218. data/app/services/katello/pulp3/module_stream.rb +2 -2
  219. data/app/services/katello/pulp3/repository/ansible_collection.rb +1 -1
  220. data/app/services/katello/pulp3/repository/apt.rb +22 -16
  221. data/app/services/katello/pulp3/repository/docker.rb +2 -2
  222. data/app/services/katello/pulp3/repository/file.rb +1 -1
  223. data/app/services/katello/pulp3/repository/generic.rb +1 -1
  224. data/app/services/katello/pulp3/repository/yum.rb +7 -7
  225. data/app/services/katello/pulp3/repository.rb +15 -9
  226. data/app/services/katello/pulp3/repository_mirror.rb +3 -3
  227. data/app/services/katello/registration_manager.rb +23 -6
  228. data/app/services/katello/repository_type.rb +3 -3
  229. data/app/services/katello/smart_proxy_helper.rb +3 -3
  230. data/app/services/katello/ui_notifications/content_view/delete_latest_version_failure.rb +1 -1
  231. data/app/services/katello/ui_notifications/subscriptions/expire_soon.rb +3 -3
  232. data/app/services/katello/ui_notifications/subscriptions/manifest_expire_soon_warning.rb +3 -3
  233. data/app/services/katello/ui_notifications/task_notification.rb +2 -2
  234. data/app/services/katello/upstream_connection_checker.rb +1 -1
  235. data/app/views/foreman/job_templates/install_errata_by_search_query.erb +1 -1
  236. data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +1 -1
  237. data/app/views/katello/api/v2/activation_keys/base.json.rabl +43 -8
  238. data/app/views/katello/api/v2/alternate_content_sources/base.json.rabl +1 -1
  239. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +5 -5
  240. data/app/views/katello/api/v2/common/_metadata.json.rabl +1 -1
  241. data/app/views/katello/api/v2/content_credentials/show.json.rabl +1 -1
  242. data/app/views/katello/api/v2/content_facet/base.json.rabl +15 -6
  243. data/app/views/katello/api/v2/content_facet/show.json.rabl +1 -1
  244. data/app/views/katello/api/v2/content_view_environments/index.json.rabl +7 -0
  245. data/app/views/katello/api/v2/content_view_environments/show.json.rabl +33 -0
  246. data/app/views/katello/api/v2/content_view_filter_rules/show.json.rabl +1 -1
  247. data/app/views/katello/api/v2/content_view_filters/show.json.rabl +1 -1
  248. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +3 -3
  249. data/app/views/katello/api/v2/content_views/base.json.rabl +4 -3
  250. data/app/views/katello/api/v2/content_views/show.json.rabl +1 -2
  251. data/app/views/katello/api/v2/debs/backend.json.rabl +7 -0
  252. data/app/views/katello/api/v2/debs/base.json.rabl +4 -0
  253. data/app/views/katello/api/v2/debs/show.json.rabl +2 -0
  254. data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +1 -0
  255. data/app/views/katello/api/v2/docker_tags/_base.json.rabl +2 -2
  256. data/app/views/katello/api/v2/environments/show.json.rabl +4 -4
  257. data/app/views/katello/api/v2/gpg_keys/show.json.rabl +1 -1
  258. data/app/views/katello/api/v2/host_collections/base.json.rabl +1 -1
  259. data/app/views/katello/api/v2/hosts/base.json.rabl +2 -2
  260. data/app/views/katello/api/v2/package_groups/base.json.rabl +2 -2
  261. data/app/views/katello/api/v2/products/show.json.rabl +2 -2
  262. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -1
  263. data/app/views/katello/api/v2/repository_sets/show.json.rabl +1 -1
  264. data/app/views/katello/api/v2/subscriptions/base.json.rabl +1 -1
  265. data/app/views/katello/api/v2/subscriptions/show.json.rabl +3 -3
  266. data/app/views/katello/api/v2/sync_plans/show.json.rabl +1 -1
  267. data/app/views/katello/sync_management/index.html.erb +2 -2
  268. data/config/initializers/inflections.rb +11 -0
  269. data/config/katello.yaml.example +4 -10
  270. data/config/routes/api/registry.rb +0 -2
  271. data/config/routes/api/rhsm.rb +1 -4
  272. data/config/routes/api/v2.rb +2 -3
  273. data/db/migrate/20140716211853_repo_rename_feed_to_url.rb +1 -1
  274. data/db/migrate/20141003210742_add_docker_container_registry_url_to_providers.rb +1 -1
  275. data/db/migrate/20150224083608_remove_docker_registry_url.rb +1 -1
  276. data/db/migrate/20160808002834_add_files.rb +1 -1
  277. data/db/migrate/20161014133811_move_content_view_version_description_to_histories.rb +1 -1
  278. data/db/migrate/20200818192230_update_system_purpose_status.rb +1 -1
  279. data/db/migrate/20201012172713_remove_gpg_key_perms.rb +1 -1
  280. data/db/migrate/20210322142311_add_auth_url_token_to_root_repositories.rb +1 -1
  281. data/db/migrate/20211220185935_clean_duplicate_content_units.rb +2 -2
  282. data/db/migrate/20230717150442_change_change_content_source_job_template_name.rb +1 -1
  283. data/db/migrate/20240207191223_remove_entitlement_mode_host_statuses.rb +1 -1
  284. data/db/migrate/20240508100434_add_content_id_to_katello_repository.rb +5 -0
  285. data/db/migrate/20240730163043_add_content_view_environment_activation_key.rb +87 -0
  286. data/db/migrate/20240806130902_add_more_deb_fields.rb +15 -0
  287. data/db/migrate/20240903194428_add_priority_to_content_view_environment_activation_key.rb +5 -0
  288. data/db/migrate/20241007200316_add_fields_to_katello_docker_manifest_list.rb +8 -0
  289. data/db/migrate/20241007212705_add_bootc_facts_to_content_facet.rb +27 -0
  290. data/db/migrate/20241025151105_remove_pulp3_migrated_hrefs_from_content_tables.rb +10 -0
  291. data/db/migrate/20241030181402_create_katello_flatpak_tables.rb +41 -0
  292. data/db/seeds.d/106-mail_notifications.rb +9 -9
  293. data/db/seeds.d/108-subcription-bookmarks.rb +1 -1
  294. data/db/seeds.d/109-katello-notification-blueprints.rb +21 -21
  295. data/db/seeds.d/110-content-view-autopublish.rb +5 -5
  296. data/db/seeds.d/111-container-image-bookmarks.rb +1 -1
  297. data/db/seeds.d/111-upgrade_tasks.rb +1 -1
  298. data/engines/bastion/app/assets/javascripts/bastion/i18n/i18n.module.js +4 -0
  299. data/engines/bastion/lib/bastion/engine.rb +1 -1
  300. data/engines/bastion/lib/bastion.rb +1 -1
  301. data/engines/bastion/vendor/assets/javascripts/bastion/angular-gettext/angular-gettext.js +5 -1
  302. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +16 -0
  303. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +29 -15
  304. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +13 -0
  305. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys.html +2 -0
  306. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js +2 -0
  307. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-host-collections-modal.html +4 -4
  308. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-modal-helper.service.js +0 -1
  309. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.routes.js +9 -0
  310. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-dependencies.html +54 -0
  311. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +13 -1
  312. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb.html +8 -1
  313. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +1 -1
  314. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +4 -0
  315. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +11 -0
  316. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/activation_keys.scss +1 -1
  317. data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -1
  318. data/lib/katello/engine.rb +17 -15
  319. data/lib/katello/permission_creator.rb +51 -49
  320. data/lib/katello/permissions/host_permissions.rb +4 -4
  321. data/lib/katello/permissions/organization_permissions.rb +4 -4
  322. data/lib/katello/permissions/registry_permissions.rb +1 -1
  323. data/lib/katello/permissions/roles_permissions.rb +1 -1
  324. data/lib/katello/permissions/user_permissions.rb +1 -1
  325. data/lib/katello/plugin.rb +14 -8
  326. data/lib/katello/repository_types/docker.rb +4 -2
  327. data/lib/katello/repository_types/ostree.rb +5 -3
  328. data/lib/katello/repository_types/python.rb +1 -1
  329. data/lib/katello/repository_types/yum.rb +2 -1
  330. data/lib/katello/scheduled_jobs.rb +1 -1
  331. data/lib/katello/tasks/migrate_structure_content_for_deb.rake +105 -0
  332. data/lib/katello/tasks/receptor/extract_orgs.rake +1 -1
  333. data/lib/katello/tasks/reimport.rake +1 -1
  334. data/lib/katello/tasks/repository.rake +19 -9
  335. data/lib/katello/tasks/upgrades/4.1/reupdate_content_import_export_perms.rake +1 -1
  336. data/lib/katello/tasks/upgrades/4.3/fix_url_auth.rake +1 -1
  337. data/lib/katello/version.rb +1 -1
  338. data/locale/action_names.rb +92 -1
  339. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  340. data/locale/bn/katello.po +259 -28
  341. data/locale/bn_IN/katello.po +258 -27
  342. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  343. data/locale/ca/katello.po +258 -27
  344. data/locale/cs/katello.po +258 -30
  345. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  346. data/locale/cs_CZ/katello.po +258 -27
  347. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  348. data/locale/de/katello.po +259 -28
  349. data/locale/de_AT/katello.po +258 -27
  350. data/locale/de_DE/katello.po +258 -27
  351. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  352. data/locale/el/katello.po +258 -27
  353. data/locale/en/katello.po +258 -27
  354. data/locale/en_GB/katello.po +258 -27
  355. data/locale/en_US/katello.po +258 -27
  356. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  357. data/locale/es/katello.po +259 -28
  358. data/locale/et_EE/katello.po +258 -27
  359. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  360. data/locale/fr/katello.po +259 -28
  361. data/locale/gl/katello.po +258 -27
  362. data/locale/gu/katello.po +258 -27
  363. data/locale/he_IL/katello.po +258 -27
  364. data/locale/hi/katello.po +258 -27
  365. data/locale/id/katello.po +258 -27
  366. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  367. data/locale/it/katello.po +259 -28
  368. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  369. data/locale/ja/katello.po +259 -28
  370. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  371. data/locale/ka/katello.po +259 -28
  372. data/locale/katello.pot +1041 -696
  373. data/locale/kn/katello.po +258 -27
  374. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  375. data/locale/ko/katello.po +259 -28
  376. data/locale/ml_IN/katello.po +258 -27
  377. data/locale/mr/katello.po +258 -27
  378. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  379. data/locale/nl_NL/katello.po +258 -27
  380. data/locale/or/katello.po +258 -27
  381. data/locale/pa/katello.po +258 -27
  382. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  383. data/locale/pl/katello.po +258 -27
  384. data/locale/pl_PL/katello.po +258 -27
  385. data/locale/pt/katello.po +258 -27
  386. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  387. data/locale/pt_BR/katello.po +259 -28
  388. data/locale/ro/katello.po +258 -27
  389. data/locale/ro_RO/katello.po +258 -27
  390. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  391. data/locale/ru/katello.po +259 -28
  392. data/locale/sl/katello.po +258 -27
  393. data/locale/sv_SE/katello.po +258 -27
  394. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  395. data/locale/ta/katello.po +259 -28
  396. data/locale/ta_IN/katello.po +258 -27
  397. data/locale/te/katello.po +258 -27
  398. data/locale/tr/katello.po +258 -27
  399. data/locale/vi/katello.po +258 -27
  400. data/locale/vi_VN/katello.po +258 -27
  401. data/locale/zh/katello.po +258 -27
  402. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  403. data/locale/zh_CN/katello.po +259 -28
  404. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  405. data/locale/zh_TW/katello.po +259 -28
  406. data/vendor/assets/javascripts/katello/chosen.jquery.js +2 -2
  407. data/vendor/assets/javascripts/katello/jquery.ba-bbq.js +1 -1
  408. data/vendor/assets/javascripts/katello/jquery.hoverIntent.js +2 -2
  409. data/webpack/ForemanColumnExtensions/index.js +1 -1
  410. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +113 -86
  411. data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +7 -2
  412. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.js +31 -4
  413. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +1 -1
  414. data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +1 -7
  415. data/webpack/components/extensions/RegistrationCommands/helpers.js +15 -0
  416. data/webpack/components/extensions/RegistrationCommands/index.js +3 -9
  417. data/webpack/global_index.js +11 -4
  418. data/webpack/redux/actions/RedHatRepositories/helpers.js +8 -6
  419. data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.js +4 -0
  420. data/webpack/scenes/ActivationKeys/Details/components/CVEDetailsCard.js +37 -0
  421. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +1 -2
  422. data/webpack/scenes/Hosts/ChangeContentSource/helpers.js +2 -8
  423. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +22 -2
  424. data/webpack/scenes/SmartProxy/ExpandedSmartProxyRepositories.js +39 -20
  425. data/webpack/scenes/SmartProxy/SmartProxyContentActions.js +2 -1
  426. data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +6 -4
  427. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +62 -0
  428. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +6 -4
  429. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +1 -1
  430. metadata +86 -76
  431. data/app/lib/katello/api/constraints/activation_key_constraint.rb +0 -7
  432. /data/app/lib/katello/{api → routing}/mapper_extensions.rb +0 -0
@@ -33,29 +33,29 @@ module Katello
33
33
  :consumer_cert_rpm => 'katello-ca-consumer-latest.noarch.rpm',
34
34
  :consumer_cert_sh => 'katello-rhsm-consumer',
35
35
  :event_daemon => {
36
- enabled: true
36
+ enabled: true,
37
37
  },
38
38
  :pulp => {
39
39
  :default_login => 'admin',
40
40
  :skip_checksum_validation => false,
41
41
  :upload_chunk_size => 1_048_575, # upload size in bytes to pulp. see SSLRenegBufferSize in apache
42
42
  :sync_threads => 4,
43
- :sync_KBlimit => nil
43
+ :sync_KBlimit => nil,
44
44
  },
45
45
  :candlepin => {
46
46
  :url => 'https://localhost:8443/candlepin',
47
47
  :oauth_key => 'katello',
48
48
  :oauth_secret => 'katello',
49
49
  :ca_cert_file => nil,
50
- :bulk_load_size => 1000
50
+ :bulk_load_size => 1000,
51
51
  },
52
52
  :candlepin_events => {
53
53
  :broker_host => 'localhost',
54
54
  :broker_port => 61_613,
55
55
  :queue_name => 'katello.candlepin',
56
56
  :subscription_name => 'candlepin_events',
57
- :client_id => 'katello_candlepin_event_monitor'
58
- }
57
+ :client_id => 'katello_candlepin_event_monitor',
58
+ },
59
59
  }
60
60
 
61
61
  SETTINGS[:katello] = default_settings.deep_merge(SETTINGS[:katello] || {})
@@ -79,12 +79,14 @@ module Katello
79
79
 
80
80
  # make sure the Katello plugin is initialized before `after_initialize`
81
81
  # hook so that the resumed Dynflow tasks can rely on everything ready.
82
- initializer 'katello.register_plugin', :before => :finisher_hook, :after => 'foreman_remote_execution.register_plugin' do
83
- ::Foreman::AccessControl::Permission.prepend ::Katello::Concerns::PermissionExtensions
84
- require 'katello/plugin'
82
+ initializer 'katello.register_plugin', :before => :finisher_hook, :after => 'foreman_remote_execution.register_plugin' do |app|
83
+ app.reloader.to_prepare do
84
+ ::Foreman::AccessControl::Permission.prepend ::Katello::Concerns::PermissionExtensions
85
+ require 'katello/plugin'
85
86
 
86
- # extend builtin permissions from core with new actions
87
- require 'katello/permissions'
87
+ # extend builtin permissions from core with new actions
88
+ require 'katello/permissions'
89
+ end
88
90
  end
89
91
 
90
92
  initializer "katello.set_dynflow_middlewares", :before => :finisher_hook do |_app|
@@ -185,11 +187,11 @@ module Katello
185
187
  # We need to explicitly load this files because Foreman has
186
188
  # similar strucuture and if the Foreman files are loaded first,
187
189
  # autoloading doesn't work.
188
- require_dependency "#{Katello::Engine.root}/app/lib/katello/api/v2/rendering"
189
- require_dependency "#{Katello::Engine.root}/app/controllers/katello/api/api_controller"
190
- require_dependency "#{Katello::Engine.root}/app/controllers/katello/api/v2/api_controller"
191
- require_dependency "#{Katello::Engine.root}/app/services/katello/proxy_status/pulp"
192
- require_dependency "#{Katello::Engine.root}/app/services/katello/proxy_status/pulp_node"
190
+ # require_dependency "#{Katello::Engine.root}/app/lib/katello/api/v2/rendering"
191
+ # require_dependency "#{Katello::Engine.root}/app/controllers/katello/api/api_controller"
192
+ # require_dependency "#{Katello::Engine.root}/app/controllers/katello/api/v2/api_controller"
193
+ # require_dependency "#{Katello::Engine.root}/app/services/katello/proxy_status/pulp"
194
+ # require_dependency "#{Katello::Engine.root}/app/services/katello/proxy_status/pulp_node"
193
195
 
194
196
  #Api controller extensions
195
197
  ::Api::V2::HostsController.include Katello::Concerns::Api::V2::HostsControllerExtensions
@@ -25,26 +25,26 @@ module Katello
25
25
  'katello/activation_keys' => [:all, :index],
26
26
  'katello/api/v2/activation_keys' => [:index, :show, :available_host_collections, :available_releases,
27
27
  :product_content, :auto_complete_search],
28
- 'katello/api/v2/repository_sets' => [:index, :auto_complete_search]
28
+ 'katello/api/v2/repository_sets' => [:index, :auto_complete_search],
29
29
  },
30
30
  :resource_type => 'Katello::ActivationKey',
31
31
  :finder_scope => :readable
32
32
  @plugin.permission :create_activation_keys,
33
33
  {
34
- 'katello/api/v2/activation_keys' => [:create, :copy]
34
+ 'katello/api/v2/activation_keys' => [:create, :copy],
35
35
  },
36
36
  :resource_type => 'Katello::ActivationKey'
37
37
  @plugin.permission :edit_activation_keys,
38
38
  {
39
39
  'katello/api/v2/activation_keys' => [:update, :content_override,
40
40
  :add_subscriptions, :remove_subscriptions,
41
- :add_host_collections, :remove_host_collections]
41
+ :add_host_collections, :remove_host_collections],
42
42
  },
43
43
  :resource_type => 'Katello::ActivationKey',
44
44
  :finder_scope => :editable
45
45
  @plugin.permission :destroy_activation_keys,
46
46
  {
47
- 'katello/api/v2/activation_keys' => [:destroy]
47
+ 'katello/api/v2/activation_keys' => [:destroy],
48
48
  },
49
49
  :resource_type => 'Katello::ActivationKey',
50
50
  :finder_scope => :deletable
@@ -53,22 +53,22 @@ module Katello
53
53
  def capsule_content_permissions
54
54
  @plugin.permission :view_smart_proxies,
55
55
  {
56
- 'katello/api/v2/capsules' => [:index, :show]
56
+ 'katello/api/v2/capsules' => [:index, :show],
57
57
  },
58
58
  :resource_type => "SmartProxy"
59
59
  @plugin.permission :manage_capsule_content,
60
60
  {
61
61
  'katello/api/v2/capsule_content' => [:add_lifecycle_environment, :remove_lifecycle_environment,
62
62
  :update_counts, :sync, :reclaim_space, :verify_checksum, :cancel_sync],
63
- 'katello/api/v2/capsules' => [:index, :show]
63
+ 'katello/api/v2/capsules' => [:index, :show],
64
64
  },
65
65
  :resource_type => 'SmartProxy'
66
66
 
67
67
  @plugin.permission :view_capsule_content,
68
68
  {
69
69
  'katello/api/v2/capsule_content' => [:counts, :lifecycle_environments, :available_lifecycle_environments, :sync_status],
70
- 'smart_proxies' => [:pulp_storage, :pulp_status, :show_with_content, :index],
71
- 'katello/api/v2/capsules' => [:index, :show]
70
+ 'smart_proxies' => [:pulp_storage, :pulp_status, :show_with_content],
71
+ 'katello/api/v2/capsules' => [:index, :show],
72
72
  },
73
73
  :resource_type => "SmartProxy"
74
74
  end
@@ -83,6 +83,7 @@ module Katello
83
83
  'katello/api/v2/content_view_repositories' => [:show_all],
84
84
  'katello/api/v2/content_view_versions' => [:index, :show, :auto_complete_search],
85
85
  'katello/api/v2/content_view_components' => [:index, :show, :show_all],
86
+ 'katello/api/v2/content_view_environments' => [:index],
86
87
  'katello/api/v2/debs' => [:index],
87
88
  'katello/api/v2/packages' => [:index],
88
89
  'katello/api/v2/package_groups' => [:index, :show, :auto_complete_search, :compare],
@@ -111,13 +112,13 @@ module Katello
111
112
  :repo_compare_packages,
112
113
  :view_compare_errata,
113
114
  :view_compare_packages,
114
- :views]
115
+ :views],
115
116
  },
116
117
  :resource_type => 'Katello::ContentView',
117
118
  :finder_scope => :readable
118
119
  @plugin.permission :create_content_views,
119
120
  {
120
- 'katello/api/v2/content_views' => [:create, :copy]
121
+ 'katello/api/v2/content_views' => [:create, :copy],
121
122
  },
122
123
  :resource_type => 'Katello::ContentView'
123
124
  @plugin.permission :edit_content_views,
@@ -126,14 +127,14 @@ module Katello
126
127
  'katello/api/v2/content_view_versions' => [:update],
127
128
  'katello/api/v2/content_view_filters' => [:create, :update, :destroy, :remove_filter_rules, :add_filter_rules],
128
129
  'katello/api/v2/content_view_filter_rules' => [:create, :update, :destroy],
129
- 'katello/api/v2/content_view_components' => [:add_components, :remove_components, :update]
130
+ 'katello/api/v2/content_view_components' => [:add_components, :remove_components, :update],
130
131
  },
131
132
  :resource_type => 'Katello::ContentView',
132
133
  :finder_scope => :editable
133
134
  @plugin.permission :destroy_content_views,
134
135
  {
135
136
  'katello/api/v2/content_views' => [:destroy, :remove, :bulk_delete_versions],
136
- 'katello/api/v2/content_view_versions' => [:destroy]
137
+ 'katello/api/v2/content_view_versions' => [:destroy],
137
138
  },
138
139
  :resource_type => 'Katello::ContentView',
139
140
  :finder_scope => :deletable
@@ -141,14 +142,14 @@ module Katello
141
142
  {
142
143
  'katello/api/v2/content_views' => [:publish],
143
144
  'katello/api/v2/content_view_versions' => [:incremental_update, :republish_repositories, :verify_checksum],
144
- 'katello/api/v2/content_imports' => [:version, :index]
145
+ 'katello/api/v2/content_imports' => [:version, :index],
145
146
  },
146
147
  :resource_type => 'Katello::ContentView',
147
148
  :finder_scope => :publishable
148
149
  @plugin.permission :promote_or_remove_content_views,
149
150
  {
150
151
  'katello/api/v2/content_view_versions' => [:promote],
151
- 'katello/api/v2/content_views' => [:remove_from_environment, :remove, :republish_repositories, :verify_checksum]
152
+ 'katello/api/v2/content_views' => [:remove_from_environment, :remove, :republish_repositories, :verify_checksum],
152
153
  },
153
154
  :resource_type => 'Katello::ContentView',
154
155
  :finder_scope => :promotable_or_removable
@@ -158,27 +159,27 @@ module Katello
158
159
  @plugin.permission :view_content_credentials,
159
160
  {
160
161
  'katello/api/v2/content_credentials' => [:index, :show, :content, :auto_complete_search],
161
- 'katello/api/v2/gpg_keys' => [:index, :show, :content, :auto_complete_search]
162
+ 'katello/api/v2/gpg_keys' => [:index, :show, :content, :auto_complete_search],
162
163
  },
163
164
  :resource_type => 'Katello::ContentCredential',
164
165
  :finder_scope => :readable
165
166
  @plugin.permission :create_content_credentials,
166
167
  {
167
168
  'katello/api/v2/content_credentials' => [:create],
168
- 'katello/api/v2/gpg_keys' => [:create]
169
+ 'katello/api/v2/gpg_keys' => [:create],
169
170
  },
170
171
  :resource_type => 'Katello::ContentCredential'
171
172
  @plugin.permission :edit_content_credentials,
172
173
  {
173
174
  'katello/api/v2/content_credentials' => [:update, :set_content],
174
- 'katello/api/v2/gpg_keys' => [:update, :set_content]
175
+ 'katello/api/v2/gpg_keys' => [:update, :set_content],
175
176
  },
176
177
  :resource_type => 'Katello::ContentCredential',
177
178
  :finder_scope => :editable
178
179
  @plugin.permission :destroy_content_credentials,
179
180
  {
180
181
  'katello/api/v2/content_credentials' => [:destroy],
181
- 'katello/api/v2/gpg_keys' => [:destroy]
182
+ 'katello/api/v2/gpg_keys' => [:destroy],
182
183
  },
183
184
  :resource_type => 'Katello::ContentCredential',
184
185
  :finder_scope => :deletable
@@ -187,25 +188,25 @@ module Katello
187
188
  def host_collections_permissions
188
189
  @plugin.permission :view_host_collections,
189
190
  {
190
- 'katello/api/v2/host_collections' => [:index, :show, :auto_complete_search]
191
+ 'katello/api/v2/host_collections' => [:index, :show, :auto_complete_search],
191
192
  },
192
193
  :resource_type => 'Katello::HostCollection',
193
194
  :finder_scope => :readable
194
195
  @plugin.permission :create_host_collections,
195
196
  {
196
- 'katello/api/v2/host_collections' => [:create, :copy]
197
+ 'katello/api/v2/host_collections' => [:create, :copy],
197
198
  },
198
199
  :resource_type => 'Katello::HostCollection',
199
200
  :finder_scope => :creatable
200
201
  @plugin.permission :edit_host_collections,
201
202
  {
202
- 'katello/api/v2/host_collections' => [:update, :add_hosts, :remove_hosts]
203
+ 'katello/api/v2/host_collections' => [:update, :add_hosts, :remove_hosts],
203
204
  },
204
205
  :resource_type => 'Katello::HostCollection',
205
206
  :finder_scope => :editable
206
207
  @plugin.permission :destroy_host_collections,
207
208
  {
208
- 'katello/api/v2/host_collections' => [:destroy]
209
+ 'katello/api/v2/host_collections' => [:destroy],
209
210
  },
210
211
  :resource_type => 'Katello::HostCollection',
211
212
  :finder_scope => :deletable
@@ -215,25 +216,26 @@ module Katello
215
216
  @plugin.permission :view_lifecycle_environments,
216
217
  {
217
218
  'katello/api/v2/environments' => [:index, :show, :paths, :repositories, :auto_complete_search],
218
- 'katello/api/rhsm/candlepin_proxies' => [:rhsm_index]
219
+ 'katello/api/rhsm/candlepin_proxies' => [:rhsm_index],
220
+ 'katello/api/v2/content_view_environments' => [:index],
219
221
  },
220
222
  :resource_type => 'Katello::KTEnvironment',
221
223
  :finder_scope => :readable
222
224
  @plugin.permission :create_lifecycle_environments,
223
225
  {
224
- 'katello/api/v2/environments' => [:create]
226
+ 'katello/api/v2/environments' => [:create],
225
227
  },
226
228
  :resource_type => 'Katello::KTEnvironment',
227
229
  :finder_scope => :creatable
228
230
  @plugin.permission :edit_lifecycle_environments,
229
231
  {
230
- 'katello/api/v2/environments' => [:update]
232
+ 'katello/api/v2/environments' => [:update],
231
233
  },
232
234
  :resource_type => 'Katello::KTEnvironment',
233
235
  :finder_scope => :editable
234
236
  @plugin.permission :destroy_lifecycle_environments,
235
237
  {
236
- 'katello/api/v2/environments' => [:destroy]
238
+ 'katello/api/v2/environments' => [:destroy],
237
239
  },
238
240
  :resource_type => 'Katello::KTEnvironment',
239
241
  :finder_scope => :deletable
@@ -285,13 +287,13 @@ module Katello
285
287
  :repo_compare_errata,
286
288
  :repo_compare_packages],
287
289
  'katello/api/v2/repository_sets' => [:index, :show, :available_repositories, :auto_complete_search],
288
- 'katello/api/v2/host_packages' => [:installed_packages]
290
+ 'katello/api/v2/host_packages' => [:installed_packages],
289
291
  },
290
292
  :resource_type => 'Katello::Product',
291
293
  :finder_scope => :readable
292
294
  @plugin.permission :create_products,
293
295
  {
294
- 'katello/api/v2/products' => [:create]
296
+ 'katello/api/v2/products' => [:create],
295
297
  },
296
298
  :resource_type => 'Katello::Product',
297
299
  :finder_scope => :editable
@@ -302,7 +304,7 @@ module Katello
302
304
  'katello/api/v2/products_bulk_actions' => [:update_sync_plans, :update_http_proxy, :verify_checksum_products],
303
305
  'katello/api/v2/content_uploads' => [:create, :update, :destroy],
304
306
  'katello/api/v2/organizations' => [:repo_discover, :cancel_repo_discover],
305
- 'katello/api/v2/repository_sets' => [:enable, :disable]
307
+ 'katello/api/v2/repository_sets' => [:enable, :disable],
306
308
  },
307
309
  :resource_type => 'Katello::Product',
308
310
  :finder_scope => :editable
@@ -311,7 +313,7 @@ module Katello
311
313
  'katello/api/v2/products' => [:destroy],
312
314
  'katello/api/v2/repositories' => [:destroy],
313
315
  'katello/api/v2/products_bulk_actions' => [:destroy_products],
314
- 'katello/api/v2/repositories_bulk_actions' => [:destroy_repositories]
316
+ 'katello/api/v2/repositories_bulk_actions' => [:destroy_repositories],
315
317
  },
316
318
  :resource_type => 'Katello::Product',
317
319
  :finder_scope => :deletable
@@ -322,7 +324,7 @@ module Katello
322
324
  'katello/api/v2/products_bulk_actions' => [:sync_products],
323
325
  'katello/api/v2/repositories_bulk_actions' => [:sync_repositories, :reclaim_space_from_repositories],
324
326
  'katello/api/v2/sync' => [:index],
325
- 'katello/sync_management' => [:index, :sync_status, :product_status, :sync, :destroy]
327
+ 'katello/sync_management' => [:index, :sync_status, :product_status, :sync, :destroy],
326
328
  },
327
329
  :resource_type => 'Katello::Product',
328
330
  :finder_scope => :syncable
@@ -331,33 +333,33 @@ module Katello
331
333
  def subscription_permissions
332
334
  @plugin.permission :view_subscriptions,
333
335
  {
334
- 'katello/api/v2/subscriptions' => [:index, :show, :available, :manifest_history, :auto_complete_search]
336
+ 'katello/api/v2/subscriptions' => [:index, :show, :available, :manifest_history, :auto_complete_search],
335
337
  },
336
338
  :resource_type => 'Katello::Subscription'
337
339
  @plugin.permission :attach_subscriptions,
338
340
  {
339
- 'katello/api/v2/subscriptions' => [:create]
341
+ 'katello/api/v2/subscriptions' => [:create],
340
342
  },
341
343
  :resource_type => 'Katello::Subscription'
342
344
  @plugin.permission :unattach_subscriptions,
343
345
  {
344
- 'katello/api/v2/subscriptions' => [:destroy]
346
+ 'katello/api/v2/subscriptions' => [:destroy],
345
347
  },
346
348
  :resource_type => 'Katello::Subscription'
347
349
  @plugin.permission :import_manifest,
348
350
  {
349
- 'katello/api/v2/subscriptions' => [:upload, :refresh_manifest]
351
+ 'katello/api/v2/subscriptions' => [:upload, :refresh_manifest],
350
352
  },
351
353
  :resource_type => 'Katello::Subscription'
352
354
  @plugin.permission :delete_manifest,
353
355
  {
354
- 'katello/api/v2/subscriptions' => [:delete_manifest]
356
+ 'katello/api/v2/subscriptions' => [:delete_manifest],
355
357
  },
356
358
  :resource_type => 'Katello::Subscription'
357
359
  @plugin.permission :manage_subscription_allocations,
358
360
  {
359
361
  'katello/api/v2/upstream_subscriptions' => [:index, :create, :destroy, :update, :ping, :enable_simple_content_access, :disable_simple_content_access, :simple_content_access_eligible, :simple_content_access_status],
360
- 'katello/api/v2/simple_content_access' => [:enable, :disable, :eligible, :status]
362
+ 'katello/api/v2/simple_content_access' => [:enable, :disable, :eligible, :status],
361
363
  },
362
364
  :resource_type => 'Katello::Subscription'
363
365
  end
@@ -365,31 +367,31 @@ module Katello
365
367
  def sync_plan_permissions
366
368
  @plugin.permission :view_sync_plans,
367
369
  {
368
- 'katello/api/v2/sync_plans' => [:index, :show, :add_products, :remove_products, :available_products, :auto_complete_search]
370
+ 'katello/api/v2/sync_plans' => [:index, :show, :add_products, :remove_products, :available_products, :auto_complete_search],
369
371
  },
370
372
  :resource_type => 'Katello::SyncPlan',
371
373
  :finder_scope => :readable
372
374
  @plugin.permission :create_sync_plans,
373
375
  {
374
- 'katello/api/v2/sync_plans' => [:create]
376
+ 'katello/api/v2/sync_plans' => [:create],
375
377
  },
376
378
  :resource_type => 'Katello::SyncPlan',
377
379
  :finder_scope => :editable
378
380
  @plugin.permission :edit_sync_plans,
379
381
  {
380
- 'katello/api/v2/sync_plans' => [:update]
382
+ 'katello/api/v2/sync_plans' => [:update],
381
383
  },
382
384
  :resource_type => 'Katello::SyncPlan',
383
385
  :finder_scope => :editable
384
386
  @plugin.permission :destroy_sync_plans,
385
387
  {
386
- 'katello/api/v2/sync_plans' => [:destroy]
388
+ 'katello/api/v2/sync_plans' => [:destroy],
387
389
  },
388
390
  :resource_type => 'Katello::SyncPlan',
389
391
  :finder_scope => :deletable
390
392
  @plugin.permission :sync_sync_plans,
391
393
  {
392
- 'katello/api/v2/sync_plans' => [:sync]
394
+ 'katello/api/v2/sync_plans' => [:sync],
393
395
  },
394
396
  :resource_type => 'Katello::SyncPlan',
395
397
  :finder_scope => :syncable
@@ -398,27 +400,27 @@ module Katello
398
400
  def alternate_content_source_permissions
399
401
  @plugin.permission :view_alternate_content_sources,
400
402
  {
401
- 'katello/api/v2/alternate_content_sources' => [:index, :show, :auto_complete_search]
403
+ 'katello/api/v2/alternate_content_sources' => [:index, :show, :auto_complete_search],
402
404
  },
403
405
  :resource_type => 'Katello::AlternateContentSource',
404
406
  :finder_scope => :readable
405
407
  @plugin.permission :create_alternate_content_sources,
406
408
  {
407
- 'katello/api/v2/alternate_content_sources' => [:create]
409
+ 'katello/api/v2/alternate_content_sources' => [:create],
408
410
  },
409
411
  :resource_type => 'Katello::AlternateContentSource',
410
412
  :finder_scope => :editable
411
413
  @plugin.permission :edit_alternate_content_sources,
412
414
  {
413
415
  'katello/api/v2/alternate_content_sources' => [:update, :refresh],
414
- 'katello/api/v2/alternate_content_sources_bulk_actions' => [:refresh_alternate_content_sources, :refresh_all_alternate_content_sources]
416
+ 'katello/api/v2/alternate_content_sources_bulk_actions' => [:refresh_alternate_content_sources, :refresh_all_alternate_content_sources],
415
417
  },
416
418
  :resource_type => 'Katello::AlternateContentSource',
417
419
  :finder_scope => :editable
418
420
  @plugin.permission :destroy_alternate_content_sources,
419
421
  {
420
422
  'katello/api/v2/alternate_content_sources' => [:destroy],
421
- 'katello/api/v2/alternate_content_sources_bulk_actions' => [:destroy_alternate_content_sources]
423
+ 'katello/api/v2/alternate_content_sources_bulk_actions' => [:destroy_alternate_content_sources],
422
424
  },
423
425
  :resource_type => 'Katello::AlternateContentSource',
424
426
  :finder_scope => :deletable
@@ -427,7 +429,7 @@ module Katello
427
429
  def user_permissions
428
430
  @plugin.permission :my_organizations,
429
431
  {
430
- 'katello/api/rhsm/candlepin_proxies' => [:list_owners]
432
+ 'katello/api/rhsm/candlepin_proxies' => [:list_owners],
431
433
  },
432
434
  :public => true
433
435
  end
@@ -435,7 +437,7 @@ module Katello
435
437
  def organization_permissions
436
438
  @plugin.permission :import_content,
437
439
  {
438
- 'katello/api/v2/content_imports' => [:library, :version, :index, :repository]
440
+ 'katello/api/v2/content_imports' => [:library, :version, :index, :repository],
439
441
  },
440
442
  :resource_type => 'Organization'
441
443
 
@@ -443,7 +445,7 @@ module Katello
443
445
  {
444
446
  'katello/api/v2/content_view_versions' => [:export, :repository],
445
447
  'katello/api/v2/content_exports' => [:library, :version, :index, :repository],
446
- 'katello/api/v2/content_export_incrementals' => [:library, :version, :repository]
448
+ 'katello/api/v2/content_export_incrementals' => [:library, :version, :repository],
447
449
  },
448
450
  :resource_type => 'Organization'
449
451
  end
@@ -38,7 +38,7 @@ Foreman::AccessControl.permission(:edit_hosts).actions.concat [
38
38
  'katello/api/rhsm/candlepin_proxies/async_hypervisors_update',
39
39
  'katello/api/rhsm/candlepin_proxies/hypervisors_heartbeat',
40
40
  'katello/api/rhsm/candlepin_proxies/upload_tracer_profile',
41
- 'hosts/change_content_source_data'
41
+ 'hosts/change_content_source_data',
42
42
  ]
43
43
 
44
44
  Foreman::AccessControl.permission(:view_hosts).actions.concat [
@@ -65,12 +65,12 @@ Foreman::AccessControl.permission(:view_hosts).actions.concat [
65
65
  'katello/remote_execution/new',
66
66
  'katello/remote_execution/create',
67
67
  'katello/api/v2/repository_sets/index',
68
- 'katello/api/v2/repository_sets/auto_complete_search'
68
+ 'katello/api/v2/repository_sets/auto_complete_search',
69
69
  ]
70
70
 
71
71
  Foreman::AccessControl.permission(:destroy_hosts).actions.concat [
72
72
  'katello/api/v2/host_subscriptions/destroy',
73
- 'katello/api/v2/hosts_bulk_actions/destroy_hosts'
73
+ 'katello/api/v2/hosts_bulk_actions/destroy_hosts',
74
74
  ]
75
75
 
76
76
  Foreman::AccessControl.permission(:create_hosts).actions.concat [
@@ -78,5 +78,5 @@ Foreman::AccessControl.permission(:create_hosts).actions.concat [
78
78
  'katello/api/rhsm/candlepin_proxies/consumer_create',
79
79
  'katello/api/rhsm/candlepin_proxies/consumer_show',
80
80
  'katello/api/rhsm/candlepin_proxies/hypervisors_update',
81
- 'katello/api/rhsm/candlepin_proxies/async_hypervisors_update'
81
+ 'katello/api/rhsm/candlepin_proxies/async_hypervisors_update',
82
82
  ]
@@ -6,18 +6,18 @@ Foreman::AccessControl.permission(:view_organizations).actions.concat [
6
6
  'katello/api/v2/organizations/redhat_provider',
7
7
  'katello/api/v2/organizations/download_debug_certificate',
8
8
  'katello/api/v2/organizations/releases',
9
- 'katello/api/v2/tasks/index'
9
+ 'katello/api/v2/tasks/index',
10
10
  ]
11
11
 
12
12
  Foreman::AccessControl.permission(:create_organizations).actions.concat [
13
- 'katello/api/v2/organizations/create'
13
+ 'katello/api/v2/organizations/create',
14
14
  ]
15
15
 
16
16
  Foreman::AccessControl.permission(:edit_organizations).actions.concat [
17
17
  'katello/api/v2/organizations/update',
18
- 'katello/api/v2/organizations/cdn_configuration'
18
+ 'katello/api/v2/organizations/cdn_configuration',
19
19
  ]
20
20
 
21
21
  Foreman::AccessControl.permission(:destroy_organizations).actions.concat [
22
- 'katello/api/v2/organizations/destroy'
22
+ 'katello/api/v2/organizations/destroy',
23
23
  ]
@@ -13,5 +13,5 @@ Foreman::AccessControl.permission(:create_personal_access_tokens).actions.concat
13
13
  'katello/api/registry/registry_proxies/check_blob',
14
14
  'katello/api/registry/registry_proxies/start_upload_blob',
15
15
  'katello/api/registry/registry_proxies/upload_blob',
16
- 'katello/api/registry/registry_proxies/finish_upload_blob'
16
+ 'katello/api/registry/registry_proxies/finish_upload_blob',
17
17
  ]
@@ -1,5 +1,5 @@
1
1
  require 'katello/plugin.rb'
2
2
 
3
3
  Foreman::AccessControl.permission(:edit_roles).actions.concat [
4
- 'katello/auto_complete_search/auto_complete_search'
4
+ 'katello/auto_complete_search/auto_complete_search',
5
5
  ]
@@ -1,5 +1,5 @@
1
1
  require 'katello/plugin.rb'
2
2
 
3
3
  Foreman::AccessControl.permission(:my_account).actions << [
4
- 'katello/api/v2/tasks/show'
4
+ 'katello/api/v2/tasks/show',
5
5
  ]
@@ -1,10 +1,9 @@
1
1
  require 'katello/permission_creator'
2
2
  require 'katello/repository_types'
3
- require 'katello/host_status_manager'
4
3
  # rubocop:disable Metrics/BlockLength
5
4
 
6
5
  Foreman::Plugin.register :katello do
7
- requires_foreman '>= 3.11'
6
+ requires_foreman '>= 3.13'
8
7
  register_gettext
9
8
 
10
9
  sub_menu :top_menu, :content_menu, :caption => N_('Content'),
@@ -220,7 +219,7 @@ Foreman::Plugin.register :katello do
220
219
  apipie_ignored_controllers %w(::Api::V2::OrganizationsController)
221
220
  ApipieDSL.configuration.dsl_classes_matchers.concat [
222
221
  "#{Katello::Engine.root}/app/models/katello/**/*.rb",
223
- "#{Katello::Engine.root}/app/lib/actions/**/*.rb"
222
+ "#{Katello::Engine.root}/app/lib/actions/**/*.rb",
224
223
  ]
225
224
 
226
225
  parameter_filter ::Host::Managed, :host_collection_ids => [],
@@ -344,7 +343,7 @@ Foreman::Plugin.register :katello do
344
343
  class: 'HttpProxy',
345
344
  scope: 'all',
346
345
  value_method: 'name',
347
- text_method: 'name_and_url'
346
+ text_method: 'name_and_url',
348
347
  }]
349
348
  download_policies = proc { hashify_parameters(::Katello::RootRepository::DOWNLOAD_POLICIES) }
350
349
  proxy_download_policies = proc { hashify_parameters(::SmartProxy::DOWNLOAD_POLICIES) }
@@ -363,7 +362,7 @@ Foreman::Plugin.register :katello do
363
362
  type: :boolean,
364
363
  default: false,
365
364
  full_name: N_('Allow multiple content views'),
366
- description: N_("Allow a host to be assigned to multiple content view environments with 'subscription-manager register --environments' or 'subscription-manager environments --set'.") # TODO: update this description when AKs support this setting as well
365
+ description: N_("Allow hosts or activation keys to be associated with multiple content view environments")
367
366
 
368
367
  setting 'content_default_http_proxy',
369
368
  type: :string,
@@ -654,7 +653,7 @@ Foreman::Plugin.register :katello do
654
653
 
655
654
  setting 'distribute_archived_cvv',
656
655
  type: :boolean,
657
- default: true,
656
+ default: false,
658
657
  full_name: N_('Distribute archived content view versions'),
659
658
  description: N_("If this is enabled, repositories of content view versions without environments (\"archived\") will be distributed at '/pulp/content/<organization>/content_views/<content view>/X.Y/...'.")
660
659
 
@@ -669,6 +668,13 @@ Foreman::Plugin.register :katello do
669
668
  default: false,
670
669
  full_name: N_('Hide Reclaim Space Warning'),
671
670
  description: N_('If this is enabled, the Smart Proxy page will suppress the warning message about reclaiming space.')
671
+
672
+ setting 'deb_enable_structured_apt',
673
+ type: :boolean,
674
+ default: false,
675
+ full_name: N_('Enable structured APT for deb content'),
676
+ description: N_("If set, newly created APT repos in Katello will use the same repo structure as the remote repos they are synchronized from. " \
677
+ "You may migrate existing APT repos to match the setting, by running 'foreman-rake katello:migrate_structure_content_for_deb'.")
672
678
  end
673
679
  end
674
680
 
@@ -697,7 +703,7 @@ Foreman::Plugin.register :katello do
697
703
  tests_to_skip("AccessPermissionsTest" => [
698
704
  'foreman_tasks/api/tasks/callback should have a permission that grants access',
699
705
  'bastion/bastion/index should have a permission that grants access',
700
- 'bastion/bastion/index_ie should have a permission that grants access'
706
+ 'bastion/bastion/index_ie should have a permission that grants access',
701
707
  ])
702
708
 
703
709
  add_controller_action_scope('HostsController', :index) do |base_scope|
@@ -773,7 +779,7 @@ Foreman::Plugin.register :katello do
773
779
  'bastion_katello/bastion_katello.css',
774
780
  'bastion_katello/bastion_katello.js',
775
781
  'katello/sync_management',
776
- 'katello/common'
782
+ 'katello/common',
777
783
  ]
778
784
 
779
785
  precompile.concat(javascripts)
@@ -27,10 +27,12 @@ Katello::RepositoryTypeManager.register(::Katello::Repository::DOCKER_TYPE) do
27
27
  :priority => 1,
28
28
  :pulp3_service_class => ::Katello::Pulp3::DockerManifest,
29
29
  :removable => true,
30
- :uploadable => true
30
+ :uploadable => true,
31
+ :primary_content => true
31
32
  content_type Katello::DockerManifestList,
32
33
  :priority => 2,
33
- :pulp3_service_class => ::Katello::Pulp3::DockerManifestList
34
+ :pulp3_service_class => ::Katello::Pulp3::DockerManifestList,
35
+ :primary_content => true
34
36
  content_type Katello::DockerTag,
35
37
  :priority => 3,
36
38
  :pulp3_service_class => ::Katello::Pulp3::DockerTag,