katello 4.14.1 → 4.15.0.rc1

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

Potentially problematic release.


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

Files changed (453) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/common/chosen.jquery.js +3 -3
  3. data/app/assets/javascripts/katello/common/env_select_scroll.js +3 -3
  4. data/app/assets/javascripts/katello/common/katello.js +8 -7
  5. data/app/assets/javascripts/katello/common/katello_object.js +3 -3
  6. data/app/assets/javascripts/katello/common/menu.js +7 -7
  7. data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +6 -6
  8. data/app/assets/javascripts/katello/locale/bn/katello.js +259 -28
  9. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +258 -27
  10. data/app/assets/javascripts/katello/locale/ca/katello.js +258 -27
  11. data/app/assets/javascripts/katello/locale/cs/katello.js +258 -27
  12. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +258 -27
  13. data/app/assets/javascripts/katello/locale/de/katello.js +259 -28
  14. data/app/assets/javascripts/katello/locale/de_AT/katello.js +258 -27
  15. data/app/assets/javascripts/katello/locale/de_DE/katello.js +258 -27
  16. data/app/assets/javascripts/katello/locale/el/katello.js +258 -27
  17. data/app/assets/javascripts/katello/locale/en/katello.js +258 -27
  18. data/app/assets/javascripts/katello/locale/en_GB/katello.js +258 -27
  19. data/app/assets/javascripts/katello/locale/en_US/katello.js +258 -27
  20. data/app/assets/javascripts/katello/locale/es/katello.js +259 -28
  21. data/app/assets/javascripts/katello/locale/et_EE/katello.js +258 -27
  22. data/app/assets/javascripts/katello/locale/fr/katello.js +259 -28
  23. data/app/assets/javascripts/katello/locale/gl/katello.js +258 -27
  24. data/app/assets/javascripts/katello/locale/gu/katello.js +258 -27
  25. data/app/assets/javascripts/katello/locale/he_IL/katello.js +258 -27
  26. data/app/assets/javascripts/katello/locale/hi/katello.js +258 -27
  27. data/app/assets/javascripts/katello/locale/id/katello.js +258 -27
  28. data/app/assets/javascripts/katello/locale/it/katello.js +259 -28
  29. data/app/assets/javascripts/katello/locale/ja/katello.js +259 -28
  30. data/app/assets/javascripts/katello/locale/ka/katello.js +259 -28
  31. data/app/assets/javascripts/katello/locale/kn/katello.js +258 -27
  32. data/app/assets/javascripts/katello/locale/ko/katello.js +259 -28
  33. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +258 -27
  34. data/app/assets/javascripts/katello/locale/mr/katello.js +258 -27
  35. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +258 -27
  36. data/app/assets/javascripts/katello/locale/or/katello.js +258 -27
  37. data/app/assets/javascripts/katello/locale/pa/katello.js +258 -27
  38. data/app/assets/javascripts/katello/locale/pl/katello.js +258 -27
  39. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +258 -27
  40. data/app/assets/javascripts/katello/locale/pt/katello.js +258 -27
  41. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +259 -28
  42. data/app/assets/javascripts/katello/locale/ro/katello.js +258 -27
  43. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +258 -27
  44. data/app/assets/javascripts/katello/locale/ru/katello.js +259 -28
  45. data/app/assets/javascripts/katello/locale/sl/katello.js +258 -27
  46. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +258 -27
  47. data/app/assets/javascripts/katello/locale/ta/katello.js +259 -28
  48. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +258 -27
  49. data/app/assets/javascripts/katello/locale/te/katello.js +258 -27
  50. data/app/assets/javascripts/katello/locale/tr/katello.js +258 -27
  51. data/app/assets/javascripts/katello/locale/vi/katello.js +258 -27
  52. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +258 -27
  53. data/app/assets/javascripts/katello/locale/zh/katello.js +258 -27
  54. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +259 -28
  55. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +259 -28
  56. data/app/assets/javascripts/katello/organizations/download_certificate.js +1 -1
  57. data/app/assets/javascripts/katello/sync_management/sync_management.js +9 -9
  58. data/app/assets/javascripts/katello/widgets/env_content_view_selector.js +5 -5
  59. data/app/assets/javascripts/katello/widgets/path_selector.js +6 -6
  60. data/app/assets/javascripts/katello/widgets/subpanel_new.js +1 -1
  61. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +7 -7
  62. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +6 -1
  63. data/app/controllers/katello/api/v2/activation_keys_controller.rb +131 -59
  64. data/app/controllers/katello/api/v2/api_controller.rb +1 -1
  65. data/app/controllers/katello/api/v2/capsule_content_controller.rb +21 -10
  66. data/app/controllers/katello/api/v2/content_view_components_controller.rb +1 -1
  67. data/app/controllers/katello/api/v2/content_view_environments_controller.rb +54 -0
  68. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +3 -3
  69. data/app/controllers/katello/api/v2/content_views_controller.rb +1 -1
  70. data/app/controllers/katello/api/v2/environments_controller.rb +1 -1
  71. data/app/controllers/katello/api/v2/exports_controller.rb +1 -1
  72. data/app/controllers/katello/api/v2/host_collections_controller.rb +2 -2
  73. data/app/controllers/katello/api/v2/host_contents_controller.rb +1 -1
  74. data/app/controllers/katello/api/v2/host_errata_controller.rb +1 -1
  75. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -1
  76. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +1 -4
  77. data/app/controllers/katello/api/v2/organizations_controller.rb +1 -1
  78. data/app/controllers/katello/api/v2/repositories_controller.rb +3 -2
  79. data/app/controllers/katello/api/v2/repository_sets_controller.rb +1 -1
  80. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +10 -16
  81. data/app/controllers/katello/concerns/api/v2/multi_cv_params_handling.rb +24 -0
  82. data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +2 -5
  83. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +1 -1
  84. data/app/controllers/katello/concerns/registration_commands_controller_extensions.rb +1 -1
  85. data/app/helpers/katello/concerns/smart_proxy_helper_extensions.rb +5 -5
  86. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +2 -2
  87. data/app/helpers/katello/katello_url_helper.rb +1 -1
  88. data/app/lib/actions/candlepin/product/content_create.rb +12 -1
  89. data/app/lib/actions/candlepin/product/content_update.rb +21 -4
  90. data/app/lib/actions/katello/activation_key/reassign.rb +4 -3
  91. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +8 -3
  92. data/app/lib/actions/katello/capsule_content/update_content_counts.rb +21 -3
  93. data/app/lib/actions/katello/cdn_configuration/update.rb +1 -1
  94. data/app/lib/actions/katello/content_view/capsule_sync.rb +17 -1
  95. data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
  96. data/app/lib/actions/katello/content_view/presenters/incremental_updates_presenter.rb +1 -1
  97. data/app/lib/actions/katello/content_view/remove.rb +8 -12
  98. data/app/lib/actions/katello/content_view_version/import.rb +1 -1
  99. data/app/lib/actions/katello/content_view_version/incremental_update.rb +2 -2
  100. data/app/lib/actions/katello/flatpak/scan_remote.rb +62 -0
  101. data/app/lib/actions/katello/host/hypervisors.rb +1 -1
  102. data/app/lib/actions/katello/product/content_create.rb +28 -19
  103. data/app/lib/actions/katello/product/content_destroy.rb +6 -5
  104. data/app/lib/actions/katello/product/destroy.rb +1 -1
  105. data/app/lib/actions/katello/repository/clone_contents.rb +14 -0
  106. data/app/lib/actions/katello/repository/create.rb +24 -17
  107. data/app/lib/actions/katello/repository/create_container_push_root.rb +44 -0
  108. data/app/lib/actions/katello/repository/create_root.rb +5 -15
  109. data/app/lib/actions/katello/repository/destroy.rb +3 -3
  110. data/app/lib/actions/katello/repository/discover.rb +1 -1
  111. data/app/lib/actions/katello/repository/finish_upload.rb +13 -0
  112. data/app/lib/actions/katello/repository/import_upload.rb +1 -1
  113. data/app/lib/actions/katello/repository/sync.rb +16 -0
  114. data/app/lib/actions/katello/repository/update.rb +11 -20
  115. data/app/lib/actions/katello/repository/upload_files.rb +1 -1
  116. data/app/lib/actions/katello/repository_set/enable_repository.rb +1 -1
  117. data/app/lib/actions/katello/repository_set/scan_cdn.rb +1 -1
  118. data/app/lib/actions/katello/upstream_subscriptions/bind_entitlement.rb +1 -1
  119. data/app/lib/actions/pulp3/capsule_content/sync.rb +1 -1
  120. data/app/lib/actions/pulp3/orchestration/content_view_version/export_library.rb +1 -1
  121. data/app/lib/actions/pulp3/orchestration/repository/create.rb +6 -1
  122. data/app/lib/actions/pulp3/orchestration/repository/trigger_update_repo_cert_guard.rb +1 -1
  123. data/app/lib/actions/pulp3/repository/initialize.rb +17 -0
  124. data/app/lib/actions/pulp3/repository/refresh_distribution.rb +1 -1
  125. data/app/lib/katello/api/constraints/register_with_activation_key_constraint.rb +11 -0
  126. data/app/lib/katello/concerns/base_template_scope_extensions.rb +1 -1
  127. data/app/lib/katello/http_resource.rb +6 -6
  128. data/app/lib/katello/messaging/stomp_connection.rb +4 -4
  129. data/app/lib/katello/resources/candlepin/activation_key.rb +1 -1
  130. data/app/lib/katello/resources/candlepin/owner.rb +1 -1
  131. data/app/lib/katello/resources/candlepin/product.rb +1 -1
  132. data/app/lib/katello/resources/candlepin.rb +1 -1
  133. data/app/lib/katello/resources/cdn/katello_cdn.rb +3 -3
  134. data/app/lib/katello/resources/cdn.rb +1 -1
  135. data/app/lib/katello/resources/discovery/container.rb +5 -3
  136. data/app/lib/katello/resources/discovery/yum.rb +3 -1
  137. data/app/lib/katello/resources/registry.rb +0 -3
  138. data/app/lib/katello/util/candlepin_repository_checker.rb +2 -2
  139. data/app/lib/katello/util/cveak_migrator.rb +38 -0
  140. data/app/lib/katello/util/deb.rb +9 -0
  141. data/app/lib/katello/util/deduplication_migrator.rb +8 -8
  142. data/app/lib/katello/util/model.rb +2 -2
  143. data/app/lib/katello/util/search.rb +5 -5
  144. data/app/lib/katello/util/task_status.rb +19 -19
  145. data/app/lib/katello/util/url_matcher.rb +3 -3
  146. data/app/lib/katello/validators/content_view_environment_org_validator.rb +2 -1
  147. data/app/lib/katello/validators/katello_url_format_validator.rb +2 -2
  148. data/app/mailers/katello/errata_mailer.rb +1 -4
  149. data/app/models/katello/activation_key.rb +123 -27
  150. data/app/models/katello/alternate_content_source.rb +5 -5
  151. data/app/models/katello/authorization/activation_key.rb +1 -1
  152. data/app/models/katello/authorization/content_view_environment.rb +7 -0
  153. data/app/models/katello/cdn_configuration.rb +1 -1
  154. data/app/models/katello/concerns/content_facet_host_extensions.rb +24 -2
  155. data/app/models/katello/concerns/host_managed_extensions.rb +11 -6
  156. data/app/models/katello/concerns/organization_extensions.rb +4 -4
  157. data/app/models/katello/concerns/redhat_extensions.rb +1 -1
  158. data/app/models/katello/concerns/smart_proxy_extensions.rb +84 -39
  159. data/app/models/katello/content.rb +3 -3
  160. data/app/models/katello/content_view.rb +15 -18
  161. data/app/models/katello/content_view_environment.rb +56 -15
  162. data/app/models/katello/content_view_environment_activation_key.rb +20 -0
  163. data/app/models/katello/content_view_erratum_filter_rule.rb +1 -1
  164. data/app/models/katello/content_view_filter.rb +2 -2
  165. data/app/models/katello/content_view_history.rb +1 -1
  166. data/app/models/katello/content_view_repository.rb +1 -1
  167. data/app/models/katello/content_view_version.rb +3 -3
  168. data/app/models/katello/content_view_version_export_history.rb +2 -2
  169. data/app/models/katello/content_view_version_import_history.rb +1 -1
  170. data/app/models/katello/events/delete_latest_content_view_version.rb +1 -1
  171. data/app/models/katello/flatpak_remote.rb +11 -0
  172. data/app/models/katello/flatpak_remote_repository.rb +12 -0
  173. data/app/models/katello/flatpak_remote_repository_manifest.rb +10 -0
  174. data/app/models/katello/glue/candlepin/activation_key.rb +1 -1
  175. data/app/models/katello/glue/candlepin/candlepin_object.rb +1 -1
  176. data/app/models/katello/glue/candlepin/pool.rb +1 -1
  177. data/app/models/katello/glue/pulp/repos.rb +1 -1
  178. data/app/models/katello/host/content_facet.rb +33 -17
  179. data/app/models/katello/host/info_provider.rb +2 -4
  180. data/app/models/katello/host/subscription_facet.rb +2 -2
  181. data/app/models/katello/host_available_module_stream.rb +1 -1
  182. data/app/models/katello/installed_product.rb +2 -2
  183. data/app/models/katello/kt_environment.rb +11 -6
  184. data/app/models/katello/ping.rb +2 -3
  185. data/app/models/katello/repository.rb +40 -6
  186. data/app/models/katello/rhel_lifecycle_status.rb +10 -10
  187. data/app/models/katello/root_repository.rb +14 -18
  188. data/app/models/katello/task_status.rb +1 -1
  189. data/app/models/katello/upstream_pool.rb +2 -2
  190. data/app/presenters/katello/product_content_presenter.rb +2 -2
  191. data/app/presenters/katello/repository_presenter.rb +3 -3
  192. data/app/presenters/katello/sync_status_presenter.rb +3 -3
  193. data/app/services/cert/certs.rb +6 -2
  194. data/app/services/katello/candlepin_event_listener.rb +1 -1
  195. data/app/services/katello/event_monitor/poller_thread.rb +1 -1
  196. data/app/services/katello/event_queue.rb +1 -1
  197. data/app/services/katello/product_content_finder.rb +10 -10
  198. data/app/services/katello/product_content_importer.rb +1 -1
  199. data/app/services/katello/pulp3/alternate_content_source.rb +2 -2
  200. data/app/services/katello/pulp3/ansible_collection.rb +1 -1
  201. data/app/services/katello/pulp3/api/apt.rb +4 -0
  202. data/app/services/katello/pulp3/content.rb +1 -0
  203. data/app/services/katello/pulp3/content_view_version/export.rb +3 -10
  204. data/app/services/katello/pulp3/content_view_version/export_validator.rb +1 -1
  205. data/app/services/katello/pulp3/content_view_version/import.rb +2 -2
  206. data/app/services/katello/pulp3/content_view_version/import_gpg_keys.rb +1 -1
  207. data/app/services/katello/pulp3/content_view_version/importable_products.rb +2 -2
  208. data/app/services/katello/pulp3/content_view_version/importable_repositories.rb +4 -4
  209. data/app/services/katello/pulp3/content_view_version/metadata_generator.rb +2 -2
  210. data/app/services/katello/pulp3/deb.rb +35 -1
  211. data/app/services/katello/pulp3/docker_manifest.rb +1 -1
  212. data/app/services/katello/pulp3/docker_manifest_list.rb +6 -2
  213. data/app/services/katello/pulp3/docker_tag.rb +1 -1
  214. data/app/services/katello/pulp3/erratum.rb +2 -2
  215. data/app/services/katello/pulp3/file_unit.rb +1 -1
  216. data/app/services/katello/pulp3/generic_content_unit.rb +1 -1
  217. data/app/services/katello/pulp3/module_stream.rb +2 -2
  218. data/app/services/katello/pulp3/repository/ansible_collection.rb +1 -1
  219. data/app/services/katello/pulp3/repository/apt.rb +22 -16
  220. data/app/services/katello/pulp3/repository/docker.rb +2 -2
  221. data/app/services/katello/pulp3/repository/file.rb +1 -1
  222. data/app/services/katello/pulp3/repository/generic.rb +1 -1
  223. data/app/services/katello/pulp3/repository/yum.rb +7 -7
  224. data/app/services/katello/pulp3/repository.rb +15 -9
  225. data/app/services/katello/pulp3/repository_mirror.rb +3 -3
  226. data/app/services/katello/registration_manager.rb +23 -6
  227. data/app/services/katello/repository_type.rb +3 -3
  228. data/app/services/katello/smart_proxy_helper.rb +3 -3
  229. data/app/services/katello/ui_notifications/content_view/delete_latest_version_failure.rb +1 -1
  230. data/app/services/katello/ui_notifications/subscriptions/expire_soon.rb +3 -3
  231. data/app/services/katello/ui_notifications/subscriptions/manifest_expire_soon_warning.rb +3 -3
  232. data/app/services/katello/ui_notifications/task_notification.rb +2 -2
  233. data/app/services/katello/upstream_connection_checker.rb +1 -1
  234. data/app/views/katello/api/v2/activation_keys/base.json.rabl +43 -8
  235. data/app/views/katello/api/v2/alternate_content_sources/base.json.rabl +1 -1
  236. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +5 -5
  237. data/app/views/katello/api/v2/common/_metadata.json.rabl +1 -1
  238. data/app/views/katello/api/v2/content_credentials/show.json.rabl +1 -1
  239. data/app/views/katello/api/v2/content_facet/base.json.rabl +15 -6
  240. data/app/views/katello/api/v2/content_facet/show.json.rabl +1 -1
  241. data/app/views/katello/api/v2/content_view_environments/index.json.rabl +7 -0
  242. data/app/views/katello/api/v2/content_view_environments/show.json.rabl +33 -0
  243. data/app/views/katello/api/v2/content_view_filter_rules/show.json.rabl +1 -1
  244. data/app/views/katello/api/v2/content_view_filters/show.json.rabl +1 -1
  245. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +3 -3
  246. data/app/views/katello/api/v2/content_views/base.json.rabl +3 -3
  247. data/app/views/katello/api/v2/content_views/show.json.rabl +1 -1
  248. data/app/views/katello/api/v2/debs/backend.json.rabl +7 -0
  249. data/app/views/katello/api/v2/debs/base.json.rabl +4 -0
  250. data/app/views/katello/api/v2/debs/show.json.rabl +2 -0
  251. data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +1 -0
  252. data/app/views/katello/api/v2/docker_tags/_base.json.rabl +2 -2
  253. data/app/views/katello/api/v2/environments/show.json.rabl +4 -4
  254. data/app/views/katello/api/v2/gpg_keys/show.json.rabl +1 -1
  255. data/app/views/katello/api/v2/host_collections/base.json.rabl +1 -1
  256. data/app/views/katello/api/v2/hosts/base.json.rabl +2 -2
  257. data/app/views/katello/api/v2/package_groups/base.json.rabl +2 -2
  258. data/app/views/katello/api/v2/products/show.json.rabl +2 -2
  259. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -1
  260. data/app/views/katello/api/v2/repository_sets/show.json.rabl +1 -1
  261. data/app/views/katello/api/v2/subscriptions/base.json.rabl +1 -1
  262. data/app/views/katello/api/v2/subscriptions/show.json.rabl +3 -3
  263. data/app/views/katello/api/v2/sync_plans/show.json.rabl +1 -1
  264. data/config/initializers/inflections.rb +11 -0
  265. data/config/katello.yaml.example +4 -10
  266. data/config/routes/api/registry.rb +0 -2
  267. data/config/routes/api/rhsm.rb +1 -4
  268. data/config/routes/api/v2.rb +2 -3
  269. data/db/migrate/20140716211853_repo_rename_feed_to_url.rb +1 -1
  270. data/db/migrate/20141003210742_add_docker_container_registry_url_to_providers.rb +1 -1
  271. data/db/migrate/20150224083608_remove_docker_registry_url.rb +1 -1
  272. data/db/migrate/20160808002834_add_files.rb +1 -1
  273. data/db/migrate/20161014133811_move_content_view_version_description_to_histories.rb +1 -1
  274. data/db/migrate/20200818192230_update_system_purpose_status.rb +1 -1
  275. data/db/migrate/20201012172713_remove_gpg_key_perms.rb +1 -1
  276. data/db/migrate/20210322142311_add_auth_url_token_to_root_repositories.rb +1 -1
  277. data/db/migrate/20211220185935_clean_duplicate_content_units.rb +2 -2
  278. data/db/migrate/20230717150442_change_change_content_source_job_template_name.rb +1 -1
  279. data/db/migrate/20240207191223_remove_entitlement_mode_host_statuses.rb +1 -1
  280. data/db/migrate/20240508100434_add_content_id_to_katello_repository.rb +5 -0
  281. data/db/migrate/20240730163043_add_content_view_environment_activation_key.rb +87 -0
  282. data/db/migrate/20240806130902_add_more_deb_fields.rb +15 -0
  283. data/db/migrate/20240903194428_add_priority_to_content_view_environment_activation_key.rb +5 -0
  284. data/db/migrate/20241007200316_add_fields_to_katello_docker_manifest_list.rb +8 -0
  285. data/db/migrate/20241007212705_add_bootc_facts_to_content_facet.rb +27 -0
  286. data/db/migrate/20241025151105_remove_pulp3_migrated_hrefs_from_content_tables.rb +10 -0
  287. data/db/migrate/20241030181402_create_katello_flatpak_tables.rb +41 -0
  288. data/db/seeds.d/106-mail_notifications.rb +9 -9
  289. data/db/seeds.d/108-subcription-bookmarks.rb +1 -1
  290. data/db/seeds.d/109-katello-notification-blueprints.rb +21 -21
  291. data/db/seeds.d/110-content-view-autopublish.rb +5 -5
  292. data/db/seeds.d/111-container-image-bookmarks.rb +1 -1
  293. data/db/seeds.d/111-upgrade_tasks.rb +1 -1
  294. data/engines/bastion/lib/bastion/engine.rb +1 -1
  295. data/engines/bastion/lib/bastion.rb +1 -1
  296. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +16 -0
  297. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +29 -15
  298. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +13 -0
  299. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys.html +2 -0
  300. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js +2 -0
  301. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-host-collections-modal.html +4 -4
  302. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.routes.js +9 -0
  303. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-dependencies.html +54 -0
  304. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +13 -1
  305. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb.html +8 -1
  306. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +1 -1
  307. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +4 -0
  308. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +11 -0
  309. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/activation_keys.scss +1 -1
  310. data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -1
  311. data/lib/katello/engine.rb +17 -15
  312. data/lib/katello/permission_creator.rb +51 -49
  313. data/lib/katello/permissions/host_permissions.rb +4 -4
  314. data/lib/katello/permissions/organization_permissions.rb +4 -4
  315. data/lib/katello/permissions/registry_permissions.rb +1 -1
  316. data/lib/katello/permissions/roles_permissions.rb +1 -1
  317. data/lib/katello/permissions/user_permissions.rb +1 -1
  318. data/lib/katello/plugin.rb +14 -8
  319. data/lib/katello/repository_types/docker.rb +4 -2
  320. data/lib/katello/repository_types/ostree.rb +5 -3
  321. data/lib/katello/repository_types/python.rb +1 -1
  322. data/lib/katello/repository_types/yum.rb +2 -1
  323. data/lib/katello/scheduled_jobs.rb +1 -1
  324. data/lib/katello/tasks/migrate_structure_content_for_deb.rake +105 -0
  325. data/lib/katello/tasks/receptor/extract_orgs.rake +1 -1
  326. data/lib/katello/tasks/reimport.rake +1 -1
  327. data/lib/katello/tasks/repository.rake +19 -9
  328. data/lib/katello/tasks/upgrades/4.1/reupdate_content_import_export_perms.rake +1 -1
  329. data/lib/katello/tasks/upgrades/4.3/fix_url_auth.rake +1 -1
  330. data/lib/katello/version.rb +1 -1
  331. data/locale/action_names.rb +92 -1
  332. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  333. data/locale/bn/katello.po +259 -28
  334. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  335. data/locale/bn_IN/katello.po +258 -27
  336. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  337. data/locale/ca/katello.po +258 -27
  338. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  339. data/locale/cs/katello.po +258 -30
  340. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  341. data/locale/cs_CZ/katello.po +258 -27
  342. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  343. data/locale/de/katello.po +259 -28
  344. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  345. data/locale/de_AT/katello.po +258 -27
  346. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  347. data/locale/de_DE/katello.po +258 -27
  348. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  349. data/locale/el/katello.po +258 -27
  350. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  351. data/locale/en/katello.po +258 -27
  352. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  353. data/locale/en_GB/katello.po +258 -27
  354. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  355. data/locale/en_US/katello.po +258 -27
  356. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  357. data/locale/es/katello.po +259 -28
  358. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  359. data/locale/et_EE/katello.po +258 -27
  360. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  361. data/locale/fr/katello.po +259 -28
  362. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  363. data/locale/gl/katello.po +258 -27
  364. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  365. data/locale/gu/katello.po +258 -27
  366. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  367. data/locale/he_IL/katello.po +258 -27
  368. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  369. data/locale/hi/katello.po +258 -27
  370. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  371. data/locale/id/katello.po +258 -27
  372. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  373. data/locale/it/katello.po +259 -28
  374. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  375. data/locale/ja/katello.po +259 -28
  376. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  377. data/locale/ka/katello.po +259 -28
  378. data/locale/katello.pot +1041 -696
  379. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  380. data/locale/kn/katello.po +258 -27
  381. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  382. data/locale/ko/katello.po +259 -28
  383. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  384. data/locale/ml_IN/katello.po +258 -27
  385. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  386. data/locale/mr/katello.po +258 -27
  387. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  388. data/locale/nl_NL/katello.po +258 -27
  389. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  390. data/locale/or/katello.po +258 -27
  391. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  392. data/locale/pa/katello.po +258 -27
  393. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  394. data/locale/pl/katello.po +258 -27
  395. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  396. data/locale/pl_PL/katello.po +258 -27
  397. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  398. data/locale/pt/katello.po +258 -27
  399. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  400. data/locale/pt_BR/katello.po +259 -28
  401. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  402. data/locale/ro/katello.po +258 -27
  403. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  404. data/locale/ro_RO/katello.po +258 -27
  405. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  406. data/locale/ru/katello.po +259 -28
  407. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  408. data/locale/sl/katello.po +258 -27
  409. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  410. data/locale/sv_SE/katello.po +258 -27
  411. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  412. data/locale/ta/katello.po +259 -28
  413. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  414. data/locale/ta_IN/katello.po +258 -27
  415. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  416. data/locale/te/katello.po +258 -27
  417. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  418. data/locale/tr/katello.po +258 -27
  419. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  420. data/locale/vi/katello.po +258 -27
  421. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  422. data/locale/vi_VN/katello.po +258 -27
  423. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  424. data/locale/zh/katello.po +258 -27
  425. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  426. data/locale/zh_CN/katello.po +259 -28
  427. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  428. data/locale/zh_TW/katello.po +259 -28
  429. data/vendor/assets/javascripts/katello/chosen.jquery.js +2 -2
  430. data/vendor/assets/javascripts/katello/jquery.ba-bbq.js +1 -1
  431. data/vendor/assets/javascripts/katello/jquery.hoverIntent.js +2 -2
  432. data/webpack/ForemanColumnExtensions/index.js +1 -1
  433. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +113 -86
  434. data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +7 -2
  435. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.js +31 -4
  436. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +1 -1
  437. data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +1 -7
  438. data/webpack/components/extensions/RegistrationCommands/helpers.js +15 -0
  439. data/webpack/components/extensions/RegistrationCommands/index.js +3 -9
  440. data/webpack/global_index.js +11 -4
  441. data/webpack/redux/actions/RedHatRepositories/helpers.js +2 -0
  442. data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.js +4 -0
  443. data/webpack/scenes/ActivationKeys/Details/components/CVEDetailsCard.js +37 -0
  444. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +1 -2
  445. data/webpack/scenes/Hosts/ChangeContentSource/helpers.js +2 -8
  446. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +22 -2
  447. data/webpack/scenes/SmartProxy/ExpandedSmartProxyRepositories.js +39 -20
  448. data/webpack/scenes/SmartProxy/SmartProxyContentActions.js +2 -1
  449. data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +6 -4
  450. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +62 -0
  451. metadata +134 -76
  452. data/app/lib/katello/api/constraints/activation_key_constraint.rb +0 -7
  453. /data/app/lib/katello/{api → routing}/mapper_extensions.rb +0 -0
