katello 3.5.2 → 3.6.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 (490) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/sync_management/sync_management.js +5 -2
  3. data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +2 -0
  4. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +35 -16
  5. data/app/controllers/katello/api/v2/activation_keys_controller.rb +2 -2
  6. data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -2
  7. data/app/controllers/katello/api/v2/content_view_components_controller.rb +1 -0
  8. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
  9. data/app/controllers/katello/api/v2/content_view_histories_controller.rb +1 -1
  10. data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +1 -1
  11. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +1 -1
  12. data/app/controllers/katello/api/v2/content_views_controller.rb +3 -3
  13. data/app/controllers/katello/api/v2/debs_controller.rb +19 -0
  14. data/app/controllers/katello/api/v2/docker_manifest_lists_controller.rb +20 -0
  15. data/app/controllers/katello/api/v2/environments_controller.rb +1 -1
  16. data/app/controllers/katello/api/v2/errata_controller.rb +24 -0
  17. data/app/controllers/katello/api/v2/file_units_controller.rb +4 -1
  18. data/app/controllers/katello/api/v2/gpg_keys_controller.rb +10 -4
  19. data/app/controllers/katello/api/v2/host_autocomplete_controller.rb +0 -1
  20. data/app/controllers/katello/api/v2/host_collections_controller.rb +1 -1
  21. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -1
  22. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +13 -5
  23. data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
  24. data/app/controllers/katello/api/v2/package_groups_controller.rb +3 -2
  25. data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +1 -1
  26. data/app/controllers/katello/api/v2/products_controller.rb +3 -3
  27. data/app/controllers/katello/api/v2/repositories_controller.rb +28 -12
  28. data/app/controllers/katello/api/v2/repository_sets_controller.rb +21 -13
  29. data/app/controllers/katello/api/v2/root_controller.rb +0 -1
  30. data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -19
  31. data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -1
  32. data/app/controllers/katello/application_controller.rb +0 -18
  33. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +12 -13
  34. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +17 -13
  35. data/app/controllers/katello/concerns/containers/steps_controller_extensions.rb +39 -37
  36. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +14 -14
  37. data/app/controllers/katello/concerns/organizations_controller_extensions.rb +34 -33
  38. data/app/controllers/katello/concerns/smart_proxies_controller_extensions.rb +18 -17
  39. data/app/controllers/katello/products_controller.rb +1 -1
  40. data/app/controllers/katello/providers_controller.rb +11 -0
  41. data/app/controllers/katello/react_controller.rb +9 -0
  42. data/app/controllers/katello/sync_management_controller.rb +1 -1
  43. data/app/helpers/katello/concerns/hosts_and_hostgroups_helper_extensions.rb +10 -9
  44. data/app/helpers/katello/concerns/settings_helper_extensions.rb +42 -33
  45. data/app/helpers/katello/concerns/smart_proxy_helper_extensions.rb +1 -1
  46. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +1 -3
  47. data/app/helpers/katello/providers_helper.rb +2 -5
  48. data/app/lib/actions/candlepin/listen_on_candlepin_events.rb +5 -15
  49. data/app/lib/actions/katello/capsule_content/sync.rb +8 -0
  50. data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
  51. data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +2 -2
  52. data/app/lib/actions/katello/content_view_version/republish_repositories.rb +2 -5
  53. data/app/lib/actions/katello/event_queue/monitor.rb +10 -11
  54. data/app/lib/actions/katello/event_queue/suspended_action.rb +1 -1
  55. data/app/lib/actions/katello/host/register.rb +1 -1
  56. data/app/lib/actions/katello/host/update.rb +1 -3
  57. data/app/lib/actions/katello/organization/manifest_refresh.rb +1 -5
  58. data/app/lib/actions/katello/product/content_create.rb +11 -1
  59. data/app/lib/actions/katello/product/content_destroy.rb +8 -0
  60. data/app/lib/actions/katello/product/destroy.rb +2 -2
  61. data/app/lib/actions/katello/product/update.rb +0 -3
  62. data/app/lib/actions/katello/repository/bulk_metadata_generate.rb +15 -0
  63. data/app/lib/actions/katello/repository/check_matching_content.rb +10 -3
  64. data/app/lib/actions/katello/repository/clear.rb +4 -1
  65. data/app/lib/actions/katello/repository/clone_deb_content.rb +70 -0
  66. data/app/lib/actions/katello/repository/clone_to_environment.rb +4 -1
  67. data/app/lib/actions/katello/repository/clone_to_version.rb +19 -10
  68. data/app/lib/actions/katello/repository/clone_yum_content.rb +2 -0
  69. data/app/lib/actions/katello/repository/clone_yum_metadata.rb +1 -2
  70. data/app/lib/actions/katello/repository/create.rb +6 -2
  71. data/app/lib/actions/katello/repository/destroy.rb +1 -1
  72. data/app/lib/actions/katello/repository/export.rb +15 -0
  73. data/app/lib/actions/katello/repository/fetch_pxe_files.rb +49 -0
  74. data/app/lib/actions/katello/repository/filtered_index_content.rb +2 -0
  75. data/app/lib/actions/katello/repository/metadata_generate.rb +5 -1
  76. data/app/lib/actions/katello/repository/remove_content.rb +2 -0
  77. data/app/lib/actions/katello/repository/sync.rb +5 -6
  78. data/app/lib/actions/katello/repository/update.rb +14 -4
  79. data/app/lib/actions/katello/repository/upload_package_group.rb +0 -1
  80. data/app/lib/actions/katello/repository_set/disable_repository.rb +7 -7
  81. data/app/lib/actions/katello/repository_set/enable_repository.rb +17 -7
  82. data/app/lib/actions/katello/repository_set/scan_cdn.rb +8 -10
  83. data/app/lib/actions/pulp/consumer/abstract_content_action.rb +1 -1
  84. data/app/lib/actions/pulp/repository/copy_deb.rb +15 -0
  85. data/app/lib/actions/pulp/repository/copy_deb_component.rb +11 -0
  86. data/app/lib/actions/pulp/repository/copy_deb_release.rb +11 -0
  87. data/app/lib/actions/pulp/repository/copy_srpm.rb +16 -0
  88. data/app/lib/actions/pulp/repository/create.rb +38 -3
  89. data/app/lib/actions/pulp/repository/presenters/deb_presenter.rb +101 -0
  90. data/app/lib/actions/pulp/repository/remove_deb.rb +15 -0
  91. data/app/lib/actions/pulp/repository/remove_docker_blob.rb +11 -0
  92. data/app/lib/actions/pulp/repository/remove_docker_manifest_list.rb +11 -0
  93. data/app/lib/actions/pulp/repository/remove_docker_tag.rb +11 -0
  94. data/app/lib/actions/pulp/repository/sync.rb +2 -0
  95. data/app/lib/katello/api/v2/error_handling.rb +1 -1
  96. data/app/lib/katello/capsule_content.rb +1 -1
  97. data/app/lib/katello/concerns/renderer_extensions.rb +12 -10
  98. data/app/lib/katello/errors.rb +0 -4
  99. data/app/lib/katello/resources/candlepin.rb +2 -3
  100. data/app/lib/katello/util/cdn_var_substitutor.rb +2 -2
  101. data/app/lib/katello/util/docker_manifest_clause_generator.rb +1 -1
  102. data/app/lib/katello/util/package_clause_generator.rb +1 -1
  103. data/app/lib/katello/util/support.rb +1 -1
  104. data/app/models/katello/activation_key.rb +1 -1
  105. data/app/models/katello/authorization/content_view_history.rb +1 -0
  106. data/app/models/katello/authorization/content_view_version.rb +1 -1
  107. data/app/models/katello/authorization/pool.rb +2 -0
  108. data/app/models/katello/authorization/repository.rb +2 -0
  109. data/app/models/katello/candlepin/docker_repository_mapper.rb +77 -0
  110. data/app/models/katello/candlepin/repository_mapper.rb +143 -0
  111. data/app/models/katello/concerns/container_extensions.rb +14 -12
  112. data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -2
  113. data/app/models/katello/concerns/docker_container_wizard_state_extensions.rb +6 -4
  114. data/app/models/katello/concerns/docker_container_wizard_state_image_extensions.rb +8 -6
  115. data/app/models/katello/concerns/host_managed_extensions.rb +2 -13
  116. data/app/models/katello/concerns/location_extensions.rb +5 -1
  117. data/app/models/katello/concerns/organization_extensions.rb +22 -1
  118. data/app/models/katello/concerns/pulp_database_unit.rb +26 -5
  119. data/app/models/katello/concerns/redhat_extensions.rb +22 -21
  120. data/app/models/katello/concerns/smart_proxy_extensions.rb +11 -9
  121. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +8 -7
  122. data/app/models/katello/content.rb +26 -0
  123. data/app/models/katello/content_view.rb +18 -5
  124. data/app/models/katello/content_view_component.rb +1 -1
  125. data/app/models/katello/content_view_docker_filter.rb +15 -6
  126. data/app/models/katello/content_view_filter.rb +8 -2
  127. data/app/models/katello/content_view_puppet_environment.rb +12 -0
  128. data/app/models/katello/content_view_repository.rb +2 -1
  129. data/app/models/katello/content_view_version.rb +57 -15
  130. data/app/models/katello/deb.rb +50 -0
  131. data/app/models/katello/docker_manifest.rb +14 -8
  132. data/app/models/katello/docker_manifest_list.rb +39 -0
  133. data/app/models/katello/docker_manifest_list_manifest.rb +6 -0
  134. data/app/models/katello/docker_meta_tag.rb +3 -3
  135. data/app/models/katello/docker_tag.rb +30 -10
  136. data/app/models/katello/errata_status.rb +1 -1
  137. data/app/models/katello/erratum.rb +3 -4
  138. data/app/models/katello/file_unit.rb +2 -2
  139. data/app/models/katello/glue/candlepin/activation_key.rb +1 -1
  140. data/app/models/katello/glue/candlepin/content.rb +9 -34
  141. data/app/models/katello/glue/candlepin/owner.rb +0 -32
  142. data/app/models/katello/glue/candlepin/pool.rb +2 -3
  143. data/app/models/katello/glue/candlepin/product.rb +34 -52
  144. data/app/models/katello/glue/candlepin/repository.rb +31 -0
  145. data/app/models/katello/glue/provider.rb +16 -19
  146. data/app/models/katello/glue/pulp/repo.rb +89 -16
  147. data/app/models/katello/host/content_facet.rb +6 -6
  148. data/app/models/katello/host/info_provider.rb +2 -2
  149. data/app/models/katello/host/subscription_facet.rb +4 -4
  150. data/app/models/katello/kt_environment.rb +6 -2
  151. data/app/models/katello/package_group.rb +1 -1
  152. data/app/models/katello/pool.rb +13 -12
  153. data/app/models/katello/product.rb +12 -6
  154. data/app/models/katello/product_content.rb +36 -0
  155. data/app/models/katello/provider.rb +1 -1
  156. data/app/models/katello/puppet_module.rb +5 -5
  157. data/app/models/katello/repository.rb +103 -11
  158. data/app/models/katello/repository_deb.rb +7 -0
  159. data/app/models/katello/repository_docker_manifest_list.rb +7 -0
  160. data/app/models/katello/repository_srpm.rb +7 -0
  161. data/app/models/katello/rhsm_fact_importer.rb +2 -2
  162. data/app/models/katello/rhsm_fact_parser.rb +1 -1
  163. data/app/models/katello/rpm.rb +5 -5
  164. data/app/models/katello/srpm.rb +40 -0
  165. data/app/models/katello/subscription.rb +3 -2
  166. data/app/models/katello/sync_plan.rb +8 -5
  167. data/app/models/setting/content.rb +5 -3
  168. data/app/services/katello/product_content_finder.rb +1 -1
  169. data/app/services/katello/pulp/deb.rb +46 -0
  170. data/app/services/katello/pulp/docker_manifest_list.rb +7 -0
  171. data/app/services/katello/pulp/server.rb +4 -12
  172. data/app/services/katello/pulp/srpm.rb +17 -0
  173. data/app/views/foreman/unattended/finish-katello.erb +4 -4
  174. data/app/views/foreman/unattended/kickstart-katello-atomic.erb +3 -3
  175. data/app/views/foreman/unattended/kickstart-katello.erb +5 -9
  176. data/app/views/foreman/unattended/snippets/_subscription_manager_registration.erb +3 -3
  177. data/app/views/foreman/unattended/userdata-katello.erb +8 -8
  178. data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +1 -2
  179. data/app/views/katello/api/v2/content_facet/base.json.rabl +6 -1
  180. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +3 -0
  181. data/app/views/katello/api/v2/content_views/show.json.rabl +12 -0
  182. data/app/views/katello/api/v2/debs/base.json.rabl +10 -0
  183. data/app/views/katello/api/v2/debs/index.json.rabl +7 -0
  184. data/app/views/katello/api/v2/debs/show.json.rabl +3 -0
  185. data/app/views/katello/api/v2/docker_manifest_lists/index.json.rabl +7 -0
  186. data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +12 -0
  187. data/app/views/katello/api/v2/docker_manifests/compare.json.rabl +10 -0
  188. data/app/views/katello/api/v2/docker_manifests/show.json.rabl +5 -1
  189. data/app/views/katello/api/v2/docker_tags/_base.json.rabl +4 -4
  190. data/app/views/katello/api/v2/docker_tags/compare.json.rabl +10 -0
  191. data/app/views/katello/api/v2/docker_tags/show.json.rabl +1 -1
  192. data/app/views/katello/api/v2/errata/_counts.json.rabl +1 -0
  193. data/app/views/katello/api/v2/errata/available_errata.rabl +7 -0
  194. data/app/views/katello/api/v2/file_units/compare.json.rabl +10 -0
  195. data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +1 -2
  196. data/app/views/katello/api/v2/hostgroups_extensions/show.json.rabl +2 -1
  197. data/app/views/katello/api/v2/hosts_bulk_actions/applicable_errata.json.rabl +7 -0
  198. data/app/views/katello/api/v2/layouts/resource.json.erb +1 -1
  199. data/app/views/katello/api/v2/ostree_branches/compare.json.rabl +10 -0
  200. data/app/views/katello/api/v2/package_groups/compare.json.rabl +10 -0
  201. data/app/views/katello/api/v2/packages/compare.json.rabl +10 -0
  202. data/app/views/katello/api/v2/products/_product_content.json.rabl +9 -0
  203. data/app/views/katello/api/v2/products/base.json.rabl +3 -1
  204. data/app/views/katello/api/v2/products/show.json.rabl +6 -2
  205. data/app/views/katello/api/v2/puppet_modules/compare.json.rabl +10 -0
  206. data/app/views/katello/api/v2/repositories/base.json.rabl +5 -1
  207. data/app/views/katello/api/v2/repositories/show.json.rabl +2 -0
  208. data/app/views/katello/api/v2/repository_sets/show.json.rabl +15 -3
  209. data/app/views/katello/layouts/react.html.erb +15 -0
  210. data/app/views/katello/providers/redhat/_repo_sets.html.erb +5 -5
  211. data/app/views/katello/sync_management/index.html.erb +4 -0
  212. data/app/views/smart_proxies/pulp_status.html.erb +6 -6
  213. data/config/katello.yaml.example +0 -4
  214. data/config/routes.rb +3 -0
  215. data/config/routes/api/v2.rb +30 -3
  216. data/config/routes/overrides.rb +1 -0
  217. data/db/migrate/20131014135042_katello_tables.rb +1 -1
  218. data/db/migrate/20131014225132_add_users_fields.rb +1 -1
  219. data/db/migrate/20131016124255_add_foreign_keys_engine.rb +1 -1
  220. data/db/migrate/20131120225132_add_organization_fields.rb +1 -1
  221. data/db/migrate/20131216212502_add_quantity_to_katello_key_pools.rb +1 -1
  222. data/db/migrate/20131216212621_add_cp_id_to_katello_activation_keys.rb +1 -1
  223. data/db/migrate/20131218174203_drop_katello_key_pools_table.rb +1 -1
  224. data/db/migrate/20140110000001_update_environments_add_katello_id.rb +1 -1
  225. data/db/migrate/20140117160939_refactor_content_views.rb +1 -1
  226. data/db/migrate/20140206200439_create_content_view_puppet_modules.rb +1 -1
  227. data/db/migrate/20140212131812_create_content_view_package_filter_rules.rb +1 -1
  228. data/db/migrate/20140212143454_create_content_view_package_group_filter_rules.rb +1 -1
  229. data/db/migrate/20140212143642_create_content_view_erratum_filter_rules.rb +1 -1
  230. data/db/migrate/20140217145303_remove_changeset.rb +1 -1
  231. data/db/migrate/20140217160132_create_content_view_history.rb +1 -1
  232. data/db/migrate/20140222022712_remove_provider_discovery.rb +1 -1
  233. data/db/migrate/20140305101813_allow_null_for_repository_content_id.rb +1 -1
  234. data/db/migrate/20140306132108_create_content_view_puppet_environments.rb +1 -1
  235. data/db/migrate/20140310102051_repository_add_checksum_type.rb +1 -1
  236. data/db/migrate/20140318174203_drop_cdn_import_success_column.rb +1 -1
  237. data/db/migrate/20140325185413_create_content_view_foreign_keys.rb +1 -1
  238. data/db/migrate/20140404122011_drop_repositories_enabled_column.rb +1 -1
  239. data/db/migrate/20140411134235_update_content_view_description_type.rb +1 -1
  240. data/db/migrate/20140414214152_allow_null_content_view_to_activation_key.rb +1 -1
  241. data/db/migrate/20140418124032_add_next_version_to_katello_content_views.rb +1 -1
  242. data/db/migrate/20140422000001_update_products_add_organization.rb +1 -1
  243. data/db/migrate/20140423191446_add_anonymous_providers_to_orgs.rb +1 -1
  244. data/db/migrate/20140425155126_add_host_id_to_system.rb +1 -1
  245. data/db/migrate/20140429193743_add_release_version_to_activation_keys.rb +1 -1
  246. data/db/migrate/20140502164009_rename_system_groups_to_host_collections.rb +1 -1
  247. data/db/migrate/20140502174412_update_host_collections_foreign_keys.rb +1 -1
  248. data/db/migrate/20140514165842_create_capsule_lifecycle_environments.rb +1 -1
  249. data/db/migrate/20140531160506_package_filter_add_original_packages.rb +1 -1
  250. data/db/migrate/20140610083129_add_pulp_proxy_to_host.rb +1 -1
  251. data/db/migrate/20140610154745_content_view_puppet_environment_id.rb +1 -1
  252. data/db/migrate/20140610170142_add_uuid_to_content_view_package_group_filter_rule.rb +1 -1
  253. data/db/migrate/20140617100300_add_description_to_content_view_filter_rules.rb +1 -1
  254. data/db/migrate/20140623103442_drop_taxonomies_owner_auto_attach_all_systems_task_id_column.rb +1 -1
  255. data/db/migrate/20140624183938_add_foreign_keys_for_organizations.rb +1 -1
  256. data/db/migrate/20140624184401_remove_label_from_activation_key.rb +1 -1
  257. data/db/migrate/20140626055258_add_missing_foreign_keys.rb +1 -1
  258. data/db/migrate/20140626204657_add_unlimited_to_activation_keys.rb +1 -1
  259. data/db/migrate/20140626204902_add_unlimited_to_host_collection.rb +1 -1
  260. data/db/migrate/20140707203534_location_add_katello_default.rb +1 -1
  261. data/db/migrate/20140709150428_remove_deletion_task_id_from_taxonomies.rb +1 -1
  262. data/db/migrate/20140716211853_repo_rename_feed_to_url.rb +1 -1
  263. data/db/migrate/20140807175457_remove_hidden_column_from_user.rb +1 -1
  264. data/db/migrate/20140811141742_remove_delayed_jobs.rb +1 -1
  265. data/db/migrate/20140821084214_add_sync_plan_enabled_to_sync_plan.rb +1 -1
  266. data/db/migrate/20140928210618_add_description_to_content_view_versions.rb +1 -1
  267. data/db/migrate/20140930170628_add_errata.rb +1 -1
  268. data/db/migrate/20141001170628_add_system_repository.rb +1 -1
  269. data/db/migrate/20141003210742_add_docker_container_registry_url_to_providers.rb +1 -1
  270. data/db/migrate/20141015173220_add_docker_image_fields.rb +1 -1
  271. data/db/migrate/20141031150814_add_tag_repository_id_index.rb +1 -1
  272. data/db/migrate/20141112180709_add_auto_attach_to_activation_keys.rb +1 -1
  273. data/db/migrate/20141124182205_content_view_version_add_minor.rb +1 -1
  274. data/db/migrate/20141203123206_add_timestamps_to_repository_join_tables.rb +1 -1
  275. data/db/migrate/20141204203609_add_default_value_to_auto_attach.rb +1 -1
  276. data/db/migrate/20141209103005_disown_foreman_templates.rb +1 -1
  277. data/db/migrate/20141210173220_create_docker_tables.rb +1 -1
  278. data/db/migrate/20141215213720_track_version_components.rb +1 -1
  279. data/db/migrate/20141222151001_add_host_content_view_environment.rb +1 -1
  280. data/db/migrate/20150109012657_add_capsule_id_to_container.rb +1 -1
  281. data/db/migrate/20150114225023_add_upstream_name_to_repository.rb +1 -1
  282. data/db/migrate/20150119153452_update_promote_errata_email_description.rb +1 -1
  283. data/db/migrate/20150224083608_remove_docker_registry_url.rb +1 -1
  284. data/db/migrate/20150227213850_change_descriptions_to_text_fields.rb +1 -1
  285. data/db/migrate/20150423134004_add_content_host_id_to_smart_proxy.rb +1 -1
  286. data/db/migrate/20150505180030_change_errata_timestamps_to_dates.rb +1 -1
  287. data/db/migrate/20150507131145_update_composite_default_for_content_view.rb +1 -1
  288. data/db/migrate/20150513034751_add_ostree_branches.rb +1 -1
  289. data/db/migrate/20150602153753_remove_help_tips.rb +1 -1
  290. data/db/migrate/20150602153754_remove_search_histories.rb +1 -1
  291. data/db/migrate/20150602153755_remove_search_favorites.rb +1 -1
  292. data/db/migrate/20150602153756_remove_user_notices.rb +1 -1
  293. data/db/migrate/20150602153757_remove_notices.rb +1 -1
  294. data/db/migrate/20150603045418_remove_user_fields.rb +1 -1
  295. data/db/migrate/20150606021722_create_puppet_modules.rb +1 -1
  296. data/db/migrate/20150611140455_remove_default_and_custom_info.rb +1 -1
  297. data/db/migrate/20150613134559_add_rpm.rb +1 -1
  298. data/db/migrate/20150623135424_create_package_groups.rb +1 -1
  299. data/db/migrate/20150715142649_assign_content_host_to_smart_proxies.rb +1 -1
  300. data/db/migrate/20150717142559_add_distributions_to_repository.rb +1 -1
  301. data/db/migrate/20150813185339_create_subscriptions.rb +1 -1
  302. data/db/migrate/20150826165942_add_subscription_facet.rb +1 -1
  303. data/db/migrate/20150826170004_add_content_facet.rb +1 -1
  304. data/db/migrate/20150901213759_remove_distributors.rb +1 -1
  305. data/db/migrate/20150902164543_remove_apply_info_task_id_from_taxonomies.rb +1 -1
  306. data/db/migrate/20150908222711_drop_marketing_engineering_products.rb +1 -1
  307. data/db/migrate/20150928221648_update_location_katello_default.rb +1 -1
  308. data/db/migrate/20150930183738_migrate_content_hosts.rb +1 -1
  309. data/db/migrate/20151014144004_host_collection_to_hosts.rb +1 -1
  310. data/db/migrate/20151015152947_add_virt_only_to_katello_pools.rb +1 -1
  311. data/db/migrate/20151203230940_add_date_type_to_content_view_erratum_filter_rules.rb +1 -1
  312. data/db/migrate/20151219152536_rename_index_repository_errata.rb +1 -1
  313. data/db/migrate/20151219203225_rename_index_repository_puppet_module.rb +1 -1
  314. data/db/migrate/20160114200145_add_mirror_on_sync_to_repositories.rb +1 -1
  315. data/db/migrate/20160129192548_add_docker_v2_schema.rb +1 -1
  316. data/db/migrate/20160131182301_add_download_policy_to_katello_repositories.rb +1 -1
  317. data/db/migrate/20160203195736_remove_docker_image_schema.rb +1 -1
  318. data/db/migrate/20160211134035_remove_system_errata.rb +1 -1
  319. data/db/migrate/20160222143432_move_system_description_to_host.rb +1 -1
  320. data/db/migrate/20160224155909_add_registered_at_to_subscription_facet.rb +1 -1
  321. data/db/migrate/20160301070319_add_version_ostree_branches.rb +1 -1
  322. data/db/migrate/20160317171813_change_activation_key_column_names.rb +1 -1
  323. data/db/migrate/20160323065901_increase_cdn_length.rb +1 -1
  324. data/db/migrate/20160404132250_remove_katello_from_notification_name.rb +1 -1
  325. data/db/migrate/20160413230128_add_kickstart_repository_to_hosts_and_hostgroups.rb +1 -1
  326. data/db/migrate/20160426145517_move_host_description_to_host_comment.rb +1 -1
  327. data/db/migrate/20160505181337_rename_katello_settings.rb +1 -1
  328. data/db/migrate/20160520175340_add_host_applicable_package.rb +1 -1
  329. data/db/migrate/20160530184400_add_repo_id_indexes.rb +1 -1
  330. data/db/migrate/20160605160933_remove_jobs.rb +1 -1
  331. data/db/migrate/20160605162929_remove_system_smart_proxy.rb +1 -1
  332. data/db/migrate/20160613150922_add_event_queue.rb +1 -1
  333. data/db/migrate/20160617124149_remove_duplicate_view_filters.rb +1 -1
  334. data/db/migrate/20160619223332_fix_viewer_role.rb +1 -1
  335. data/db/migrate/20160627125310_delete_system.rb +1 -1
  336. data/db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb +1 -1
  337. data/db/migrate/20160722193256_add_verify_ssl_on_sync_to_repository.rb +1 -1
  338. data/db/migrate/20160727144242_add_registered_through_to_katello_subscription_facets.rb +1 -1
  339. data/db/migrate/20160728005028_add_latest_version_to_content_view_component.rb +1 -1
  340. data/db/migrate/20160808002834_add_files.rb +1 -1
  341. data/db/migrate/20160906181923_add_puppet_path_to_smart_proxy.rb +1 -1
  342. data/db/migrate/20160907231049_add_username_password_to_repository.rb +1 -1
  343. data/db/migrate/20160908234510_add_rpm_nvra.rb +1 -1
  344. data/db/migrate/20160923143611_add_action_to_content_view_histories.rb +1 -1
  345. data/db/migrate/20160924213020_change_katello_widget_names.rb +1 -1
  346. data/db/migrate/20160930121245_content_view_force_puppet_env.rb +1 -1
  347. data/db/migrate/20160930150810_add_smart_proxy_download_policy.rb +1 -1
  348. data/db/migrate/20161003130853_add_architecture_to_katello_content_view_package_filter_rule.rb +1 -1
  349. data/db/migrate/20161003204325_add_user_to_katello_subscription_facets.rb +1 -1
  350. data/db/migrate/20161014133811_move_content_view_version_description_to_histories.rb +2 -4
  351. data/db/migrate/20161021072346_fix_subscription_permissions.rb +1 -1
  352. data/db/migrate/20161026191118_fix_invalid_interfaces.rb +1 -1
  353. data/db/migrate/20161028153131_sub_facet_user_index_not_uniq.rb +1 -1
  354. data/db/migrate/20161031204903_add_tracer_support.rb +1 -1
  355. data/db/migrate/20161102194100_create_content_view_docker_filter_rules.rb +1 -1
  356. data/db/migrate/20161209162947_add_virt_who_to_katello_pools.rb +1 -1
  357. data/db/migrate/20161214151548_move_content_source_id_to_content_facets.rb +1 -1
  358. data/db/migrate/20170114051758_add_depth_to_repositories.rb +1 -1
  359. data/db/migrate/20170122204325_add_hypervisor_to_subscription_facets.rb +1 -1
  360. data/db/migrate/20170125152421_move_default_location_to_settings.rb +1 -1
  361. data/db/migrate/20170208215148_add_docker_repo_name.rb +1 -1
  362. data/db/migrate/20170220679403_remove_system_permissions.rb +1 -1
  363. data/db/migrate/20170222131211_change_pool_columns_to_dates.rb +1 -1
  364. data/db/migrate/20170321012632_fill_in_content_view_components.rb +1 -1
  365. data/db/migrate/20170523182831_create_docker_meta_tag.rb +1 -1
  366. data/db/migrate/20170714144125_add_deb.rb +34 -0
  367. data/db/migrate/20170718142148_create_katello_subscription_facet_pools.rb +1 -1
  368. data/db/migrate/20170720142145_add_deb_release_parameters_to_repositories.rb +7 -0
  369. data/db/migrate/20170821170915_add_index_to_installed_packages.rb +1 -1
  370. data/db/migrate/20170821170916_add_nvra_index_to_installed_packages.rb +1 -1
  371. data/db/migrate/20170822104447_add_katello_content_to_image.rb +1 -1
  372. data/db/migrate/20170913183848_add_errata_counts.rb +1 -1
  373. data/db/migrate/20171010170443_add_index_to_katello_content_facet_errata.rb +1 -1
  374. data/db/migrate/20171010172724_add_docker_manifest_list.rb +67 -0
  375. data/db/migrate/20171011175510_add_srpm.rb +38 -0
  376. data/db/migrate/20171014051810_remove_docker_manifest_name.rb +9 -0
  377. data/db/migrate/20171025163149_remove_use_pulp_oauth_setting.rb +5 -0
  378. data/db/migrate/20171112174357_create_katello_content.rb +13 -0
  379. data/db/migrate/20171112174358_create_katello_product_content.rb +16 -0
  380. data/db/migrate/20171114150937_cleanup_installed_packages.rb +1 -1
  381. data/db/migrate/20171114183353_add_hypervisor_id_to_katello_pools.rb +1 -1
  382. data/db/migrate/20171120144843_add_repository_ignore_proxy.rb +5 -0
  383. data/db/migrate/20171211124439_add_uuid_index_to_katello_subscription_facets.rb +1 -1
  384. data/db/migrate/20180103230812_set_errata_updated_date.rb +7 -0
  385. data/db/seeds.d/101-locations.rb +6 -4
  386. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -1
  387. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -0
  388. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +6 -0
  389. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +1 -4
  390. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +2 -2
  391. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +0 -2
  392. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +8 -10
  393. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +5 -3
  394. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +13 -5
  395. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +1 -1
  396. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +44 -0
  397. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-deb-repositories.controller.js +48 -0
  398. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-deb-repositories-list.controller.js +46 -0
  399. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +11 -7
  400. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +3 -0
  401. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +4 -14
  402. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +4 -0
  403. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-deb-repositories.html +87 -0
  404. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +7 -0
  405. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +6 -0
  406. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +12 -1
  407. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +5 -0
  408. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +10 -1
  409. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +13 -2
  410. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +3 -1
  411. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-apt.html +25 -0
  412. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-deb.html +19 -0
  413. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +2 -2
  414. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +3 -0
  415. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +16 -2
  416. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/deb.factory.js +28 -0
  417. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +34 -0
  418. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.module.js +20 -0
  419. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.routes.js +71 -0
  420. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +44 -0
  421. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-repositories.controller.js +36 -0
  422. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb.controller.js +34 -0
  423. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-content-views.html +41 -0
  424. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +21 -0
  425. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-repositories.html +52 -0
  426. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb.html +37 -0
  427. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/views/debs.html +43 -0
  428. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-list.factory.js +26 -0
  429. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-lists.module.js +19 -0
  430. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +17 -3
  431. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-environments.controller.js +2 -11
  432. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-details.html +2 -2
  433. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-info.html +7 -8
  434. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.routes.js +1 -1
  435. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/views/docker-tags.html +1 -1
  436. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +2 -2
  437. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +11 -25
  438. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +3 -3
  439. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.routes.js +1 -1
  440. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/incremental-update.service.js +2 -3
  441. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +6 -17
  442. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/file.factory.js +1 -1
  443. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +2 -2
  444. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/organization-selector.controller.js +2 -1
  445. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +1 -1
  446. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.routes.js +1 -1
  447. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +17 -6
  448. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +69 -8
  449. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-debs.html +68 -0
  450. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifest-lists.html +44 -0
  451. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +13 -7
  452. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +2 -2
  453. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +2 -2
  454. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +42 -4
  455. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.module.js +3 -1
  456. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +18 -0
  457. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +21 -2
  458. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +2 -0
  459. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +8 -0
  460. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +3 -3
  461. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +1 -1
  462. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +1 -1
  463. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/new-sync-plan.controller.js +1 -0
  464. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +1 -0
  465. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/docker.scss +16 -0
  466. data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -0
  467. data/lib/katello/engine.rb +4 -6
  468. data/lib/katello/permission_creator.rb +14 -12
  469. data/lib/katello/permissions/host_permissions.rb +1 -0
  470. data/lib/katello/plugin.rb +83 -54
  471. data/lib/katello/prevent_json_parsing.rb +15 -0
  472. data/lib/katello/repository_types/deb.rb +1 -0
  473. data/lib/katello/tasks/clean_old_file_repos.rake +33 -0
  474. data/lib/katello/tasks/clean_published_repo_directories.rake +4 -4
  475. data/lib/katello/tasks/reimport.rake +8 -1
  476. data/lib/katello/tasks/repository.rake +3 -3
  477. data/lib/katello/tasks/rubocop.rake +1 -1
  478. data/lib/katello/tasks/test.rake +1 -0
  479. data/lib/katello/tasks/upgrades/3.6/import_product_content.rake +12 -0
  480. data/lib/katello/tasks/upgrades/3.6/republish_file_repos.rake +16 -0
  481. data/lib/katello/tasks/virt_who_report.rake +2 -2
  482. data/lib/katello/version.rb +1 -1
  483. data/locale/README +1 -0
  484. metadata +121 -30
  485. data/app/lib/actions/candlepin/owner/upstream_regenerate_certificates.rb +0 -17
  486. data/app/lib/actions/candlepin/product/update.rb +0 -32
  487. data/app/lib/actions/katello/event_queue/run_once_coordinator_lock.rb +0 -12
  488. data/app/models/katello/candlepin/content.rb +0 -252
  489. data/app/models/katello/candlepin/product_content.rb +0 -48
  490. data/lib/katello/params_parser_wrapper.rb +0 -16
