katello 4.15.1 → 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 (498) 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_view_filter_rules_controller.rb +3 -1
  56. data/app/controllers/katello/api/v2/content_views_controller.rb +4 -1
  57. data/app/controllers/katello/api/v2/environments_controller.rb +4 -0
  58. data/app/controllers/katello/api/v2/errata_controller.rb +12 -1
  59. data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +81 -0
  60. data/app/controllers/katello/api/v2/flatpak_remotes_controller.rb +86 -0
  61. data/app/controllers/katello/api/v2/host_bootc_images_controller.rb +71 -0
  62. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -3
  63. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +3 -5
  64. data/app/controllers/katello/api/v2/repositories_controller.rb +11 -3
  65. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +0 -8
  66. data/app/controllers/katello/concerns/api/v2/http_proxies_controller_extensions.rb +17 -0
  67. data/app/controllers/katello/concerns/http_proxies_controller_extensions.rb +20 -0
  68. data/app/controllers/katello/sync_management_controller.rb +6 -2
  69. data/app/helpers/katello/content_source_helper.rb +8 -1
  70. data/app/helpers/katello/content_view_helper.rb +3 -1
  71. data/app/lib/actions/candlepin/activation_key/create.rb +1 -3
  72. data/app/lib/actions/candlepin/activation_key/update.rb +1 -3
  73. data/app/lib/actions/candlepin/environment/set_content.rb +17 -4
  74. data/app/lib/actions/katello/activation_key/create.rb +1 -2
  75. data/app/lib/actions/katello/activation_key/update.rb +2 -4
  76. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +7 -1
  77. data/app/lib/actions/katello/content_view/presenters/incremental_updates_presenter.rb +3 -2
  78. data/app/lib/actions/katello/content_view/publish.rb +7 -2
  79. data/app/lib/actions/katello/content_view_environment/reassign_objects.rb +11 -2
  80. data/app/lib/actions/katello/content_view_version/incremental_update.rb +31 -22
  81. data/app/lib/actions/katello/flatpak/mirror_remote_repository.rb +30 -0
  82. data/app/lib/actions/katello/flatpak/scan_remote.rb +17 -12
  83. data/app/lib/actions/katello/host/update_system_purpose.rb +1 -6
  84. data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +18 -2
  85. data/app/lib/actions/pulp3/repository/multi_copy_units.rb +4 -0
  86. data/app/lib/katello/api/v2/rendering.rb +2 -1
  87. data/app/lib/katello/concerns/bookmark_controller_validator_extensions.rb +13 -0
  88. data/app/lib/katello/resources/candlepin/activation_key.rb +3 -5
  89. data/app/lib/katello/validators/alternate_content_source_path_validator.rb +2 -2
  90. data/app/lib/katello/validators/container_image_name_validator.rb +1 -1
  91. data/app/lib/katello/validators/content_validator.rb +1 -1
  92. data/app/lib/katello/validators/content_view_environment_coherent_default_validator.rb +2 -2
  93. data/app/lib/katello/validators/content_view_environment_org_validator.rb +2 -2
  94. data/app/lib/katello/validators/content_view_environment_validator.rb +3 -3
  95. data/app/lib/katello/validators/content_view_erratum_filter_rule_validator.rb +12 -12
  96. data/app/lib/katello/validators/content_view_filter_version_validator.rb +1 -1
  97. data/app/lib/katello/validators/generated_content_view_validator.rb +1 -1
  98. data/app/lib/katello/validators/gpg_key_content_type_validator.rb +2 -2
  99. data/app/lib/katello/validators/gpg_key_content_validator.rb +5 -5
  100. data/app/lib/katello/validators/katello_label_format_validator.rb +4 -4
  101. data/app/lib/katello/validators/katello_name_format_validator.rb +2 -2
  102. data/app/lib/katello/validators/katello_url_format_validator.rb +1 -1
  103. data/app/lib/katello/validators/library_presence_validator.rb +1 -1
  104. data/app/lib/katello/validators/no_trailing_space_validator.rb +1 -1
  105. data/app/lib/katello/validators/non_library_environment_validator.rb +1 -1
  106. data/app/lib/katello/validators/not_in_library_validator.rb +1 -1
  107. data/app/lib/katello/validators/path_descendents_validator.rb +1 -1
  108. data/app/lib/katello/validators/prior_validator.rb +1 -1
  109. data/app/lib/katello/validators/product_unique_attribute_validator.rb +1 -1
  110. data/app/lib/katello/validators/repo_disablement_validator.rb +2 -2
  111. data/app/lib/katello/validators/root_repository_unique_attribute_validator.rb +1 -1
  112. data/app/lib/katello/validators/self_reference_environment_validator.rb +1 -1
  113. data/app/lib/katello/validators/unique_field_in_org.rb +1 -1
  114. data/app/models/katello/activation_key.rb +6 -17
  115. data/app/models/katello/authorization/flatpak_remote.rb +33 -0
  116. data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -1
  117. data/app/models/katello/concerns/host_managed_extensions.rb +8 -5
  118. data/app/models/katello/concerns/http_proxy_extensions.rb +4 -0
  119. data/app/models/katello/concerns/smart_proxy_extensions.rb +30 -6
  120. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -8
  121. data/app/models/katello/content_view.rb +3 -1
  122. data/app/models/katello/content_view_erratum_filter.rb +18 -2
  123. data/app/models/katello/content_view_version.rb +6 -0
  124. data/app/models/katello/docker_manifest.rb +8 -0
  125. data/app/models/katello/docker_manifest_list.rb +8 -0
  126. data/app/models/katello/erratum.rb +8 -2
  127. data/app/models/katello/flatpak_remote.rb +16 -0
  128. data/app/models/katello/flatpak_remote_repository.rb +18 -0
  129. data/app/models/katello/flatpak_remote_repository_manifest.rb +4 -0
  130. data/app/models/katello/glue/candlepin/pool.rb +1 -1
  131. data/app/models/katello/glue/pulp/repos.rb +12 -1
  132. data/app/models/katello/host/content_facet.rb +42 -3
  133. data/app/models/katello/host/subscription_facet.rb +4 -12
  134. data/app/models/katello/repository.rb +21 -8
  135. data/app/models/katello/rhel_lifecycle_status.rb +6 -0
  136. data/app/models/katello/root_repository.rb +3 -8
  137. data/app/overrides/add_organization_attributes.rb +6 -0
  138. data/app/services/katello/product_content_finder.rb +2 -1
  139. data/app/services/katello/pulp3/docker_manifest.rb +3 -2
  140. data/app/services/katello/pulp3/docker_manifest_list.rb +3 -2
  141. data/app/services/katello/pulp3/repository/ansible_collection.rb +8 -1
  142. data/app/services/katello/pulp3/repository/apt.rb +16 -18
  143. data/app/services/katello/pulp3/repository/file.rb +4 -2
  144. data/app/services/katello/pulp3/repository.rb +4 -0
  145. data/app/services/katello/pulp3/task.rb +2 -2
  146. data/app/views/foreman/job_templates/bootc_action.erb +26 -0
  147. data/app/views/foreman/job_templates/bootc_rollback.erb +13 -0
  148. data/app/views/foreman/job_templates/bootc_status.erb +13 -0
  149. data/app/views/foreman/job_templates/bootc_switch.erb +13 -0
  150. data/app/views/foreman/job_templates/bootc_upgrade.erb +13 -0
  151. data/app/views/foreman/job_templates/flatpak_install.erb +23 -0
  152. data/app/views/foreman/job_templates/flatpak_login_action.erb +30 -0
  153. data/app/views/foreman/job_templates/flatpak_setup.erb +27 -0
  154. data/app/views/foreman/job_templates/install_errata_by_search_query.erb +1 -1
  155. data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +1 -1
  156. data/app/views/foreman/job_templates/resolve_traces_-_katello_ansible_default.erb +1 -1
  157. data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +1 -1
  158. data/app/views/katello/api/v2/activation_keys/base.json.rabl +0 -4
  159. data/app/views/katello/api/v2/content_facet/base.json.rabl +2 -1
  160. data/app/views/katello/api/v2/content_view_filter_rules/show.json.rabl +1 -0
  161. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +5 -1
  162. data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +1 -1
  163. data/app/views/katello/api/v2/docker_manifests/show.json.rabl +1 -1
  164. data/app/views/katello/api/v2/flatpak_remote_repositories/base.json.rabl +4 -0
  165. data/app/views/katello/api/v2/flatpak_remote_repositories/index.json.rabl +7 -0
  166. data/app/views/katello/api/v2/flatpak_remote_repositories/show.json.rabl +13 -0
  167. data/app/views/katello/api/v2/flatpak_remotes/base.json.rabl +5 -0
  168. data/app/views/katello/api/v2/flatpak_remotes/index.json.rabl +8 -0
  169. data/app/views/katello/api/v2/flatpak_remotes/permissions.json.rabl +11 -0
  170. data/app/views/katello/api/v2/flatpak_remotes/show.json.rabl +3 -0
  171. data/app/views/katello/api/v2/hosts/base.json.rabl +0 -8
  172. data/app/views/katello/api/v2/hosts/os_attributes.json.rabl +13 -0
  173. data/app/views/katello/api/v2/http_proxies/show.json.rabl +1 -0
  174. data/app/views/katello/api/v2/repositories/base.json.rabl +1 -0
  175. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -0
  176. data/app/views/katello/api/v2/subscription_facet/base.json.rabl +0 -4
  177. data/app/views/katello/api/v2/subscriptions/show.json.rabl +1 -1
  178. data/app/views/overrides/activation_keys/_host_synced_content_select.html.erb +10 -4
  179. data/app/views/overrides/http_proxies/_update_setting_input.html.erb +18 -0
  180. data/app/views/overrides/organizations/_step_1_override.html.erb +5 -0
  181. data/config/initializers/monkeys.rb +0 -1
  182. data/config/initializers/pagelets.rb +6 -0
  183. data/config/routes/api/registry.rb +1 -0
  184. data/config/routes/api/v2.rb +21 -0
  185. data/config/routes/overrides.rb +1 -0
  186. data/config/routes.rb +2 -0
  187. data/db/migrate/20190605014649_add_purpose_addons.rb +0 -12
  188. data/db/migrate/20200213184848_create_evr_type.rb +126 -1
  189. data/db/migrate/20200818192230_update_system_purpose_status.rb +0 -1
  190. data/db/migrate/20240207191223_remove_entitlement_mode_host_statuses.rb +0 -1
  191. data/db/migrate/20240924161240_katello_recreate_evr_constructs.rb +160 -0
  192. data/db/migrate/20241022121706_add_sync_dependencies_option.rb +5 -0
  193. data/db/migrate/20241101144625_remove_system_purpose_addons.rb +9 -0
  194. data/db/migrate/20241107002541_add_registry_url_to_katello_flatpak_remotes.rb +5 -0
  195. data/db/migrate/20241112145802_add_manifest_entity_to_content_facets.rb +7 -0
  196. data/db/migrate/20241120213713_add_allow_other_types_to_content_view_erratum_filter_rules.rb +6 -0
  197. data/db/migrate/20241206183052_add_content_type_to_container_manifests_and_lists.rb +9 -0
  198. data/db/seeds.d/75-job_templates.rb +5 -1
  199. data/engines/bastion/vendor/assets/javascripts/bastion/angular/angular.js +2 -2
  200. data/engines/bastion/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap-tpls.js +3 -3
  201. data/engines/bastion/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap.js +3 -3
  202. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details-info.controller.js +0 -5
  203. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +1 -41
  204. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +0 -12
  205. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/subscription-add-or-remove.html +1 -1
  206. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-system-purpose-modal.controller.js +1 -41
  207. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +1 -1
  208. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +2 -2
  209. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +2 -2
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-system-purpose-modal.html +0 -13
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -1
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +0 -5
  213. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +1 -35
  214. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -14
  215. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-provisioning-info.html +1 -1
  216. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +2 -2
  217. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +46 -22
  218. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +2 -1
  219. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/views/debs.html +4 -0
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +1 -1
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-details.html +1 -1
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +1 -1
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-tasks-list.html +2 -1
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +85 -29
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +338 -93
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +340 -95
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +340 -95
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +341 -96
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +31 -54
  230. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +338 -93
  231. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +338 -93
  232. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +341 -96
  233. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +349 -104
  234. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +338 -93
  235. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +33 -56
  236. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +338 -93
  237. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +80 -68
  238. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +340 -95
  239. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +340 -95
  240. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +339 -111
  241. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +340 -95
  242. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +379 -130
  243. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +342 -103
  244. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +70 -83
  245. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +84 -90
  246. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +340 -95
  247. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +130 -138
  248. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +338 -93
  249. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +340 -95
  250. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +343 -97
  251. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +340 -95
  252. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +340 -95
  253. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +340 -95
  254. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +338 -93
  255. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +338 -93
  256. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +40 -63
  257. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +338 -93
  258. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +338 -93
  259. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +343 -102
  260. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +338 -93
  261. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +340 -95
  262. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +338 -93
  263. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +340 -95
  264. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +340 -95
  265. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +338 -93
  266. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +338 -93
  267. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +338 -93
  268. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +338 -93
  269. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +70 -83
  270. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +362 -105
  271. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +29 -29
  272. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-info.html +1 -1
  273. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-advanced-sync-modal.controller.js +1 -1
  274. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-sync-plan-modal.html +2 -2
  275. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +24 -8
  276. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-tasks.html +2 -1
  277. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +2 -2
  278. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +21 -8
  279. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/os-versions.service.js +1 -0
  280. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-info.html +3 -3
  281. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-tasks.html +2 -1
  282. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +4 -2
  283. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery.html +2 -1
  284. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +3 -3
  285. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/partials/product-table-sync-status.html +1 -1
  286. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +1 -1
  287. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-info.html +1 -1
  288. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans.html +2 -2
  289. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-table.directive.js +2 -1
  290. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/task-details.html +2 -2
  291. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-index.html +1 -1
  292. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-table.html +1 -1
  293. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/user-tasks-table.html +1 -1
  294. data/lib/katello/engine.rb +6 -0
  295. data/lib/katello/permission_creator.rb +37 -0
  296. data/lib/katello/permissions/host_permissions.rb +2 -0
  297. data/lib/katello/permissions/registry_permissions.rb +1 -0
  298. data/lib/katello/plugin.rb +18 -1
  299. data/lib/katello/repository_types/python.rb +1 -1
  300. data/lib/katello/version.rb +1 -1
  301. data/lib/katello.rb +2 -0
  302. data/locale/Makefile +20 -24
  303. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  304. data/locale/bn/katello.po +248 -263
  305. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  306. data/locale/bn_IN/katello.po +247 -262
  307. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  308. data/locale/ca/katello.po +247 -262
  309. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  310. data/locale/cs/katello.po +524 -799
  311. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  312. data/locale/cs_CZ/katello.po +254 -269
  313. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  314. data/locale/de/katello.po +248 -263
  315. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  316. data/locale/de_AT/katello.po +247 -262
  317. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  318. data/locale/de_DE/katello.po +250 -265
  319. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  320. data/locale/el/katello.po +252 -267
  321. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  322. data/locale/en/katello.po +257 -271
  323. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  324. data/locale/en_GB/katello.po +264 -279
  325. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  326. data/locale/en_US/katello.po +247 -262
  327. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  328. data/locale/es/katello.po +248 -263
  329. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  330. data/locale/et_EE/katello.po +247 -262
  331. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  332. data/locale/fr/katello.po +250 -265
  333. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  334. data/locale/gl/katello.po +247 -262
  335. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  336. data/locale/gu/katello.po +250 -265
  337. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  338. data/locale/he_IL/katello.po +249 -264
  339. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  340. data/locale/hi/katello.po +248 -263
  341. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  342. data/locale/id/katello.po +264 -275
  343. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  344. data/locale/it/katello.po +254 -270
  345. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  346. data/locale/ja/katello.po +250 -265
  347. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  348. data/locale/ka/katello.po +247 -262
  349. data/locale/katello.pot +1216 -1215
  350. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  351. data/locale/kn/katello.po +248 -263
  352. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  353. data/locale/ko/katello.po +248 -263
  354. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  355. data/locale/ml_IN/katello.po +247 -262
  356. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  357. data/locale/mr/katello.po +248 -263
  358. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  359. data/locale/nl_NL/katello.po +254 -268
  360. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  361. data/locale/or/katello.po +248 -263
  362. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  363. data/locale/pa/katello.po +248 -263
  364. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  365. data/locale/pl/katello.po +249 -264
  366. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  367. data/locale/pl_PL/katello.po +247 -262
  368. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  369. data/locale/pt/katello.po +248 -263
  370. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  371. data/locale/pt_BR/katello.po +248 -263
  372. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  373. data/locale/ro/katello.po +247 -262
  374. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  375. data/locale/ro_RO/katello.po +247 -262
  376. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  377. data/locale/ru/katello.po +255 -270
  378. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  379. data/locale/sl/katello.po +247 -262
  380. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  381. data/locale/sv_SE/katello.po +249 -264
  382. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  383. data/locale/ta/katello.po +248 -263
  384. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  385. data/locale/ta_IN/katello.po +247 -262
  386. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  387. data/locale/te/katello.po +248 -263
  388. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  389. data/locale/tr/katello.po +247 -262
  390. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  391. data/locale/vi/katello.po +247 -262
  392. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  393. data/locale/vi_VN/katello.po +247 -262
  394. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  395. data/locale/zh/katello.po +247 -262
  396. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  397. data/locale/zh_CN/katello.po +250 -265
  398. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  399. data/locale/zh_TW/katello.po +257 -272
  400. data/webpack/ForemanColumnExtensions/index.js +73 -3
  401. data/webpack/ForemanColumnExtensions/index.scss +9 -0
  402. data/webpack/__mocks__/foremanReact/Root/Context/ForemanContext.js +1 -0
  403. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +1 -1
  404. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +1 -20
  405. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +3 -61
  406. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +0 -5
  407. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +0 -5
  408. data/webpack/components/extensions/HostDetails/DetailsTabCards/ImageModeCard.js +87 -0
  409. data/webpack/components/extensions/HostDetails/DetailsTabCards/RegistrationCard.js +28 -2
  410. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +1 -1
  411. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +2 -2
  412. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +1 -1
  413. data/webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js +55 -0
  414. data/webpack/containers/Application/config.js +5 -0
  415. data/webpack/global_index.js +3 -1
  416. data/webpack/redux/actions/RedHatRepositories/helpers.js +9 -0
  417. data/webpack/scenes/BootedContainerImages/BootedContainerImagesConstants.js +5 -0
  418. data/webpack/scenes/BootedContainerImages/BootedContainerImagesPage.js +242 -0
  419. data/webpack/scenes/BootedContainerImages/__tests__/bootedContainerImages.fixtures.js +42 -0
  420. data/webpack/scenes/BootedContainerImages/__tests__/bootedContainerImagesPage.test.js +233 -0
  421. data/webpack/scenes/BootedContainerImages/index.js +4 -0
  422. data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +1 -2
  423. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +39 -7
  424. data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +13 -2
  425. data/webpack/scenes/ContentViews/Details/Filters/CVFilterDetailType.js +1 -1
  426. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +1 -0
  427. data/webpack/scenes/ContentViews/Details/Repositories/RepoIcon.js +4 -2
  428. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/hosts.fixtures.json +1 -2
  429. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +20 -1
  430. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +20 -1
  431. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +128 -18
  432. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedActivationKeys.fixture.json +0 -1
  433. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedHosts.fixture.json +1 -2
  434. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +6 -4
  435. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedActivationKeys.js +5 -1
  436. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHosts.js +6 -1
  437. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +1 -1
  438. data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +5 -1
  439. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +4 -2
  440. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +38 -0
  441. data/webpack/scenes/Subscriptions/Details/SubscriptionPurposeAttributes.js +0 -1
  442. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +0 -10
  443. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +0 -3
  444. data/webpack/scenes/Subscriptions/Details/__tests__/subscriptionDetails.fixtures.js +0 -1
  445. metadata +61 -64
  446. data/app/models/katello/activation_key_purpose_addon.rb +0 -6
  447. data/app/models/katello/purpose_addon.rb +0 -11
  448. data/app/models/katello/subscription_facet_purpose_addon.rb +0 -6
  449. data/lib/monkeys/fx_sqlite_skip.rb +0 -13
  450. data/locale/action_names.rb +0 -181
  451. data/locale/bn/katello.po.time_stamp +0 -0
  452. data/locale/bn_IN/katello.po.time_stamp +0 -0
  453. data/locale/ca/katello.po.time_stamp +0 -0
  454. data/locale/cs/katello.po.time_stamp +0 -0
  455. data/locale/cs_CZ/katello.po.time_stamp +0 -0
  456. data/locale/de/katello.po.time_stamp +0 -0
  457. data/locale/de_AT/katello.po.time_stamp +0 -0
  458. data/locale/de_DE/katello.po.time_stamp +0 -0
  459. data/locale/el/katello.po.time_stamp +0 -0
  460. data/locale/en/katello.po.time_stamp +0 -0
  461. data/locale/en_GB/katello.po.time_stamp +0 -0
  462. data/locale/en_US/katello.po.time_stamp +0 -0
  463. data/locale/es/katello.po.time_stamp +0 -0
  464. data/locale/et_EE/katello.po.time_stamp +0 -0
  465. data/locale/fr/katello.po.time_stamp +0 -0
  466. data/locale/gl/katello.po.time_stamp +0 -0
  467. data/locale/gu/katello.po.time_stamp +0 -0
  468. data/locale/he_IL/katello.po.time_stamp +0 -0
  469. data/locale/hi/katello.po.time_stamp +0 -0
  470. data/locale/id/katello.po.time_stamp +0 -0
  471. data/locale/it/katello.po.time_stamp +0 -0
  472. data/locale/ja/katello.po.time_stamp +0 -0
  473. data/locale/ka/katello.po.time_stamp +0 -0
  474. data/locale/kn/katello.po.time_stamp +0 -0
  475. data/locale/ko/katello.po.time_stamp +0 -0
  476. data/locale/ml_IN/katello.po.time_stamp +0 -0
  477. data/locale/mr/katello.po.time_stamp +0 -0
  478. data/locale/nl_NL/katello.po.time_stamp +0 -0
  479. data/locale/or/katello.po.time_stamp +0 -0
  480. data/locale/pa/katello.po.time_stamp +0 -0
  481. data/locale/pl/katello.po.time_stamp +0 -0
  482. data/locale/pl_PL/katello.po.time_stamp +0 -0
  483. data/locale/pt/katello.po.time_stamp +0 -0
  484. data/locale/pt_BR/katello.po.time_stamp +0 -0
  485. data/locale/ro/katello.po.time_stamp +0 -0
  486. data/locale/ro_RO/katello.po.time_stamp +0 -0
  487. data/locale/ru/katello.po.time_stamp +0 -0
  488. data/locale/sl/katello.po.time_stamp +0 -0
  489. data/locale/sv_SE/katello.po.time_stamp +0 -0
  490. data/locale/ta/katello.po.time_stamp +0 -0
  491. data/locale/ta_IN/katello.po.time_stamp +0 -0
  492. data/locale/te/katello.po.time_stamp +0 -0
  493. data/locale/tr/katello.po.time_stamp +0 -0
  494. data/locale/vi/katello.po.time_stamp +0 -0
  495. data/locale/vi_VN/katello.po.time_stamp +0 -0
  496. data/locale/zh/katello.po.time_stamp +0 -0
  497. data/locale/zh_CN/katello.po.time_stamp +0 -0
  498. data/locale/zh_TW/katello.po.time_stamp +0 -0