@@ -0,0 +1,105 @@
1
+ namespace :katello do
2
+ desc "Migrate all APT repo content to match the deb_enable_structured_apt setting."
3
+ task :migrate_structure_content_for_deb => ['environment', 'dynflow:client', "check_ping"] do
4
+ User.current = User.anonymous_api_admin # Set a user
5
+
6
+ deb_enable_structured_apt = Setting['deb_enable_structured_apt']
7
+ puts "'Enable structured APT for deb content' is currently set to '#{deb_enable_structured_apt}'!"
8
+ if deb_enable_structured_apt
9
+ puts "Enabling structured APT for existing deb type repos."
10
+ else
11
+ puts "Disabling structured APT for existing deb type repos."
12
+ end
13
+
14
+ found_repos_to_migrate = false
15
+ roots = Katello::RootRepository.deb_type
16
+ roots.each do |root|
17
+ next if root.deb_using_structured_apt? == deb_enable_structured_apt
18
+ found_repos_to_migrate = true
19
+ puts "Migrating root repo '#{root.name}', id='#{root.id}'."
20
+
21
+ # Ensure ensure_valid_deb_constraints won't prevent us from saving the root repo.
22
+ unless root.ensure_valid_deb_constraints.blank?
23
+ puts "Root repo '#{root.name}' (id='#{root.id}') violates deb constraints, setting url and deb_releases to nil!"
24
+ root.url = nil
25
+ root.deb_releases = nil
26
+ end
27
+
28
+ repos = root.repositories
29
+ library_instance = root.library_instance
30
+ if deb_enable_structured_apt
31
+ if root.content_id != 'NEEDS_RE_MIGRATION'
32
+ begin
33
+ # Move the content_id from the root to the library instance so that ContentDestroy will destroy it!
34
+ old_content_id = root.content_id
35
+ library_instance.content_id = old_content_id
36
+ library_instance.save!
37
+ root.content_id = nil
38
+ root.save!
39
+ ForemanTasks.sync_task(::Actions::Katello::Product::ContentDestroy, root.library_instance)
40
+ library_instance.content_id = nil
41
+ library_instance.save!
42
+ rescue
43
+ root.content_id = old_content_id
44
+ root.save!
45
+ library_instance.content_id = nil
46
+ library_instance.save!
47
+ raise
48
+ end
49
+ end
50
+ begin
51
+ root.content_id = nil
52
+ root.save!
53
+
54
+ repos.each do |repo|
55
+ if repo[:content_id].nil?
56
+ content_create = ForemanTasks.sync_task(::Actions::Katello::Product::ContentCreate, repo)
57
+ content_id = content_create.input[:content_id]
58
+ else
59
+ content_id = repo.content_id
60
+ end
61
+ content_view_environment = repo.content_view_environment
62
+ if content_view_environment
63
+ ForemanTasks.sync_task(::Actions::Candlepin::Environment::AddContentToEnvironment, :view_env_cp_id => content_view_environment.cp_id, :content_id => content_id)
64
+ end
65
+ end
66
+ rescue
67
+ root.content_id = 'NEEDS_RE_MIGRATION'
68
+ root.save!
69
+ raise
70
+ end
71
+ else
72
+ library_instance_content_id = library_instance.content_id
73
+
74
+ repos.each do |repo|
75
+ next if repo.library_instance?
76
+
77
+ content_view_environment = repo.content_view_environment
78
+ if content_view_environment
79
+ ForemanTasks.sync_task(::Actions::Candlepin::Environment::AddContentToEnvironment, :view_env_cp_id => content_view_environment.cp_id, :content_id => library_instance_content_id)
80
+ end
81
+ ForemanTasks.sync_task(::Actions::Katello::Product::ContentDestroy, repo)
82
+ repo.content_id = nil
83
+ repo.save!
84
+ end
85
+
86
+ root.content_id = library_instance_content_id
87
+ library_instance.content_id = nil
88
+ root.save!
89
+ library_instance.save!
90
+ ForemanTasks.sync_task(::Actions::Katello::Repository::Update, root, {})
91
+ repos.each do |repo|
92
+ ForemanTasks.sync_task(::Actions::Katello::Repository::MetadataGenerate, repo, force_publication: true)
93
+ end
94
+ end
95
+ puts "Successfully migrated root repo '#{root.name}', id='#{root.id}'."
96
+ end
97
+
98
+ if found_repos_to_migrate
99
+ puts "Successfully migrated all remaining repositories to be consistent with deb_enable_structured_apt='#{deb_enable_structured_apt}'!"
100
+ puts "IMPORTANT: Any smart proxies serving deb content that was migrated must be re-synced!"
101
+ else
102
+ puts "Found no repositories that needed migrating. Everything is consistent with deb_enable_structured_apt='#{deb_enable_structured_apt}'!"
103
+ end
104
+ end
105
+ end
@@ -13,7 +13,7 @@ namespace :katello do
13
13
  id: org.id,
