katello 4.15.0.rc2 → 4.16.0.rc1

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 katello might be problematic. Click here for more details.

Files changed (460) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/common/katello_object.js +2 -2
  3. data/app/assets/javascripts/katello/locale/bn/katello.js +248 -263
  4. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +247 -262
  5. data/app/assets/javascripts/katello/locale/ca/katello.js +247 -262
  6. data/app/assets/javascripts/katello/locale/cs/katello.js +521 -536
  7. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +253 -268
  8. data/app/assets/javascripts/katello/locale/de/katello.js +248 -263
  9. data/app/assets/javascripts/katello/locale/de_AT/katello.js +247 -262
  10. data/app/assets/javascripts/katello/locale/de_DE/katello.js +249 -264
  11. data/app/assets/javascripts/katello/locale/el/katello.js +251 -266
  12. data/app/assets/javascripts/katello/locale/en/katello.js +253 -268
  13. data/app/assets/javascripts/katello/locale/en_GB/katello.js +263 -278
  14. data/app/assets/javascripts/katello/locale/en_US/katello.js +247 -262
  15. data/app/assets/javascripts/katello/locale/es/katello.js +248 -263
  16. data/app/assets/javascripts/katello/locale/et_EE/katello.js +247 -262
  17. data/app/assets/javascripts/katello/locale/fr/katello.js +250 -265
  18. data/app/assets/javascripts/katello/locale/gl/katello.js +247 -262
  19. data/app/assets/javascripts/katello/locale/gu/katello.js +249 -264
  20. data/app/assets/javascripts/katello/locale/he_IL/katello.js +249 -264
  21. data/app/assets/javascripts/katello/locale/hi/katello.js +248 -263
  22. data/app/assets/javascripts/katello/locale/id/katello.js +261 -275
  23. data/app/assets/javascripts/katello/locale/it/katello.js +252 -267
  24. data/app/assets/javascripts/katello/locale/ja/katello.js +250 -265
  25. data/app/assets/javascripts/katello/locale/ka/katello.js +247 -262
  26. data/app/assets/javascripts/katello/locale/kn/katello.js +248 -263
  27. data/app/assets/javascripts/katello/locale/ko/katello.js +248 -263
  28. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +247 -262
  29. data/app/assets/javascripts/katello/locale/mr/katello.js +248 -263
  30. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +252 -267
  31. data/app/assets/javascripts/katello/locale/or/katello.js +248 -263
  32. data/app/assets/javascripts/katello/locale/pa/katello.js +248 -263
  33. data/app/assets/javascripts/katello/locale/pl/katello.js +248 -263
  34. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +247 -262
  35. data/app/assets/javascripts/katello/locale/pt/katello.js +248 -263
  36. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +248 -263
  37. data/app/assets/javascripts/katello/locale/ro/katello.js +247 -262
  38. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +247 -262
  39. data/app/assets/javascripts/katello/locale/ru/katello.js +253 -268
  40. data/app/assets/javascripts/katello/locale/sl/katello.js +247 -262
  41. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +248 -263
  42. data/app/assets/javascripts/katello/locale/ta/katello.js +248 -263
  43. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +247 -262
  44. data/app/assets/javascripts/katello/locale/te/katello.js +248 -263
  45. data/app/assets/javascripts/katello/locale/tr/katello.js +247 -262
  46. data/app/assets/javascripts/katello/locale/vi/katello.js +247 -262
  47. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +247 -262
  48. data/app/assets/javascripts/katello/locale/zh/katello.js +247 -262
  49. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +250 -265
  50. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +255 -270
  51. data/app/assets/javascripts/katello/sync_management/sync_management.js +16 -2
  52. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +33 -9
  53. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
  54. data/app/controllers/katello/api/v2/activation_keys_controller.rb +4 -9
  55. data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -1
  56. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +3 -1
  57. data/app/controllers/katello/api/v2/content_views_controller.rb +4 -1
  58. data/app/controllers/katello/api/v2/environments_controller.rb +4 -0
  59. data/app/controllers/katello/api/v2/errata_controller.rb +12 -1
  60. data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +81 -0
  61. data/app/controllers/katello/api/v2/flatpak_remotes_controller.rb +86 -0
  62. data/app/controllers/katello/api/v2/host_bootc_images_controller.rb +71 -0
  63. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +4 -6
  64. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +3 -5
  65. data/app/controllers/katello/api/v2/repositories_controller.rb +18 -3
  66. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +0 -8
  67. data/app/controllers/katello/concerns/api/v2/http_proxies_controller_extensions.rb +17 -0
  68. data/app/controllers/katello/concerns/http_proxies_controller_extensions.rb +20 -0
  69. data/app/controllers/katello/sync_management_controller.rb +6 -2
  70. data/app/helpers/katello/content_source_helper.rb +8 -1
  71. data/app/helpers/katello/content_view_helper.rb +3 -1
  72. data/app/lib/actions/candlepin/activation_key/create.rb +1 -3
  73. data/app/lib/actions/candlepin/activation_key/update.rb +1 -3
  74. data/app/lib/actions/candlepin/environment/set_content.rb +17 -4
  75. data/app/lib/actions/katello/activation_key/create.rb +1 -2
  76. data/app/lib/actions/katello/activation_key/update.rb +2 -4
  77. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +7 -1
  78. data/app/lib/actions/katello/content_view/presenters/incremental_updates_presenter.rb +3 -2
  79. data/app/lib/actions/katello/content_view/publish.rb +7 -2
  80. data/app/lib/actions/katello/content_view_environment/reassign_objects.rb +11 -2
  81. data/app/lib/actions/katello/content_view_version/incremental_update.rb +31 -22
  82. data/app/lib/actions/katello/flatpak/mirror_remote_repository.rb +30 -0
  83. data/app/lib/actions/katello/flatpak/scan_remote.rb +17 -12
  84. data/app/lib/actions/katello/host/update_system_purpose.rb +1 -6
  85. data/app/lib/actions/katello/repository/destroy.rb +1 -5
  86. data/app/lib/actions/katello/repository/update.rb +1 -5
  87. data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +18 -2
  88. data/app/lib/actions/pulp3/repository/multi_copy_units.rb +4 -0
  89. data/app/lib/katello/api/v2/rendering.rb +2 -1
  90. data/app/lib/katello/concerns/base_template_scope_extensions.rb +3 -4
  91. data/app/lib/katello/concerns/bookmark_controller_validator_extensions.rb +13 -0
  92. data/app/lib/katello/resources/candlepin/activation_key.rb +3 -5
  93. data/app/lib/katello/resources/candlepin/product.rb +2 -1
  94. data/app/lib/katello/util/cveak_migrator.rb +3 -2
  95. data/app/lib/katello/validators/alternate_content_source_path_validator.rb +2 -2
  96. data/app/lib/katello/validators/container_image_name_validator.rb +1 -1
  97. data/app/lib/katello/validators/content_validator.rb +1 -1
  98. data/app/lib/katello/validators/content_view_environment_coherent_default_validator.rb +2 -2
  99. data/app/lib/katello/validators/content_view_environment_org_validator.rb +2 -2
  100. data/app/lib/katello/validators/content_view_environment_validator.rb +3 -3
  101. data/app/lib/katello/validators/content_view_erratum_filter_rule_validator.rb +12 -12
  102. data/app/lib/katello/validators/content_view_filter_version_validator.rb +1 -1
  103. data/app/lib/katello/validators/generated_content_view_validator.rb +1 -1
  104. data/app/lib/katello/validators/gpg_key_content_type_validator.rb +2 -2
  105. data/app/lib/katello/validators/gpg_key_content_validator.rb +5 -5
  106. data/app/lib/katello/validators/katello_label_format_validator.rb +4 -4
  107. data/app/lib/katello/validators/katello_name_format_validator.rb +2 -2
  108. data/app/lib/katello/validators/katello_url_format_validator.rb +1 -1
  109. data/app/lib/katello/validators/library_presence_validator.rb +1 -1
  110. data/app/lib/katello/validators/no_trailing_space_validator.rb +1 -1
  111. data/app/lib/katello/validators/non_library_environment_validator.rb +1 -1
  112. data/app/lib/katello/validators/not_in_library_validator.rb +1 -1
  113. data/app/lib/katello/validators/path_descendents_validator.rb +1 -1
  114. data/app/lib/katello/validators/prior_validator.rb +1 -1
  115. data/app/lib/katello/validators/product_unique_attribute_validator.rb +1 -1
  116. data/app/lib/katello/validators/repo_disablement_validator.rb +2 -2
  117. data/app/lib/katello/validators/root_repository_unique_attribute_validator.rb +1 -1
  118. data/app/lib/katello/validators/self_reference_environment_validator.rb +1 -1
  119. data/app/lib/katello/validators/unique_field_in_org.rb +1 -1
  120. data/app/models/katello/activation_key.rb +6 -17
  121. data/app/models/katello/authorization/flatpak_remote.rb +33 -0
  122. data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -1
  123. data/app/models/katello/concerns/host_managed_extensions.rb +8 -5
  124. data/app/models/katello/concerns/http_proxy_extensions.rb +4 -0
  125. data/app/models/katello/concerns/smart_proxy_extensions.rb +30 -6
  126. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -8
  127. data/app/models/katello/content_view.rb +4 -2
  128. data/app/models/katello/content_view_erratum_filter.rb +18 -2
  129. data/app/models/katello/content_view_version.rb +6 -0
  130. data/app/models/katello/docker_manifest.rb +8 -0
  131. data/app/models/katello/docker_manifest_list.rb +8 -0
  132. data/app/models/katello/erratum.rb +8 -2
  133. data/app/models/katello/flatpak_remote.rb +16 -0
  134. data/app/models/katello/flatpak_remote_repository.rb +18 -0
  135. data/app/models/katello/flatpak_remote_repository_manifest.rb +4 -0
  136. data/app/models/katello/glue/candlepin/pool.rb +1 -1
  137. data/app/models/katello/glue/pulp/repos.rb +12 -1
  138. data/app/models/katello/host/content_facet.rb +42 -3
  139. data/app/models/katello/host/subscription_facet.rb +4 -12
  140. data/app/models/katello/repository.rb +21 -8
  141. data/app/models/katello/rhel_lifecycle_status.rb +6 -0
  142. data/app/models/katello/root_repository.rb +6 -8
  143. data/app/models/katello/upstream_pool.rb +1 -0
  144. data/app/overrides/add_organization_attributes.rb +6 -0
  145. data/app/services/katello/product_content_finder.rb +2 -1
  146. data/app/services/katello/pulp3/content_view_version/importable_repositories.rb +1 -1
  147. data/app/services/katello/pulp3/docker_manifest.rb +3 -2
  148. data/app/services/katello/pulp3/docker_manifest_list.rb +3 -2
  149. data/app/services/katello/pulp3/repository/ansible_collection.rb +8 -1
  150. data/app/services/katello/pulp3/repository/apt.rb +16 -18
  151. data/app/services/katello/pulp3/repository/file.rb +4 -2
  152. data/app/services/katello/pulp3/repository.rb +4 -0
  153. data/app/services/katello/pulp3/task.rb +2 -2
  154. data/app/views/foreman/job_templates/bootc_action.erb +26 -0
  155. data/app/views/foreman/job_templates/bootc_rollback.erb +13 -0
  156. data/app/views/foreman/job_templates/bootc_status.erb +13 -0
  157. data/app/views/foreman/job_templates/bootc_switch.erb +13 -0
  158. data/app/views/foreman/job_templates/bootc_upgrade.erb +13 -0
  159. data/app/views/foreman/job_templates/flatpak_install.erb +23 -0
  160. data/app/views/foreman/job_templates/flatpak_login_action.erb +30 -0
  161. data/app/views/foreman/job_templates/flatpak_setup.erb +27 -0
  162. data/app/views/foreman/job_templates/install_errata_by_search_query.erb +1 -1
  163. data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +1 -1
  164. data/app/views/foreman/job_templates/resolve_traces_-_katello_ansible_default.erb +1 -1
  165. data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +1 -1
  166. data/app/views/katello/api/v2/activation_keys/base.json.rabl +0 -4
  167. data/app/views/katello/api/v2/content_facet/base.json.rabl +2 -1
  168. data/app/views/katello/api/v2/content_view_filter_rules/show.json.rabl +1 -0
  169. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +5 -1
  170. data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +1 -1
  171. data/app/views/katello/api/v2/docker_manifests/show.json.rabl +1 -1
  172. data/app/views/katello/api/v2/flatpak_remote_repositories/base.json.rabl +4 -0
  173. data/app/views/katello/api/v2/flatpak_remote_repositories/index.json.rabl +7 -0
  174. data/app/views/katello/api/v2/flatpak_remote_repositories/show.json.rabl +13 -0
  175. data/app/views/katello/api/v2/flatpak_remotes/base.json.rabl +5 -0
  176. data/app/views/katello/api/v2/flatpak_remotes/index.json.rabl +8 -0
  177. data/app/views/katello/api/v2/flatpak_remotes/permissions.json.rabl +11 -0
  178. data/app/views/katello/api/v2/flatpak_remotes/show.json.rabl +3 -0
  179. data/app/views/katello/api/v2/hosts/base.json.rabl +0 -8
  180. data/app/views/katello/api/v2/hosts/os_attributes.json.rabl +13 -0
  181. data/app/views/katello/api/v2/http_proxies/show.json.rabl +1 -0
  182. data/app/views/katello/api/v2/repositories/base.json.rabl +1 -0
  183. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -0
  184. data/app/views/katello/api/v2/subscription_facet/base.json.rabl +0 -4
  185. data/app/views/katello/api/v2/subscriptions/show.json.rabl +1 -1
  186. data/app/views/overrides/activation_keys/_host_synced_content_select.html.erb +10 -4
  187. data/app/views/overrides/http_proxies/_update_setting_input.html.erb +18 -0
  188. data/app/views/overrides/organizations/_step_1_override.html.erb +5 -0
  189. data/config/initializers/monkeys.rb +0 -1
  190. data/config/initializers/pagelets.rb +6 -0
  191. data/config/routes/api/registry.rb +1 -0
  192. data/config/routes/api/v2.rb +21 -0
  193. data/config/routes/overrides.rb +1 -0
  194. data/config/routes.rb +2 -0
  195. data/db/migrate/20190605014649_add_purpose_addons.rb +0 -12
  196. data/db/migrate/20200213184848_create_evr_type.rb +126 -1
  197. data/db/migrate/20200818192230_update_system_purpose_status.rb +0 -1
  198. data/db/migrate/20240207191223_remove_entitlement_mode_host_statuses.rb +0 -1
  199. data/db/migrate/20240924161240_katello_recreate_evr_constructs.rb +160 -0
  200. data/db/migrate/20241022121706_add_sync_dependencies_option.rb +5 -0
  201. data/db/migrate/20241101144625_remove_system_purpose_addons.rb +9 -0
  202. data/db/migrate/20241107002541_add_registry_url_to_katello_flatpak_remotes.rb +5 -0
  203. data/db/migrate/20241112145802_add_manifest_entity_to_content_facets.rb +7 -0
  204. data/db/migrate/20241120213713_add_allow_other_types_to_content_view_erratum_filter_rules.rb +6 -0
  205. data/db/migrate/20241206183052_add_content_type_to_container_manifests_and_lists.rb +9 -0
  206. data/db/seeds.d/75-job_templates.rb +5 -1
  207. data/engines/bastion/vendor/assets/javascripts/bastion/angular/angular.js +2 -2
  208. data/engines/bastion/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap-tpls.js +3 -3
  209. data/engines/bastion/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap.js +3 -3
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details-info.controller.js +0 -5
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +1 -41
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +0 -12
  213. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/subscription-add-or-remove.html +1 -1
  214. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-system-purpose-modal.controller.js +1 -41
  215. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +1 -1
  216. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +2 -2
  217. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +2 -2
  218. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-system-purpose-modal.html +0 -13
  219. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -1
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +0 -5
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +1 -35
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -14
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-provisioning-info.html +1 -1
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +2 -2
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +46 -22
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +2 -1
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/views/debs.html +4 -0
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +1 -1
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-details.html +1 -1
  230. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +1 -1
  231. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-tasks-list.html +2 -1
  232. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +85 -29
  233. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +338 -93
  234. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +340 -95
  235. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +340 -95
  236. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +341 -96
  237. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +31 -54
  238. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +338 -93
  239. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +338 -93
  240. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +341 -96
  241. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +349 -104
  242. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +338 -93
  243. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +33 -56
  244. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +338 -93
  245. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +80 -68
  246. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +340 -95
  247. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +340 -95
  248. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +339 -111
  249. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +340 -95
  250. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +379 -130
  251. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +342 -103
  252. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +70 -83
  253. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +84 -90
  254. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +340 -95
  255. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +130 -138
  256. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +338 -93
  257. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +340 -95
  258. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +343 -97
  259. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +340 -95
  260. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +340 -95
  261. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +340 -95
  262. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +338 -93
  263. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +338 -93
  264. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +40 -63
  265. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +338 -93
  266. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +338 -93
  267. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +343 -102
  268. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +338 -93
  269. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +340 -95
  270. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +338 -93
  271. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +340 -95
  272. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +340 -95
  273. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +338 -93
  274. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +338 -93
  275. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +338 -93
  276. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +338 -93
  277. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +70 -83
  278. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +362 -105
  279. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +29 -29
  280. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-info.html +1 -1
  281. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-advanced-sync-modal.controller.js +1 -1
  282. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-sync-plan-modal.html +2 -2
  283. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +5 -1
  284. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +24 -8
  285. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-tasks.html +2 -1
  286. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +2 -2
  287. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +21 -8
  288. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/os-versions.service.js +1 -0
  289. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-info.html +3 -3
  290. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-tasks.html +2 -1
  291. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +4 -2
  292. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery.html +2 -1
  293. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +3 -3
  294. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/partials/product-table-sync-status.html +1 -1
  295. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +1 -1
  296. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-info.html +1 -1
  297. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans.html +2 -2
  298. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-table.directive.js +2 -1
  299. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/task-details.html +2 -2
  300. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-index.html +1 -1
  301. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-table.html +1 -1
  302. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/user-tasks-table.html +1 -1
  303. data/lib/katello/engine.rb +6 -0
  304. data/lib/katello/permission_creator.rb +37 -0
  305. data/lib/katello/permissions/host_permissions.rb +2 -0
  306. data/lib/katello/permissions/registry_permissions.rb +1 -0
  307. data/lib/katello/plugin.rb +18 -1
  308. data/lib/katello/repository_types/docker.rb +0 -1
  309. data/lib/katello/repository_types/python.rb +4 -1
  310. data/lib/katello/version.rb +1 -1
  311. data/lib/katello.rb +2 -0
  312. data/locale/Makefile +20 -24
  313. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  314. data/locale/bn/katello.po +248 -263
  315. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  316. data/locale/bn_IN/katello.po +247 -262
  317. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  318. data/locale/ca/katello.po +247 -262
  319. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  320. data/locale/cs/katello.po +524 -799
  321. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  322. data/locale/cs_CZ/katello.po +254 -269
  323. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  324. data/locale/de/katello.po +248 -263
  325. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  326. data/locale/de_AT/katello.po +247 -262
  327. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  328. data/locale/de_DE/katello.po +250 -265
  329. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  330. data/locale/el/katello.po +252 -267
  331. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  332. data/locale/en/katello.po +257 -271
  333. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  334. data/locale/en_GB/katello.po +264 -279
  335. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  336. data/locale/en_US/katello.po +247 -262
  337. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  338. data/locale/es/katello.po +248 -263
  339. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  340. data/locale/et_EE/katello.po +247 -262
  341. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  342. data/locale/fr/katello.po +250 -265
  343. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  344. data/locale/gl/katello.po +247 -262
  345. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  346. data/locale/gu/katello.po +250 -265
  347. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  348. data/locale/he_IL/katello.po +249 -264
  349. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  350. data/locale/hi/katello.po +248 -263
  351. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  352. data/locale/id/katello.po +264 -275
  353. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  354. data/locale/it/katello.po +254 -270
  355. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  356. data/locale/ja/katello.po +250 -265
  357. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  358. data/locale/ka/katello.po +247 -262
  359. data/locale/katello.pot +1216 -1215
  360. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  361. data/locale/kn/katello.po +248 -263
  362. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  363. data/locale/ko/katello.po +248 -263
  364. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  365. data/locale/ml_IN/katello.po +247 -262
  366. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  367. data/locale/mr/katello.po +248 -263
  368. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  369. data/locale/nl_NL/katello.po +254 -268
  370. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  371. data/locale/or/katello.po +248 -263
  372. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  373. data/locale/pa/katello.po +248 -263
  374. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  375. data/locale/pl/katello.po +249 -264
  376. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  377. data/locale/pl_PL/katello.po +247 -262
  378. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  379. data/locale/pt/katello.po +248 -263
  380. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  381. data/locale/pt_BR/katello.po +248 -263
  382. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  383. data/locale/ro/katello.po +247 -262
  384. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  385. data/locale/ro_RO/katello.po +247 -262
  386. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  387. data/locale/ru/katello.po +255 -270
  388. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  389. data/locale/sl/katello.po +247 -262
  390. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  391. data/locale/sv_SE/katello.po +249 -264
  392. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  393. data/locale/ta/katello.po +248 -263
  394. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  395. data/locale/ta_IN/katello.po +247 -262
  396. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  397. data/locale/te/katello.po +248 -263
  398. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  399. data/locale/tr/katello.po +247 -262
  400. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  401. data/locale/vi/katello.po +247 -262
  402. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  403. data/locale/vi_VN/katello.po +247 -262
  404. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  405. data/locale/zh/katello.po +247 -262
  406. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  407. data/locale/zh_CN/katello.po +250 -265
  408. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  409. data/locale/zh_TW/katello.po +257 -272
  410. data/webpack/ForemanColumnExtensions/index.js +73 -3
  411. data/webpack/ForemanColumnExtensions/index.scss +9 -0
  412. data/webpack/__mocks__/foremanReact/Root/Context/ForemanContext.js +1 -0
  413. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +1 -1
  414. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +1 -20
  415. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +3 -61
  416. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +0 -5
  417. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +0 -5
  418. data/webpack/components/extensions/HostDetails/DetailsTabCards/ImageModeCard.js +87 -0
  419. data/webpack/components/extensions/HostDetails/DetailsTabCards/RegistrationCard.js +28 -2
  420. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +1 -1
  421. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +2 -2
  422. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +1 -1
  423. data/webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js +55 -0
  424. data/webpack/containers/Application/config.js +5 -0
  425. data/webpack/global_index.js +3 -1
  426. data/webpack/redux/actions/RedHatRepositories/helpers.js +15 -6
  427. data/webpack/scenes/BootedContainerImages/BootedContainerImagesConstants.js +5 -0
  428. data/webpack/scenes/BootedContainerImages/BootedContainerImagesPage.js +242 -0
  429. data/webpack/scenes/BootedContainerImages/__tests__/bootedContainerImages.fixtures.js +42 -0
  430. data/webpack/scenes/BootedContainerImages/__tests__/bootedContainerImagesPage.test.js +233 -0
  431. data/webpack/scenes/BootedContainerImages/index.js +4 -0
  432. data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +1 -2
  433. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +39 -7
  434. data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +13 -2
  435. data/webpack/scenes/ContentViews/Details/Filters/CVFilterDetailType.js +1 -1
  436. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +1 -0
  437. data/webpack/scenes/ContentViews/Details/Repositories/RepoIcon.js +4 -2
  438. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/hosts.fixtures.json +1 -2
  439. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +20 -1
  440. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +20 -1
  441. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +128 -18
  442. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedActivationKeys.fixture.json +0 -1
  443. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedHosts.fixture.json +1 -2
  444. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +6 -4
  445. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedActivationKeys.js +5 -1
  446. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHosts.js +6 -1
  447. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +1 -1
  448. data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +5 -1
  449. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +4 -2
  450. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +38 -0
  451. data/webpack/scenes/Subscriptions/Details/SubscriptionPurposeAttributes.js +0 -1
  452. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +0 -10
  453. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +0 -3
  454. data/webpack/scenes/Subscriptions/Details/__tests__/subscriptionDetails.fixtures.js +0 -1
  455. metadata +63 -12
  456. data/app/models/katello/activation_key_purpose_addon.rb +0 -6
  457. data/app/models/katello/purpose_addon.rb +0 -11
  458. data/app/models/katello/subscription_facet_purpose_addon.rb +0 -6
  459. data/lib/monkeys/fx_sqlite_skip.rb +0 -13
  460. data/locale/action_names.rb +0 -181