@@ -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 %>
@@ -1,4 +1,3 @@
1
1
  #place where monkey patches are required
2
2
  require 'monkeys/ar_postgres_evr_t'
3
- require 'monkeys/fx_sqlite_skip'
4
3
  require 'monkeys/remove_hidden_distribution'
@@ -4,3 +4,9 @@ Pagelets::Manager.with_key "hosts/_form" do |mgr|
4
4
  :partial => "overrides/activation_keys/host_environment_select",
5
5
  :priority => 80
6
6
  end
7
+
8
+ Pagelets::Manager.with_key "http_proxies/_form" do |mgr|
9
+ mgr.add_pagelet :main_tab_fields,
10
+ :partial => "overrides/http_proxies/update_setting_input",
11
+ :priority => 80
12
+ end
@@ -19,6 +19,7 @@ Katello::Engine.routes.draw do
19
19
  match '/v2' => 'registry_proxies#ping', :via => :get
20
20
  match '/v1/_ping' => 'registry_proxies#v1_ping', :via => :get
21
21
  match '/v1/search' => 'registry_proxies#v1_search', :via => :get
22
+ match '/index/static' => 'registry_proxies#static_index', :via => :get
22
23
  end
23
24
  end
24
25
  end
@@ -15,6 +15,25 @@ Katello::Engine.routes.draw do
15
15
  get :auto_complete_search, :on => :collection