14
14
  redhat_account_number: org.redhat_account_number,
15
15
  cert: org.owner_details.dig(:upstreamConsumer, :idCert, :cert),
16
- key: org.owner_details.dig(:upstreamConsumer, :idCert, :key)
16
+ key: org.owner_details.dig(:upstreamConsumer, :idCert, :key),
17
17
  }
18
18
  end
19
19
 
@@ -18,7 +18,7 @@ namespace :katello do
18
18
  models = [
19
19
  Katello::Subscription,
20
20
  Katello::Pool,
21
- Katello::Content
21
+ Katello::Content,
22
22
  ]
23
23
 
24
24
  models.each do |model|
@@ -71,10 +71,11 @@ namespace :katello do
71
71
  end
72
72
  end
73
73
 
74
- desc "Re-import all container manifests to populate labels and annotations."
74
+ desc "Re-import all container manifests and lists to populate labels and annotations."
75
75
  task :import_container_manifest_labels => ["dynflow:client", "check_ping"] do
76
76
  User.current = User.anonymous_api_admin
77
77
  handle_manifest_label_updates
78
+ handle_manifest_list_label_updates
78
79
  end
79
80
 
80
81
  def lookup_repositories
@@ -114,22 +115,31 @@ namespace :katello do
114
115
  end