@@ -11,6 +11,12 @@ Deface::Override.new(:virtual_path => "taxonomies/_form",
11
11
  :text => '<% if taxonomy.is_a?(Location) %><%= render_original %><% end %>'
12
12
  )
13
13
 
14
+ Deface::Override.new(:virtual_path => "taxonomies/_step1",
15
+ :name => "add_organization_attributes_on_create",
16
+ :insert_after => 'erb[loud]:contains("text_f"):contains(":name")',
17
+ :partial => 'overrides/organizations/step_1_override'
18
+ )
19
+
14
20
  # Add organization attributes to org edit
15
21
  Deface::Override.new(:virtual_path => "taxonomies/_form",
16
22
  :name => "add_organization_attributes_on_edit",
@@ -26,7 +26,8 @@ module Katello
26
26
  structured_apt_roots = roots.where(:content_id => nil)
27
27
  if structured_apt_roots.any?
28
28
  deb_repos_query = Katello::Repository.where(root: structured_apt_roots)
29
- deb_repos = match_environment ? deb_repos_query.where(content_view_version: versions, environment: consumable.environment) : deb_repos_query.where(:library_instance_id => nil)
29
+ environment = consumable.respond_to?(:environment) ? consumable.environment : consumable.content_view_environments.select(:environment_id).map(&:environment_id)
30
+ deb_repos = match_environment ? deb_repos_query.where(content_view_version: versions, environment: environment) : deb_repos_query.where(:library_instance_id => nil)
30
31
  content_ids += deb_repos.pluck(:content_id)
31
32
  end
32
33
 
@@ -29,7 +29,7 @@ module Katello
29
29
 
30
30
  root = product.root_repositories.find do |r|
31
31
  if repo.content&.id && repo.redhat
32
- repo_exists = r.content.cp_content_id == repo.content.id &&
32
+ repo_exists = r.library_instance.content.cp_content_id == repo.content.id &&
33
33
  r.arch == repo.arch &&
34
34
  r.major == repo.major &&
35
35
  r.minor == repo.minor
@@ -29,8 +29,9 @@ module Katello
29
29
  pulp_id: unit[unit_identifier],
30
30
  annotations: unit['annotations'],
31
31
  labels: unit['labels'],
32
- is_bootable: unit['is_bootable'],
33
- is_flatpak: unit['is_flatpak'],
32
+ is_bootable: unit['is_bootable'] || unit['type'] == 'bootable',
33
+ is_flatpak: unit['is_flatpak'] || unit['type'] == 'flatpak',
34
+ content_type: unit['type'],
34
35
  }