16
16
  end
17
17
 
18
+ api_resources :flatpak_remotes, :only => [:index, :show, :create, :update, :destroy] do
19
+ get :auto_complete_search, :on => :collection
20
+ member do
21
+ post :scan
22
+ end
23
+ api_resources :flatpak_remote_repositories, :only => [:index, :show]
24
+ end
25
+
26
+ api_resources :flatpak_remote_repositories, :only => [:index, :show] do
27
+ get :auto_complete_search, :on => :collection
28
+ member do
29
+ post :mirror
30
+ end
31
+ end
32
+
33
+ api_resources :host_bootc_images, :only => [:auto_complete_search] do
34
+ get :auto_complete_search, :on => :collection
35
+ end
36
+
18
37
  api_resources :capsules, :only => [:index, :show] do
19
38
  member do
20
39
  resource :content, :only => [], :controller => 'capsule_content' do
@@ -263,6 +282,8 @@ Katello::Engine.routes.draw do
263
282
  get :manifest_history
264
283
  end
265
284
  end
285
+ api_resources :flatpak_remotes, :only => [:index, :show]
286
+ api_resources :flatpak_remote_repositories, :only => [:index, :show]
266
287
  end
267
288
 
268
289
  match "/packages/thindex" => "packages#thindex", :via => :get