115
116
  end
116
117
 
117
- def handle_manifest_label_updates
118
+ def handle_manifest_updates(model_class)
118
119
  batch_size = 1000
119
- Katello::DockerManifest.
120
- where(schema_version: 2).
121
- where(annotations: {}, labels: {}).
122
- where(is_bootable: false, is_flatpak: false).
123
- find_in_batches(batch_size: batch_size) do |group|
120
+ content_type = model_class::CONTENT_TYPE
121
+ model_class.
122
+ where(schema_version: 2).
123
+ where(annotations: {}, labels: {}).
124
+ where(is_bootable: false, is_flatpak: false).
125
+ find_in_batches(batch_size: batch_size) do |group|
124
126
  manifest_unit_ids = group.pluck(:pulp_id)
125
127
  index_service = Katello::ContentUnitIndexer.new(
126
- content_type: Katello::RepositoryTypeManager.find_content_type("docker_manifest"),
127
- pulp_content_ids: manifest_unit_ids
128
+ content_type: Katello::RepositoryTypeManager.find_content_type(content_type),
129
+ pulp_content_ids: manifest_unit_ids
128
130
  )
129
131
  index_service.reimport_units
130
132
  end
131
133
  end
132
134
 
135
+ def handle_manifest_label_updates
136
+ handle_manifest_updates(Katello::DockerManifest)
137
+ end
138
+
139
+ def handle_manifest_list_label_updates
140
+ handle_manifest_updates(Katello::DockerManifestList)
141
+ end
142
+
133
143
  def handle_missing_root_repo(root_repo)