35
36
  end
36
37
  end
@@ -31,8 +31,9 @@ module Katello
31
31
  pulp_id: unit[unit_identifier],
32
32
  annotations: unit['annotations'],
33
33
  labels: unit['labels'],
34
- is_bootable: unit['is_bootable'],
35
- is_flatpak: unit['is_flatpak'],
34
+ is_bootable: unit['is_bootable'] || unit['type'] == 'bootable',
35
+ is_flatpak: unit['is_flatpak'] || unit['type'] == 'flatpak',
36
+ content_type: unit['type'],
36
37
  }
37
38
  end
38
39
 
@@ -13,7 +13,8 @@ module Katello
13
13
  requirements_file: root.ansible_collection_requirements.blank? ? nil : root.ansible_collection_requirements,
14
14
  auth_url: root.ansible_collection_auth_url,
15
15
  token: root.ansible_collection_auth_token,
16
- tls_validation: root.verify_ssl_on_sync)
16
+ tls_validation: root.verify_ssl_on_sync,
17
+ sync_dependencies: root.sync_dependencies)
17
18
  end
18
19
 
19
20
  def distribution_options(path)
@@ -28,6 +29,12 @@ module Katello
28
29
  "/pulp_ansible/galaxy/#{repo.relative_path}/api/"
29
30
  end