@@ -59,6 +59,7 @@ Foreman::Application.routes.draw do
59
59
 
60
60
  collection do
61
61
  match '/auto_complete_search' => 'host_autocomplete#auto_complete_search', :via => :get
62
+ match '/bootc_images' => 'host_bootc_images#bootc_images', :via => :get
62
63
  match '/bulk/add_host_collections' => 'hosts_bulk_actions#bulk_add_host_collections', :via => :put
63
64
  match '/bulk/remove_host_collections' => 'hosts_bulk_actions#bulk_remove_host_collections', :via => :put
64
65
  match '/bulk/remove_host_collections' => 'hosts_bulk_actions#bulk_remove_host_collections', :via => :put
data/config/routes.rb CHANGED
@@ -33,6 +33,8 @@ Katello::Engine.routes.draw do
33
33
  match '/alternate_content_sources' => 'react#index', :via => [:get]
34
34
  match '/alternate_content_sources/*page' => 'react#index', :via => [:get]
35
35
 
36
+ match '/booted_container_images' => 'react#index', :via => [:get]
37
+
36
38
  Katello::RepositoryTypeManager.generic_ui_content_types(false).each do |type|
37
39
  get "/#{type.pluralize}", to: redirect("/content/#{type.pluralize}")
38
40
  get "/#{type.pluralize}/:page", to: redirect("/content/#{type.pluralize}/%{page}")
@@ -12,18 +12,6 @@ class AddPurposeAddons < ActiveRecord::Migration[5.2]
12
12
  add_foreign_key :katello_subscription_facet_purpose_addons, :katello_subscription_facets, column: :subscription_facet_id, name: :katello_sub_facet_purpose_addon_facet_id
13
13
  add_foreign_key :katello_subscription_facet_purpose_addons, :katello_purpose_addons, column: :purpose_addon_id, name: :katello_sub_facet_purpose_addon_purpose_addon_id
14
14
 
15
- Katello::Host::SubscriptionFacet.pluck(:id, :purpose_addons).each do |facet|
16
- yaml_string = facet[1]
17
- next if yaml_string.nil?
18
-
19
- parsed = YAML.parse(yaml_string)
20
- addon_names = parsed.root.children.map(&:value)
21
- addon_names.each do |addon|
22
- purpose_addon = Katello::PurposeAddon.find_or_create_by(name: addon)
23
- Katello::SubscriptionFacetPurposeAddon.create(purpose_addon_id: purpose_addon.id, subscription_facet_id: facet[0])
24
- end
25
- end
26
-
27
15
  remove_column :katello_subscription_facets, :purpose_addons, :text
28
16
  end
29
17
  end