134
144
  root_repo.destroy! if commit?
135
145
  end
@@ -27,7 +27,7 @@ namespace :katello do
27
27
 
28
28
  permission_map = {
29
29
  Permission.find_by(name: :export_library_content) => Permission.find_by(name: :export_content),
30
- Permission.find_by(name: :import_library_content) => Permission.find_by(name: :import_content)
30
+ Permission.find_by(name: :import_library_content) => Permission.find_by(name: :import_content),
31
31
  }
32
32
 
33
33
  permission_map.each do |old_perm, new_perm|
@@ -14,7 +14,7 @@ namespace :katello do
14
14
  repo_params = {
15
15
  upstream_username: user,
16
16
  upstream_password: password,
17
- url: upstream_url
17
+ url: upstream_url,
18
18
  }
19
19
  ForemanTasks.sync_task(Actions::Katello::Repository::Update, repo.root, repo_params)
20
20
  end
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "4.14.1".freeze
2
+ VERSION = "4.15.0.rc1".freeze
3
3
  end
@@ -1,44 +1,86 @@
1
1
  # Autogenerated!
2
2
  _("Abstract async task")
3
- _("Abstract")
4
3
  _("Attach subscriptions")
5
4
  _("Auto attach subscriptions")
6
5
  _("Bulk generate applicability for hosts")