30
31
 
32
+ def sync_url_params(sync_options)
33
+ params = super
34
+ params[:optimize] = sync_options[:optimize] if sync_options.key?(:optimize)
35
+ params
36
+ end
37
+
31
38
  def mirror_remote_options
32
39
  {
33
40
  }
@@ -226,23 +226,6 @@ module Katello
226
226
  multi_copy_units(repo_id_map, dependency_solving)
227
227
  end
228
228
 
229
- def copy_units(content_unit_hrefs, remove_all)
230
- remove_all = true if remove_all.nil?
231
- tasks = []
232
-
233
- if content_unit_hrefs.sort!.any?
234
- first_slice = remove_all
235
- content_unit_hrefs.each_slice(UNIT_LIMIT) do |slice|
236
- tasks << add_content(slice, first_slice)
237
- first_slice = false
238
- end
239
- # If we're merging composite cv repositories, don't clear out the Pulp repository.
240
- elsif remove_all
241
- tasks << remove_all_content
242
- end
243
- tasks
244
- end
245
-
246
229
  def copy_content_for_source(source_repository, options = {})
247
230
  # copy_units_by_href(source_repository.debs.pluck(:pulp_id))
248
231
  filters = ContentViewDebFilter.where(:id => options[:filter_ids])
@@ -261,7 +244,22 @@ module Katello
261
244
 