@@ -3,7 +3,7 @@
3
3
 
4
4
  /**
5
5
  * @ngdoc factory
6
- * @name Bastion.puppet-modules.factory:File
6
+ * @name Bastion.files.factory:File
7
7
  *
8
8
  * @description
9
9
  * Provides a BastionResource for interacting with Files
@@ -3,10 +3,10 @@
3
3
 
4
4
  /**
5
5
  * @ngdoc controller
6
- * @name Bastion.puppet-modules.controller:FilesController
6
+ * @name Bastion.files.controller:FilesController
7
7
  *
8
8
  * @description
9
- * Handles fetching puppet modules content and populating Nutupane based on the current
9
+ * Handles fetching files and populating Nutupane based on the current
10
10
  * ui-router state.
11
11
  */
12
12
  function FilesController($scope, Nutupane, File, CurrentOrganization) {
@@ -13,7 +13,8 @@
13
13
 
14
14
  $scope.selectedOrganization = {};
15
15
 
16
- Organization.queryUnpaged(function (response) {
16
+ // TODO: per_page hack necessary because of http://projects.theforeman.org/issues/21800
17
+ Organization.queryUnpaged({'per_page': 99999999999}, function (response) {
17
18
  $scope.organizations = response.results;
18
19
  });
19
20
 
@@ -9,7 +9,7 @@
9
9
  */
10
10
  angular.module('Bastion.ostree-branches').config(['$stateProvider', function ($stateProvider) {
11
11
  $stateProvider.state('ostree-branches', {
12
- url: '/ostree_branches?repositoryId',
12
+ url: '/ostree_branches',
13
13
  permission: ['view_products', 'view_content_views'],
14
14
  views: {
15
15
  '@': {
@@ -9,7 +9,7 @@
9
9
  */
10
10
  angular.module('Bastion.packages').config(['$stateProvider', function ($stateProvider) {
11
11
  $stateProvider.state('packages', {
12
- url: '/packages?repositoryId',
12
+ url: '/packages',
13
13
  permission: ['view_products', 'view_content_views'],
14
14
  views: {
15
15
  '@': {
@@ -12,15 +12,18 @@
12
12
  * @requires PackageGroup
13
13
  * @requires PuppetModule
14
14
  * @requires DockerManifest
15
+ * @requires DockerManifestList
15
16
  * @requires OstreeBranch
17
+ * @requires File
18
+ * @requires Deb
16
19
  *
17
20
  * @description
18
21
  * Provides the functionality for the repository details pane.
19
22
  */
20
23
  angular.module('Bastion.repositories').controller('RepositoryManageContentController',
21
- ['$scope', '$state', 'translate', 'Notification', 'Nutupane', 'Repository', 'Package', 'PackageGroup', 'PuppetModule', 'DockerManifest', 'OstreeBranch', 'File',
22
- function ($scope, $state, translate, Notification, Nutupane, Repository, Package, PackageGroup, PuppetModule, DockerManifest, OstreeBranch, File) {
23
- var currentState, contentTypes;
24
+ ['$scope', '$state', 'translate', 'Notification', 'Nutupane', 'Repository', 'Package', 'PackageGroup', 'PuppetModule', 'DockerManifest', 'DockerManifestList', 'OstreeBranch', 'File', 'Deb',
25
+ function ($scope, $state, translate, Notification, Nutupane, Repository, Package, PackageGroup, PuppetModule, DockerManifest, DockerManifestList, OstreeBranch, File, Deb) {
26
+ var contentTypes;
24
27
 
25
28
  function success(response, selected) {
26
29
  var message;
@@ -46,18 +49,20 @@ angular.module('Bastion.repositories').controller('RepositoryManageContentContro
46
49
  $scope.product = repository.product;
47
50
  });
48
51
 
49
- currentState = $state.current.name.split('.').pop();
52
+ $scope.currentState = $state.current.name.split('.').pop();
50
53
 
51
54
  contentTypes = {
52
55
  'packages': { type: Package },
53
56
  'package-groups': { type: PackageGroup },
54
57
  'puppet-modules': { type: PuppetModule },
55
58
  'docker-manifests': { type: DockerManifest },
59
+ 'docker-manifest-lists': { type: DockerManifestList },
56
60
  'ostree-branches': { type: OstreeBranch },
57
- 'files': {type: File}
61
+ 'files': { type: File },
62
+ 'debs': { type: Deb }
58
63
  };
59
64
 
60
- $scope.contentNutupane = new Nutupane(contentTypes[currentState].type, {
65
+ $scope.contentNutupane = new Nutupane(contentTypes[$scope.currentState].type, {
61
66
  'repository_id': $scope.$stateParams.repositoryId
62
67
  });
63
68
  $scope.table = $scope.contentNutupane.table;
@@ -87,5 +92,11 @@ angular.module('Bastion.repositories').controller('RepositoryManageContentContro
87
92
  });
88
93
  };
89
94
 
95
+ $scope.updateSelectable = function(item) {
96
+ if ($scope.currentState === "docker-manifests" && !_.isEmpty(item.manifest_lists)) {
97
+ item.unselectable = true;
98
+ }
99
+ return item;
100
+ };
90
101
  }]
91
102
  );
@@ -19,20 +19,47 @@
19
19
 
20
20
  <dt translate>Type</dt>
21
21
  <dd>{{ repository.content_type }}</dd>
22
+ </dl>
22
23
 
23
- <dt ng-show="repository.content_type === 'yum'" translate>Restrict to architecture</dt>
24
- <dd bst-edit-select="repository.arch==='noarch'?'Default':repository.arch"
25
- selector="repository.arch"
26
- options="architectures()"
27
- on-save="save(repository)">
28
- </dd>
24
+ <div class="divider"></div>
25
+ <h4 translate>Sync Settings</h4>
26
+ <dl class="dl-horizontal dl-horizontal-left">
27
+ <span ng-show="repository.content_type === 'yum'" >
28
+ <dt translate>Restrict to architecture</dt>
29
+ <dd bst-edit-select="repository.arch==='noarch'?'Default':repository.arch"
30
+ selector="repository.arch"
31
+ options="architectures()"
32
+ on-save="save(repository)">
33
+ </dd>
34
+ </span>
29
35
 
30
- <dt ng-show="repository.content_type !== 'docker'" translate>URL</dt>
36
+ <dt ng-show="repository.content_type !== 'docker'" translate>Upstream URL</dt>
31
37
  <dt ng-show="repository.content_type === 'docker'" translate>Registry URL</dt>
32
38
  <dd bst-edit-text="repository.url"
33
39
  on-save="save(repository)"
34
40
  readonly="product.redhat || denied('edit_products', product)">
35
41
  </dd>
42
+ <span ng-if="repository.content_type == 'deb'">
43
+ <dt translate>Releases</dt>
44
+ <dd bst-edit-text="repository.deb_releases"
45
+ on-save="save(repository)"
46
+ readonly="denied('edit_products', product)">
47
+ </dd>
48
+ </span>
49
+ <span ng-if="repository.content_type == 'deb'">
50
+ <dt translate>Components</dt>
51
+ <dd bst-edit-text="repository.deb_components"
52
+ on-save="save(repository)"
53
+ readonly="denied('edit_products', product)">
54
+ </dd>
55
+ </span>
56
+ <span ng-if="repository.content_type == 'deb'">
57
+ <dt translate>Architectures</dt>
58
+ <dd bst-edit-text="repository.deb_architectures"
59
+ on-save="save(repository)"
60
+ readonly="denied('edit_products', product)">
61
+ </dd>
62
+ </span>
36
63
 
37
64
  <span ng-show="repository.content_type === 'docker'" >
38
65
  <dt translate>Upstream Repository Name</dt>
@@ -79,7 +106,7 @@
79
106
  on-save="save(repository)">
80
107
  </dd>
81
108
  </span>
82
- <span ng-show="repository.content_type === 'yum' || repository.content_type === 'puppet'">
109
+ <span ng-show="repository.content_type === 'yum' || repository.content_type === 'puppet'">
83
110
  <dt translate>Mirror on Sync</dt>
84
111
  <dd bst-edit-checkbox="repository.mirror_on_sync"
85
112
  formatter="booleanToYesNo"
@@ -87,6 +114,15 @@
87
114
  readonly="denied('edit_products', product)">
88
115
  </dd>
89
116
  </span>
117
+ <span>
118
+ <dt translate>Ignore Global HTTP Proxy</dt>
119
+ <dd bst-edit-checkbox="repository.ignore_global_proxy"
120
+ formatter="booleanToYesNo"
121
+ on-save="save(repository)"
122
+ readonly="denied('edit_products', product)">
123
+ </dd>
124
+ </span>
125
+
90
126
  <dt translate>Publish via HTTPS</dt>
91
127
  <dd translate>Yes</dd>
92
128
 
@@ -203,6 +239,14 @@
203
239
  </a>
204
240
  </td>
205
241
  </tr>
242
+
243
+ <tr ng-show="repository.content_type === 'yum'">
244
+ <td translate>Source RPMs</td>
245
+ <td class="align-center">
246
+ {{ repository.content_counts.srpm || 0 }}
247
+ </td>
248
+ </tr>
249
+
206
250
  <tr ng-show="repository.content_type === 'yum'">
207
251
  <td translate>Errata</td>
208
252
  <td class="align-center">
@@ -235,6 +279,15 @@
235
279
  </a>
236
280
  </td>
237
281
  </tr>
282
+ <tr ng-show="repository.content_type === 'docker'">
283
+ <td translate>Docker Manifest Lists</td>
284
+ <td class="align-center">
285
+ <a ui-sref="product.repository.manage-content.docker-manifest-lists({productId: product.id, repositoryId: repository.id})">
286
+ {{ repository.content_counts.docker_manifest_list || 0 }}
287
+ </a>
288
+ </td>
289
+ </tr>
290
+
238
291
  <tr ng-show="repository.content_type === 'docker'">
239
292
  <td translate>Docker Tags</td>
240
293
  <td class="align-center">
@@ -259,6 +312,14 @@
259
312
  </a>
260
313
  </td>
261
314
  </tr>
315
+ <tr ng-show="repository.content_type === 'deb'">
316
+ <td translate>deb Packages</td>
317
+ <td class="align-center">
318
+ <a ui-sref="product.repository.manage-content.debs({productId: product.id, repositoryId: repository.id})">
319
+ {{ repository.content_counts.deb || 0 }}
320
+ </a>
321
+ </td>
322
+ </tr>
262
323
  </tbody>
263
324
  </table>
264
325
 
@@ -0,0 +1,68 @@
1
+ <span page-title ng-model="repository">{{ 'Manage deb Packages for Repository:' | translate }} {{ repository.name }}</span>
2
+
3
+ <div data-block="messages">
4
+ <div bst-alerts success-messages="successMessages" error-messages="errorMessages"></div>
5
+
6
+ <div bst-alert="success" ng-hide="generationTaskId === undefined">
7
+ <button type="button" class="close" ng-click="clearTaskId()">&times;</button>
8
+ <p translate>
9
+ deb metadata generation has been initiated in the background. Click <a href="{{ taskUrl() }}">Here</a> to monitor the progress.
10
+ </p>
11
+ </div>
12
+ </div>
13
+
14
+ <div data-extend-template="layouts/partials/table.html">
15
+ <div data-block="list-actions">
16
+ <div bst-modal="removeContent()" model="table">
17
+ <div data-block="modal-header"
18
+ translate
19
+ translate-n="table.numSelected"
20
+ translate-plural="Remove {{ table.numSelected }} debs?">
21
+ Remove Package?
22
+ </div>
23
+ <div data-block="modal-body"
24
+ translate
25
+ translate-n="table.numSelected"
26
+ translate-plural="Are you sure you want to remove the {{ table.numSelected }} packages selected?">
27
+ Are you sure you want to remove the {{ table.getSelected()[0].name }}?
28
+ </div>
29
+ </div>
30
+
31
+ <button type="button" class="btn btn-default"
32
+ ng-hide="denied('edit_products')"
33
+ ng-click="openModal()"
34
+ ng-disabled="table.working || table.numSelected === 0">
35
+ <i class="fa fa-trash-o" ng-hide="table.working"></i>
36
+ <span translate>Remove Packages</span>
37
+ </button>
38
+ </div>
39
+
40
+ <div data-block="table">
41
+ <table class="table table-striped table-bordered" >
42
+
43
+ <thead>
44
+ <tr bst-table-head row-select>
45
+ <th bst-table-column><span translate>Name</span></th>
46
+ <th bst-table-column><span translate>Version</span></th>
47
+ <th bst-table-column><span translate>Architecture</span></th>
48
+ </tr>
49
+ </thead>
50
+
51
+ <tbody>
52
+ <tr bst-table-row ng-repeat="deb in table.rows" row-select="deb">
53
+ <td bst-table-cell>
54
+ {{ deb.name }}
55
+ </td>
56
+ <td bst-table-cell>
57
+ {{ deb.version }}
58
+ </td>
59
+ <td bst-table-cell>
60
+ {{ deb.architecture }}
61
+ </td>
62
+ </tr>
63
+ </tbody>
64
+
65
+ </table>
66
+ </div>
67
+
68
+ </div>
@@ -0,0 +1,44 @@
1
+ <span page-title ng-model="repository">{{ 'View Docker Manifest Lists for Repository:' | translate }} {{ repository.name }}</span>
2
+
3
+ <div data-block="messages">
4
+ <div bst-alert="success" ng-hide="generationTaskId === undefined">
5
+ <button type="button" class="close" ng-click="clearTaskId()">&times;</button>
6
+ <p translate>
7
+ Docker metadata generation has been initiated in the background. Click
8
+ <a ng-href="{{ taskUrl() }}">Here</a> to monitor the progress.
9
+ </p>
10
+ </div>
11
+ </div>
12
+
13
+ <div data-extend-template="layouts/partials/table.html">
14
+ <div data-block="table">
15
+ <table class="table table-striped table-bordered" >
16
+
17
+ <thead>
18
+ <tr bst-table-head>
19
+ <th bst-table-column><span translate>Digest</span></th>
20
+ <th bst-table-column><span translate>Tags</span></th>
21
+ <th bst-table-column><span translate>Schema Version</span></th>
22
+ </tr>
23
+ </thead>
24
+
25
+ <tbody>
26
+ <tr bst-table-row ng-repeat="item in table.rows" >
27
+ <td bst-table-cell>
28
+ {{ item.digest }}
29
+ </td>
30
+ <td>
31
+ <span ng-repeat="tag in tagsForManifest(item) ">
32
+ <a ui-sref="docker-tag.info({tagId: tag.id})">
33
+ <span class="registry-image-tag">{{ tag.name }}</span>
34
+ </a>
35
+ </span>
36
+ </td>
37
+ <td bst-table-cell>
38
+ {{ item.schema_version }}
39
+ </td>
40
+ </tr>
41
+ </tbody>
42
+ </table>
43
+ </div>
44
+ </div>
@@ -41,22 +41,23 @@
41
41
 
42
42
  <thead>
43
43
  <tr bst-table-head row-select>
44
- <th bst-table-column><span translate>Manifest Name</span></th>
45
44
  <th bst-table-column><span translate>Tags</span></th>
46
45
  <th bst-table-column><span translate>Schema Version</span></th>
47
46
  <th bst-table-column><span translate>Digest</span></th>
47
+ <th bst-table-column><span translate>Manifest Lists</span></th>
48
48
  </tr>
49
49
  </thead>
50
50
 
51
51
  <tbody>
52
- <tr bst-table-row ng-repeat="item in table.rows" row-select="item">
52
+ <tr bst-table-row ng-repeat="item in table.rows"
53
+ row-select="item" ng-init="updateSelectable(item)">
53
54
  <td bst-table-cell>
54
- {{ item.name }}
55
- </td>
56
- <td bst-table-cell>
57
- <span ng-repeat="tag in tagsForManifest(item) ">
55
+ <div ng-if="item.manifest_lists.length > 0" translate>
56
+ Part of a manifest list
57
+ </div>
58
+ <span ng-if="item.manifest_lists.length === 0" ng-repeat="tag in tagsForManifest(item) ">
58
59
  <a ui-sref="docker-tag.info({tagId: tag.id})">
59
- {{ tag.name }}
60
+ <span class="registry-image-tag">{{ tag.name }}</span>
60
61
  </a>
61
62
  </span>
62
63
  </td>
@@ -66,6 +67,11 @@
66
67
  <td bst-table-cell>
67
68
  {{ item.digest }}
68
69
  </td>
70
+ <td bst-table-cell>
71
+ <span ng-if="item.manifest_lists.length > 0" ng-repeat="ml in item.manifest_lists ">
72
+ {{ml.digest}}
73
+ </span>
74
+ </td>
69
75
  </tr>
70
76
  </tbody>
71
77
  </table>
@@ -21,8 +21,8 @@
21
21
  <div data-block="modal-body"
22
22
  translate
23
23
  translate-n="table.numSelected"
24
- translate-plural="Are you sure you want to remove the {{ table.numSelected }} packages selected?">
25
- Are you sure you want to remove the {{ table.getSelected()[0].name }}?
24
+ translate-plural="Are you sure you want to remove the {{ table.numSelected }} packages?">
25
+ Are you sure you want to remove the {{ table.getSelected()[0].name }} package?
26
26
  </div>
27
27
  </div>
28
28
 
@@ -24,8 +24,8 @@
24
24
  <div data-block="modal-body"
25
25
  translate
26
26
  translate-n="table.numSelected"
27
- translate-plural="Are you sure you want to remove the {{ table.numSelected }} Puppet modules selected?">
28
- Are you sure you want to remove the {{ table.getSelected()[0].name }}?
27
+ translate-plural="Are you sure you want to remove the {{ table.numSelected }} Puppet Modules?">
28
+ Are you sure you want to remove the {{ table.getSelected()[0].name }} Puppet Module?
29
29
  </div>
30
30
  </div>
31
31
 
@@ -5,7 +5,7 @@
5
5
  <div data-block="content" class="row">
6
6
  <form name="repositoryForm" class="col-sm-5" novalidate role="form">
7
7
  <div>
8
- <h4 translate> General Information </h4>
8
+ <h4 translate> Basic Information </h4>
9
9
  <div bst-form-group label="{{ 'Name' | translate }}">
10
10
  <input id="name"
11
11
  name="name"
@@ -43,8 +43,8 @@
43
43
  </div>
44
44
  </div>
45
45
  <div ng-show="repository.content_type !== undefined">
46
- <h4 translate> Sync Information </h4>
47
- <div bst-form-group label="{{ 'URL' | translate }}">
46
+ <h4 translate> Sync Settings </h4>
47
+ <div bst-form-group label="{{ 'Upstream URL' | translate }}">
48
48
  <input id="url"
49
49
  name="url"
50
50
  ng-model="repository.url"
@@ -55,6 +55,33 @@
55
55
  </p>
56
56
 
57
57
  </div>
58
+ <div ng-show="repository.content_type === 'deb'" bst-form-group label="{{ 'Releases' | translate }}">
59
+ <input id="deb_releases"
60
+ name="deb_releases"
61
+ ng-model="repository.deb_releases"
62
+ type="text"/>
63
+ <p class="help-block" translate>
64
+ Comma separated list of releases (suite or codename) to sync from. Default: stable
65
+ </p>
66
+ </div>
67
+ <div ng-show="repository.content_type === 'deb'" bst-form-group label="{{ 'Components' | translate }}">
68
+ <input id="deb_comonents"
69
+ name="deb_components"
70
+ ng-model="repository.deb_components"
71
+ type="text"/>
72
+ <p class="help-block" translate>
73
+ Comma separated list of components to sync from (leave clear to sync all). Example: main
74
+ </p>
75
+ </div>
76
+ <div ng-show="repository.content_type === 'deb'" bst-form-group label="{{ 'Architectures' | translate }}">
77
+ <input id="deb_architectures"
78
+ name="deb_architectures"
79
+ ng-model="repository.deb_architectures"
80
+ type="text"/>
81
+ <p class="help-block" translate>
82
+ Comma separated list of processor architectures to filter the sync by. Example: amd64
83
+ </p>
84
+ </div>
58
85
 
59
86
  <div bst-form-group label="{{ 'Upstream Sync Policy' | translate }}" ng-show="repository.content_type === 'ostree'">
60
87
  <select required
@@ -144,9 +171,20 @@
144
171
  Selecting this option will result in contents that are no longer part of the upstream repository being removed during synchronization.
145
172
  </p>
146
173
  </div>
174
+
175
+ <div class="checkbox">
176
+ <label>
177
+ <input id="ignore_global_proxy" name="ignore_global_proxy" ng-model="repository.ignore_global_proxy" type="checkbox"/>
178
+ <span translate>Ignore Global Http Proxy</span>
179
+ </label>
180
+
181
+ <p class="help-block" translate>
182
+ Selecting this option will result in the globally configured http proxy from not being used.
183
+ </p>
184
+ </div>
147
185
  </div>
148
186
 
149
- <div ng-show="repository.content_type === 'yum' || repository.content_type === 'puppet'">
187
+ <div ng-show="repository.content_type === 'yum' || repository.content_type === 'puppet' || repository.content_type === 'deb' || repository.content_type === 'file'">
150
188
  <h4 ng-show="repository.content_type !== undefined" translate> Published Repository Information </h4>
151
189
 
152
190
  <div bst-form-group label="{{ 'Checksum' | translate }}" ng-show="repository.content_type === 'yum'">