6
+ _("Commit upload")
7
+ _("Copy all units")
8
+ _("Copy content")
7
9
  _("Copy version units to library")
10
+ _("Copy version")
8
11
  _("Create Alternate Content Source")
12
+ _("Create Container Push Repository Root")
9
13
  _("Create Export History")
10
14
  _("Create Import History")
11
15
  _("Create Syncable Export History")
16
+ _("Create exporter")
17
+ _("Create import")
18
+ _("Create importer")
19
+ _("Create publication")
20
+ _("Create remote")
21
+ _("Create remote")
22
+ _("Create")
23
+ _("Create")
24
+ _("Create")
25
+ _("Create")
12
26
  _("Create")
13
27
  _("Create")
14
28
  _("Create")
15
29
  _("Delete Activation Key")
16
30
  _("Delete Lifecycle Environment")
31
+ _("Delete Manifest")
17
32
  _("Delete Product")
33
+ _("Delete distributions")
34
+ _("Delete orphan alternate content sources")
35
+ _("Delete orphan distributions")
36
+ _("Delete orphan remotes")
37
+ _("Delete orphan repository versions")
38
+ _("Delete orphaned migrated repositories")
39
+ _("Delete remote")
40
+ _("Delete remote")
41
+ _("Delete repository references")
42
+ _("Delete version")
43
+ _("Delete")
44
+ _("Delete")
45
+ _("Delete")
46
+ _("Delete")
18
47
  _("Delete")