262
245
  content_unit_hrefs = whitelist_ids - blacklist_ids
263
246
 
264
- copy_units(content_unit_hrefs.uniq, options[:remove_all])
247
+ pulp_deb_copy_serializer = PulpDebClient::Copy.new
248
+ pulp_deb_copy_serializer.dependency_solving = false
249
+ pulp_deb_copy_serializer.config = [{
250
+ source_repo_version: source_repository.version_href,
251
+ dest_repo: repository_reference.repository_href,
252
+ content: content_unit_hrefs,
253
+ }]
254
+
255
+ remove_all = options[:remove_all]
256
+ remove_all = true if remove_all.nil?
257
+
258
+ if remove_all
259
+ remove_all_content_from_repo(repository_reference.repository_href)
260
+ end
261
+
262
+ copy_content_chunked(pulp_deb_copy_serializer)
265
263
  end
266
264
 
267
265
  def regenerate_applicability
@@ -17,12 +17,14 @@ module Katello
17
17
  end
18
18
 
19
19
  def remote_options
20
+ options = common_remote_options
20
21
  #TODO: move to user specifying PULP_MANIFEST
21
22
  if root.url.blank?
22
- common_remote_options.merge(url: nil)
23
+ options[:url] = nil
23
24
  else
24
- common_remote_options.merge(url: root.url + '/PULP_MANIFEST')
25
+ options[:url] = root.url + '/PULP_MANIFEST'
25
26
  end
27
+ options.merge!(policy: root.download_policy)
26
28
  end
27
29
 
28
30
  def partial_repo_path
@@ -136,6 +136,10 @@ module Katello
136
136
  RepositoryMirror.new(self).refresh_entities
137
137
  end
138
138
 
139
+ def refresh_entities
140
+ [update_remote].flatten.compact
141
+ end
142
+
139
143
  def refresh_if_needed
140
144
  tasks = []
141
145
  tasks << update_remote #always update remote
@@ -57,7 +57,7 @@ module Katello
57
57
  tasks = [tasks] unless tasks.is_a?(Array)
58
58
  version_hrefs = tasks.map { |task| task[:created_resources] }.flatten
59
59
  version_hrefs = version_hrefs.select { |href| ::Katello::Pulp3::Repository.version_href?(href) }
60
- Rails.logger.error("Got multiple version_hrefs for pulp task: #{tasks}") if version_hrefs.length > 2
60
+ Rails.logger.debug("Got multiple version_hrefs for pulp task: #{tasks}") if version_hrefs.length > 2
61
61
  version_hrefs.last
62
62
  end
63
63
 
@@ -65,7 +65,7 @@ module Katello
65
65
  tasks = [tasks] unless tasks.is_a?(Array)
66
66
  publication_hrefs = tasks.map { |task| task[:created_resources] }.flatten
67
67
  publication_hrefs = publication_hrefs.select { |href| ::Katello::Pulp3::Repository.publication_href?(href) }
68
- Rails.logger.error("Got multiple publication hrefs for pulp task: #{tasks}") if publication_hrefs.length > 2
68
+ Rails.logger.debug("Got multiple publication hrefs for pulp task: #{tasks}") if publication_hrefs.length > 2
69
69
  publication_hrefs.last #return the last href to workaround https://pulp.plan.io/issues/9098
70
70
  end
71
71
 
@@ -0,0 +1,26 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Action - Script Default
4
+ model: JobTemplate
5
+ job_category: Bootc
6
+ description_format: 'bootc %{action} %{options} %{target}'
7
+ provider_type: script
8
+ feature: katello_bootc_action
9
+ template_inputs:
10
+ - name: action
11
+ description: 'The bootc action: upgrade, switch, rollback or status'
12
+ input_type: user
13
+ options: "upgrade\nswitch\nrollback\nstatus"
14
+ required: true
15
+ - name: options
16
+ description: Additional options for bootc action
17
+ input_type: user
18
+ required: false
19
+ - name: target
20
+ description: Target for bootc switch action
21
+ input_type: user
22
+ required: false
23
+ %>
24
+
25
+ bootc <%= input('action') %> <%= input('options') %> <%= input('target') %>
26
+ subscription-manager facts --update
@@ -0,0 +1,13 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Rollback - Script Default
4
+ job_category: Bootc
5
+ description_format: 'bootc rollback'
6
+ feature: katello_bootc_rollback
7
+ provider_type: script
8
+ foreign_input_sets:
9
+ - template: Bootc Action - Script Default
10
+ exclude: action, options, target
11
+ %>
12
+
13
+ <%= render_template('Bootc Action - Script Default', :action => 'rollback') %>
@@ -0,0 +1,13 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Status - Script Default
4
+ job_category: Bootc
5
+ description_format: 'bootc status %{options}'
6
+ feature: katello_bootc_status
7
+ provider_type: script
8
+ foreign_input_sets:
9
+ - template: Bootc Action - Script Default
10
+ exclude: action, target
11
+ %>
12
+
13
+ <%= render_template('Bootc Action - Script Default', :action => 'status') %>
@@ -0,0 +1,13 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Switch - Script Default
4
+ job_category: Bootc
5
+ description_format: 'bootc switch %{options} %{target}'
6
+ feature: katello_bootc_switch
7
+ provider_type: script
8
+ foreign_input_sets:
9
+ - template: Bootc Action - Script Default
10
+ exclude: action
11
+ %>
12
+
13
+ <%= render_template('Bootc Action - Script Default', :action => 'switch') %>
@@ -0,0 +1,13 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Upgrade - Script Default
4
+ job_category: Bootc
5
+ description_format: 'bootc upgrade %{options}'
6
+ feature: katello_bootc_upgrade
7
+ provider_type: script
8
+ foreign_input_sets:
9
+ - template: Bootc Action - Script Default
10
+ exclude: action, target
11
+ %>
12
+
13
+ <%= render_template('Bootc Action - Script Default', :action => 'upgrade') %>
@@ -0,0 +1,23 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Flatpak - Install application on host
4
+ job_category: Katello
5
+ description_format: 'Install Flatpak application %{Application name} on host'
6
+ provider_type: script
7
+ template_inputs:
8
+ - name: Flatpak remote name
9
+ description: Name of remote to use on host
10
+ input_type: user
11
+ required: false
12
+ - name: Application name
13
+ description: Name of the application to install
14
+ input_type: user
15
+ required: true
16
+ %>
17
+
18
+ <%
19
+ remote_name = input('Flatpak remote name')
20
+ app_name = input('Application name')
21
+ %>
22
+
23
+ sudo dbus-launch flatpak install <%= remote_name %> <%= app_name %> --assumeyes
@@ -0,0 +1,30 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Flatpak - Login to registry via podman
4
+ job_category: Katello
5
+ description_format: 'Login to flatpak registry via podman'
6
+ provider_type: script
7
+ template_inputs:
8
+ - name: Flatpak registry URL
9
+ description: URL of server/capsule
10
+ input_type: user
11
+ required: true
12
+ - name: Username
13
+ description: Username for container registry login
14
+ input_type: user
15
+ required: true
16
+ - name: Password
17
+ description: Password/Access token for container registry login
18
+ input_type: user
19
+ required: true
20
+ hidden_value: true
21
+ %>
22
+
23
+ <%
24
+ server_url = input('Flatpak registry URL')
25
+ username = input('Username')
26
+ password = input('Password')
27
+ %>
28
+
29
+ sudo podman login <%= server_url %> --username <%= username %> --password <%= password %>
30
+ sudo cp /run/containers/0/auth.json /etc/flatpak/oci-auth.json
@@ -0,0 +1,27 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Flatpak - Set up remote on host
4
+ job_category: Katello
5
+ description_format: 'Set up Flatpak remote on host'
6
+ provider_type: script
7
+ template_inputs:
8
+ - name: Remote Name
9
+ description: Remote name for Flatpak
10
+ input_type: user
11
+ required: true
12
+ - name: Flatpak registry URL
13
+ description: URL of server/capsule
14
+ input_type: user
15
+ required: true
16
+ foreign_input_sets:
17
+ - template: Flatpak - Login to registry via podman
18
+ exclude: Flatpak registry URL
19
+ %>
20
+
21
+ <%
22
+ remote_name = input('Remote Name')
23
+ registry_url = input('Flatpak registry URL')
24
+ %>
25
+
26
+ sudo flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci <%= remote_name %> oci+<%= registry_url %>/
27
+ <%= render_template('Flatpak - Login to registry via podman', 'Flatpak registry URL': registry_url) %>
@@ -15,7 +15,7 @@ foreign_input_sets:
15
15
  exclude: action,package