19
48
  _("Delete")
20
49
  _("Delete")
21
50
  _("Destroy Alternate Content Source")
22
51
  _("Destroy Content Host")
52
+ _("Destroy exporter")
53
+ _("Destroy importer")
23
54
  _("Destroy")
55
+ _("Disable Simple Content Access")
24
56
  _("Disable")
25
57
  _("Discover")
58
+ _("Enable Simple Content Access")
26
59
  _("Enable")
60
+ _("Environment contents refresh")
27
61
  _("Errata mail")
28
62
  _("Errata mail")
29
63
  _("Export Library")
30
64
  _("Export Repository")
31
65
  _("Export")
32
66
  _("Export")
67
+ _("Export")
33
68
  _("Fetch pxe files")
34
69
  _("Filtered index content")
35
70
  _("Generate host applicability")
71
+ _("Generate metadata")
72
+ _("Generate metadata")
36
73
  _("Generate repository applicability")
37
74
  _("Hypervisors update")
38
75
  _("Hypervisors")
39
76
  _("Import Content View Version")
40
77
  _("Import Default Content View")
78
+ _("Import Manifest")
41
79
  _("Import Repository")
80
+ _("Import migration")
81
+ _("Import repository upload")
82
+ _("Import upload")
83
+ _("Import upload")
42
84
  _("Import")