16
16
  %>
17
17
 
18
- <% advisory_ids = @host.advisory_ids(search: input("Errata search query"), check_installable_for_host: false) -%>
18
+ <% advisory_ids = @host.advisory_ids(search: input("Errata search query")) -%>
19
19
  <% render_error(N_("No errata matching given search query")) if !input("Errata search query").blank? && advisory_ids.blank? -%>
20
20
  # RESOLVED_ERRATA_IDS=<%= advisory_ids.join(',') %>
21
21
 
@@ -12,7 +12,7 @@ template_inputs:
12
12
  required: false
13
13
  %>
14
14
 
15
- <% advisory_ids = @host.advisory_ids(search: input("Errata search query"), check_installable_for_host: false) -%>
15
+ <% advisory_ids = @host.advisory_ids(search: input("Errata search query")) -%>
16
16
  <% render_error(N_("No errata matching given search query")) if !input("Errata search query").blank? && advisory_ids.blank? -%>
17
17
  # RESOLVED_ERRATA_IDS=<%= advisory_ids.join(',') %>
18
18
 
@@ -18,7 +18,7 @@ commands = @host.traces_helpers(search: input('Traces search query'))
18
18
  reboot = commands.delete('reboot')
19
19
  -%>
20
20
  <% if reboot -%>
21
- - reboot:
21
+ <%= render_template('Power Action - Ansible Default', action: 'restart') %>
22
22
  <% else -%>
23
23
  <%= render_template(
24
24
  'Run Command - Ansible Default',
@@ -22,7 +22,7 @@ template_inputs:
22
22
  versions: input('Selected update versions')
23
23
  ) -%>
24
24
  <% if package_names.empty? -%>
25
- <%= render_template('Package Action - Ansible Default', :state => 'latest', :name => '"*"') %>
25
+ <%= render_template('Package Action - Ansible Default', :state => 'latest', :name => '*') %>
26
26
  <% else -%>
27
27
  ---
28
28
  - hosts: all
@@ -51,10 +51,6 @@ end
51
51
 
52
52
  attributes :usage_count, :user_id, :max_hosts, :system_template_id, :release_version, :purpose_usage, :purpose_role
53
53
 
54
- node :purpose_addons do |key|
55
- key.purpose_addons.pluck(:name)
56
- end
57
-
58
54
  node :permissions do |activation_key|
59
55
  {
60
56
  :view_activation_keys => activation_key.readable?,
@@ -61,7 +61,8 @@ node :lifecycle_environment do |content_facet|
61
61
  end
62
62
 
63
63
  child :content_source => :content_source do
64
- attributes :id, :name, :url
64
+ attributes :id, :name, :url, :registration_host
65
+ node(:load_balanced) { |content_source| content_source.load_balanced? }
65
66
  end
66
67
 
67
68
  child :kickstart_repository => :kickstart_repository do
@@ -13,6 +13,7 @@ attributes :start_date, :if => lambda { |rule| rule.respond_to?(:start_date) &&
13
13
  attributes :end_date, :if => lambda { |rule| rule.respond_to?(:end_date) && !rule.end_date.blank? }
14
14
  attributes :architecture, :if => lambda { |rule| rule.respond_to?(:architecture) && !rule.architecture.blank? }
15
15
  attributes :types, :if => lambda { |rule| rule.respond_to?(:types) && !rule.types.blank? }
16
+ attributes :allow_other_types, :if => lambda { |rule| rule.respond_to?(:allow_other_types) }
16
17
  attributes :date_type, :if => lambda { |rule| rule.respond_to?(:date_type) }
17
18
  attributes :module_stream_id, :if => lambda { |rule| rule.respond_to?(:module_stream_id) && !rule.module_stream_id.blank? }
18
19
  if @resource&.try(:module_stream)
@@ -46,10 +46,14 @@ node :permissions do |cvv|
46
46
  }
47
47
  end
48
48
 
49
+ child :content_view_environments => :content_view_environments do
50
+ attributes :label, :environment_id, :environment_name
51
+ end
52
+
49
53
  extends 'katello/api/v2/common/timestamps'
50
54
 
51
55
  version = @object || @resource
52
- child :environments => :environments do
56
+ child :sorted_organization_readable_environments => :environments do
53
57
  attributes :id, :name, :label
54
58
 
55
59
  node :publish_date do |env|
@@ -1,6 +1,6 @@
1
1
  object @resource
2
2
 
3
- attributes :id, :schema_version, :digest, :manifest_type
3
+ attributes :id, :schema_version, :digest, :manifest_type, :content_type
4
4
  attributes :annotations, :labels, :is_bootable, :is_flatpak
5
5
 
6
6
  child :docker_tags => :tags do
@@ -1,6 +1,6 @@
1
1
  object @resource
2
2
 
3
- attributes :id, :schema_version, :digest, :manifest_type
3
+ attributes :id, :schema_version, :digest, :manifest_type, :content_type
4
4
  attributes :annotations, :labels, :is_bootable, :is_flatpak
5
5
 
6
6
  child :docker_tags => :tags do
@@ -0,0 +1,4 @@
1
+ extends 'katello/api/v2/common/identifier'
2
+
3
+ attributes :name
4
+ attributes :label, :flatpak_remote_id
@@ -0,0 +1,7 @@
1
+ object false
2
+
3
+ extends "katello/api/v2/common/index"
4
+
5
+ child @collection[:results] => :results do
6
+ extends "katello/api/v2/flatpak_remote_repositories/base"
7
+ end
@@ -0,0 +1,13 @@
1
+ object @resource
2
+
3
+ extends "katello/api/v2/flatpak_remote_repositories/base"
4
+
5
+ child :flatpak_remote => :flatpak_remote do
6
+ attributes :id, :name, :url
7
+ end
8
+
9
+ if ::Foreman::Cast.to_bool params[:manifests]
10
+ child :manifests => :manifests do
11
+ attributes :name, :digest, :tags, :application, :runtime, :flatpak_ref
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ extends 'katello/api/v2/common/identifier'
2
+ extends 'katello/api/v2/common/org_reference'
3
+
4
+ attributes :name
5
+ attributes :url, :description, :username, :seeded, :registry_url
@@ -0,0 +1,8 @@
1
+ object false
2
+
3
+ extends "katello/api/v2/common/index"
4
+ extends 'katello/api/v2/flatpak_remotes/permissions'
5
+
6
+ child @collection[:results] => :results do
7
+ extends "katello/api/v2/flatpak_remotes/base"
8
+ end
@@ -0,0 +1,11 @@
1
+ collection @flatpak_remotes
2
+
3
+ if ::Foreman::Cast.to_bool(params.fetch(:include_permissions, false))
4
+ user = User.current # current_user is not available here
5
+ node do
6
+ node(:can_create) { user.can?("create_flatpak_remotes") }
7
+ node(:can_edit) { user.can?("edit_flatpak_remotes") }
8
+ node(:can_delete) { user.can?("destroy_flatpak_remotes") }
9
+ node(:can_view) { user.can?("view_flatpak_remotes") }
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ object @resource
2
+
3
+ extends "katello/api/v2/flatpak_remotes/base"
@@ -5,14 +5,6 @@ object @resource
5
5
 
6
6
  attributes :id, :name, :description
7
7
 
8
- node :operatingsystem_family do |resource|
9
- resource.operatingsystem&.family
10
- end
11
-
12
- node :operatingsystem_major do |resource|
13
- resource.operatingsystem&.major
14
- end
15
-
16
8
  if @facet
17
9
  node :content_view do
18
10
  content_view = @facet&.single_content_view
@@ -0,0 +1,13 @@
1
+ object @resource
2
+
3
+ @resource ||= @object
4
+
5
+ attributes :id, :name, :description
6
+
7
+ node :operatingsystem_family do |resource|
8
+ resource.operatingsystem&.family
9
+ end
10
+
11
+ node :operatingsystem_major do |resource|
12
+ resource.operatingsystem&.major
13
+ end
@@ -0,0 +1 @@
1
+ node(:content_default_http_proxy) { |sp| sp.content_default_http_proxy? }
@@ -4,6 +4,7 @@ extends 'katello/api/v2/common/identifier'
4
4
 
5
5
  attributes :pulp_id => :backend_identifier
6
6
  attributes :relative_path, :container_repository_name, :full_path, :library_instance_id
7
+ attributes :full_gpg_key_path
7
8
  attributes :version_href, :remote_href, :publication_href
8
9
  attributes :content_counts
9
10
  attributes :mirroring_policy
@@ -19,6 +19,7 @@ glue(@resource.root) do
19
19
  attributes :ssl_ca_cert_id
20
20
  attributes :ssl_client_cert_id
21
21
  attributes :ssl_client_key_id
22
+ attributes :sync_dependencies
22
23
 
23
24
  attributes :product_type
24
25
  attributes :upstream_username
@@ -3,7 +3,3 @@ attributes :id, :uuid, :last_checkin, :service_level, :release_version, :autohea
3
3
  child :user => :user do
4
4
  attributes :id, :login
5
5
  end
6
-
7
- node :purpose_addons do |sub|
8
- sub.purpose_addons.pluck(:name)
9
- end
@@ -5,7 +5,7 @@ extends "katello/api/v2/subscriptions/base"
5
5
  attributes :arch
6
6
  attributes :description
7
7
  attributes :support_type
8
- attributes :roles, :usage, :addons
8
+ attributes :roles, :usage
9
9
  attributes :product_host_count
10
10
 
11
11
  node(:host_count) do |subscription|
@@ -23,9 +23,15 @@
23
23
  :class => 'form-control', :name => ks_repo_select_name, :disabled => kickstart_options.empty? %>
24
24
  <% end %>
25
25
 
26
- <% content_for(:javascripts) do -%>
27
- <script>
26
+ <script>
27
+ if(window.allJsLoaded){
28
28
  KT.hosts.set_media_selection_bindings();
29
29
  KT.hosts.update_media_enablement();
30
- </script>
31
- <% end -%>
30
+ }
31
+ else {
32
+ $(document).on('ContentLoad', function(){
33
+ KT.hosts.set_media_selection_bindings();
34
+ KT.hosts.update_media_enablement();
35
+ });
36
+ }
37
+ </script>
@@ -0,0 +1,18 @@
1
+ <div class="clearfix">
2
+ <div class="form-group ">
3
+ <label class="col-md-2 control-label" for="http_proxy_content_default_http_proxy">
4
+ Default content HTTP proxy
5
+ </label>
6
+ <div class="col-md-4">
7
+ <% if @http_proxy.new_record? %>
8
+ <%= check_box_tag 'http_proxy[content_default_http_proxy]',
9
+ '1',
10
+ params.dig('http_proxy', 'content_default_http_proxy') == '1',
11
+ id: 'content_default_http_proxy' %>
12
+ Set this proxy as the default for content, updating the 'Default HTTP Proxy' setting.
13
+ <% else %>
14
+ <%= @http_proxy.content_default_http_proxy? ? _('Yes') : _('No') %>
15
+ <% end %>
16
+ </div>
17
+ </div>
18
+ </div>
@@ -0,0 +1,5 @@
1
+ <% if @taxonomy.is_a?(Organization) %>
2
+
3
+ <%= text_f f, :label, :class => 'input-xlarge' %>
4
+
5
+ <% end %>