43
85
  _("Incremental Update of Content View Version(s) ")
44
86
  _("Incremental Update")
@@ -46,36 +88,79 @@ _("Index content")
46
88
  _("Index errata")
47
89
  _("Index module streams")
48
90
  _("Index package groups")
91
+ _("Initialize")
49
92
  _("Instance update")
50
93
  _("Metadata generate")
94
+ _("Multi copy all units")
95
+ _("Multi copy content")
96
+ _("Multi copy units")
51
97
  _("Product Create")
52
98
  _("Promote")
53
99
  _("Promotion to Environment")
54
100
  _("Publish Lifecycle Environment Container Repositories")
55
101
  _("Publish")
102
+ _("Purge completed tasks")
103
+ _("Reclaim space")
104
+ _("Reclaim space")
56
105
  _("Refresh Alternate Content Source")
106
+ _("Refresh Manifest")
107
+ _("Refresh all distributions")
108
+ _("Refresh distribution")
109
+ _("Refresh distribution")
110
+ _("Refresh if needed")
111
+ _("Refresh remote")
112
+ _("Refresh remote")
113
+ _("Refresh repos")
114
+ _("Refresh")
115
+ _("Refresh")
116
+ _("Refresh")
57
117
  _("Reindex subscriptions")
58
118
  _("Remove Content")
59
119
  _("Remove Version")
60
120
  _("Remove Versions and Associations")
61
121
  _("Remove from Environment")
122
+ _("Remove orphans")
123
+ _("Remove orphans")
62
124
  _("Remove subscriptions")
125
+ _("Remove units")
126
+ _("Remove units")
127
+ _("Remove unneeded repos")
128
+ _("Repair")
129
+ _("Repositories certs reset")
130
+ _("Repositories gpg reset")
63
131
  _("Republish Version Repositories")
64
132
  _("Run Sync Plan:")
133
+ _("Save artifact")
134
+ _("Save distribution references")
135
+ _("Save publication")
136
+ _("Save version")
137
+ _("Save versions")
138
+ _("Scan cdn")
65
139
  _("Sync capsule")
140
+ _("Sync")
141
+ _("Sync")
142
+ _("Sync")
66
143
  _("Syncable export")
67
144
  _("Synchronize smart proxy")
68
145
  _("Synchronize")
146
+ _("Toggle")
69
147
  _("Update Alternate Content Source")
70
148
  _("Update CDN Configuration")
71
149
  _("Update Content Counts")
72
150
  _("Update Content Overrides")
73
151
  _("Update content urls")
74
152
  _("Update content view environments for host")
153
+ _("Update distributions")
75
154
  _("Update http proxy details")
76
155
  _("Update http proxy")
77
156
  _("Update redhat repository")
78
157
  _("Update release version for host")
158
+ _("Update remote")
159
+ _("Update remote")
160
+ _("Update repository")
161
+ _("Update")
162
+ _("Update")
163
+ _("Update")
79
164
  _("Update")
80
165
  _("Update")
81
166
  _("Update")
@@ -83,8 +168,14 @@ _("Update")
83
168
  _("Update")
84
169
  _("Update")
85
170
  _("Updating System Purpose for host")
171
+ _("Updating repository authentication configuration")
172
+ _("Updating repository authentication configuration")
173
+ _("Upload content")
174
+ _("Upload file")
86
175
  _("Upload into")
87
176
  _("Upload into")
177
+ _("Upload tag")
88
178
  _("Verify checksum for content on smart proxy")
89
179
  _("Verify checksum of version repositories")
90
180
  _("Verify checksum")
181
+ _("Verify checksum")
Binary file