katello 3.12.3 → 3.13.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.
- checksums.yaml +4 -4
- data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +22 -3
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -2
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +32 -15
- data/app/controllers/katello/api/v2/ansible_collections_controller.rb +19 -0
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +3 -0
- data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +1 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +1 -0
- data/app/controllers/katello/api/v2/content_views_controller.rb +1 -0
- data/app/controllers/katello/api/v2/environments_controller.rb +1 -0
- data/app/controllers/katello/api/v2/errata_controller.rb +2 -1
- data/app/controllers/katello/api/v2/gpg_keys_controller.rb +1 -0
- data/app/controllers/katello/api/v2/host_collections_controller.rb +1 -0
- data/app/controllers/katello/api/v2/host_debs_controller.rb +34 -0
- data/app/controllers/katello/api/v2/host_errata_controller.rb +51 -4
- data/app/controllers/katello/api/v2/host_packages_controller.rb +1 -0
- data/app/controllers/katello/api/v2/module_streams_controller.rb +1 -0
- data/app/controllers/katello/api/v2/organizations_controller.rb +1 -3
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +18 -0
- data/app/controllers/katello/api/v2/products_controller.rb +1 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +46 -11
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +6 -5
- data/app/controllers/katello/api/v2/srpms_controller.rb +24 -0
- data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -0
- data/app/controllers/katello/application_controller.rb +1 -0
- data/app/controllers/katello/concerns/api/v2/bulk_hosts_extensions.rb +2 -2
- data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +9 -0
- data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +2 -0
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +1 -1
- data/app/helpers/katello/concerns/dashboard_helper_extensions.rb +13 -10
- data/app/lib/actions/candlepin/activation_key/create.rb +7 -1
- data/app/lib/actions/candlepin/activation_key/update.rb +7 -1
- data/app/lib/actions/candlepin/owner/destroy.rb +1 -1
- data/app/lib/actions/candlepin/product/update.rb +17 -0
- data/app/lib/actions/helpers/output_propagator.rb +13 -0
- data/app/lib/actions/katello/activation_key/create.rb +4 -1
- data/app/lib/actions/katello/activation_key/update.rb +8 -2
- data/app/lib/actions/katello/content_view/publish.rb +22 -34
- data/app/lib/actions/katello/event_queue/poller_thread.rb +22 -9
- data/app/lib/actions/katello/host/update.rb +3 -1
- data/app/lib/actions/katello/host/upload_profiles.rb +16 -0
- data/app/lib/actions/katello/organization/destroy.rb +0 -11
- data/app/lib/actions/katello/product/update.rb +8 -0
- data/app/lib/actions/katello/product/update_http_proxy.rb +19 -0
- data/app/lib/actions/katello/provider/update.rb +6 -7
- data/app/lib/actions/katello/pulp_selector.rb +15 -5
- data/app/lib/actions/katello/repository/check_matching_content.rb +3 -1
- data/app/lib/actions/katello/repository/clone_contents.rb +19 -6
- data/app/lib/actions/katello/repository/clone_to_environment.rb +3 -5
- data/app/lib/actions/katello/repository/create.rb +3 -1
- data/app/lib/actions/katello/repository/destroy.rb +5 -4
- data/app/lib/actions/katello/repository/discover.rb +8 -8
- data/app/lib/actions/katello/repository/export.rb +1 -1
- data/app/lib/actions/katello/repository/filtered_index_content.rb +10 -5
- data/app/lib/actions/katello/repository/finish_upload.rb +8 -0
- data/app/lib/actions/katello/repository/import_upload.rb +5 -2
- data/app/lib/actions/katello/repository/index_content.rb +3 -2
- data/app/lib/actions/katello/repository/metadata_generate.rb +10 -4
- data/app/lib/actions/katello/repository/remove_content.rb +11 -3
- data/app/lib/actions/katello/repository/sync.rb +14 -7
- data/app/lib/actions/katello/repository/update.rb +11 -5
- data/app/lib/actions/katello/repository/update_http_proxy_details.rb +17 -0
- data/app/lib/actions/katello/repository/upload_files.rb +7 -3
- data/app/lib/actions/katello/subscription/update.rb +11 -0
- data/app/lib/actions/katello/upstream_subscriptions/remove_entitlement.rb +3 -0
- data/app/lib/actions/katello/upstream_subscriptions/remove_entitlements.rb +4 -1
- data/app/lib/actions/middleware/backend_services_check.rb +10 -2
- data/app/lib/actions/middleware/propagate_output.rb +15 -0
- data/app/lib/actions/middleware/pulp3_services_check.rb +9 -0
- data/app/lib/actions/pulp/abstract_async_task.rb +8 -1
- data/app/lib/actions/pulp/orchestration/repository/copy_all_units.rb +19 -0
- data/app/lib/actions/pulp/orchestration/repository/refresh.rb +14 -0
- data/app/lib/actions/pulp/orchestration/repository/refresh_if_needed.rb +13 -0
- data/app/lib/actions/pulp/orchestration/repository/remove_units.rb +14 -0
- data/app/lib/actions/pulp/orchestration/repository/sync.rb +17 -0
- data/app/lib/actions/pulp/repository/copy_all_units.rb +1 -1
- data/app/lib/actions/pulp/repository/create.rb +0 -1
- data/app/lib/actions/pulp/repository/refresh.rb +0 -5
- data/app/lib/actions/pulp/repository/remove_units.rb +1 -1
- data/app/lib/actions/pulp/repository/sync.rb +8 -14
- data/app/lib/actions/pulp3/abstract.rb +2 -1
- data/app/lib/actions/pulp3/abstract_async_task.rb +15 -6
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +55 -0
- data/app/lib/actions/pulp3/orchestration/repository/create.rb +1 -2
- data/app/lib/actions/pulp3/orchestration/repository/delete.rb +1 -2
- data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +17 -2
- data/app/lib/actions/pulp3/orchestration/repository/remove_units.rb +18 -0
- data/app/lib/actions/pulp3/orchestration/repository/sync.rb +19 -0
- data/app/lib/actions/pulp3/orchestration/repository/update.rb +15 -0
- data/app/lib/actions/pulp3/repository/copy_content.rb +19 -0
- data/app/lib/actions/pulp3/repository/copy_version.rb +19 -0
- data/app/lib/actions/pulp3/repository/create_publication.rb +3 -2
- data/app/lib/actions/pulp3/repository/presenters/abstract_sync_presenter.rb +42 -0
- data/app/lib/actions/pulp3/repository/presenters/content_unit_presenter.rb +57 -0
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +7 -3
- data/app/lib/actions/pulp3/repository/remove_units.rb +23 -0
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +6 -4
- data/app/lib/actions/pulp3/repository/save_publication.rb +5 -4
- data/app/lib/actions/pulp3/repository/save_version.rb +8 -4
- data/app/lib/actions/pulp3/repository/sync.rb +55 -0
- data/app/lib/actions/pulp3/repository/{delete_publisher.rb → update_distributions.rb} +5 -5
- data/app/lib/actions/pulp3/repository/{create_publisher.rb → update_remote.rb} +2 -2
- data/app/lib/actions/pulp3/repository/update_repository.rb +16 -0
- data/app/lib/katello/errors.rb +9 -0
- data/app/lib/katello/resources/candlepin/activation_key.rb +5 -4
- data/app/lib/katello/resources/candlepin/product.rb +4 -0
- data/app/lib/katello/resources/candlepin/upstream_consumer.rb +11 -0
- data/app/lib/katello/resources/candlepin/upstream_pool.rb +6 -2
- data/app/lib/katello/resources/cdn.rb +3 -16
- data/app/lib/katello/util/cdn_var_substitutor.rb +0 -3
- data/app/lib/katello/util/http_proxy.rb +9 -9
- data/app/lib/katello/validators/hostgroup_kickstart_repository_validator.rb +1 -1
- data/app/models/katello/activation_key.rb +14 -0
- data/app/models/katello/activation_key_purpose_addon.rb +6 -0
- data/app/models/katello/ansible_collection.rb +32 -0
- data/app/models/katello/candlepin/repository_mapper.rb +1 -1
- data/app/models/katello/concerns/host_managed_extensions.rb +3 -0
- data/app/models/katello/concerns/http_proxy_extensions.rb +60 -0
- data/app/models/katello/concerns/location_extensions.rb +8 -0
- data/app/models/katello/concerns/organization_extensions.rb +9 -0
- data/app/models/katello/concerns/pulp_database_unit.rb +56 -81
- data/app/models/katello/concerns/setting_extensions.rb +14 -0
- data/app/models/katello/concerns/smart_proxy_extensions.rb +27 -11
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +8 -1
- data/app/models/katello/content_view.rb +4 -0
- data/app/models/katello/content_view_filter.rb +4 -8
- data/app/models/katello/docker_tag.rb +11 -10
- data/app/models/katello/erratum.rb +22 -0
- data/app/models/katello/event.rb +2 -0
- data/app/models/katello/events/auto_publish_composite_view.rb +41 -0
- data/app/models/katello/glue/pulp/repo.rb +0 -15
- data/app/models/katello/host/content_facet.rb +35 -4
- data/app/models/katello/host/subscription_facet.rb +14 -16
- data/app/models/katello/host_installed_deb.rb +7 -0
- data/app/models/katello/installed_deb.rb +10 -0
- data/app/models/katello/ping.rb +45 -10
- data/app/models/katello/product_content.rb +1 -1
- data/app/models/katello/purpose_addon.rb +11 -0
- data/app/models/katello/repository.rb +52 -41
- data/app/models/katello/repository_ansible_collection.rb +6 -0
- data/app/models/katello/repository_content_view_filter.rb +7 -0
- data/app/models/katello/rhsm_fact_parser.rb +11 -1
- data/app/models/katello/root_repository.rb +46 -4
- data/app/models/katello/srpm.rb +4 -0
- data/app/models/katello/subscription_facet_purpose_addon.rb +6 -0
- data/app/models/katello/yum_metadata_file.rb +3 -3
- data/app/models/setting/content.rb +32 -7
- data/app/overrides/add_about_page.rb +0 -7
- data/app/services/cert/certs.rb +1 -1
- data/app/services/katello/candlepin/consumer.rb +4 -0
- data/app/services/katello/event_queue.rb +33 -3
- data/app/services/katello/pulp/content_counts_calculator.rb +6 -0
- data/app/services/katello/pulp/docker_manifest.rb +1 -2
- data/app/services/katello/pulp/docker_manifest_list.rb +0 -1
- data/app/services/katello/pulp/file_unit.rb +1 -1
- data/app/services/katello/pulp/pulp_content_unit.rb +43 -0
- data/app/services/katello/pulp/repository.rb +32 -5
- data/app/services/katello/pulp/repository/file.rb +6 -1
- data/app/services/katello/pulp/repository/yum.rb +6 -6
- data/app/services/katello/pulp/rpm.rb +1 -1
- data/app/services/katello/pulp/srpm.rb +1 -1
- data/app/services/katello/pulp3/ansible_collection.rb +31 -0
- data/app/services/katello/pulp3/docker_blob.rb +17 -0
- data/app/services/katello/pulp3/docker_manifest.rb +36 -0
- data/app/services/katello/pulp3/docker_manifest_list.rb +30 -0
- data/app/services/katello/pulp3/docker_tag.rb +28 -0
- data/app/services/katello/pulp3/file_unit.rb +25 -0
- data/app/services/katello/pulp3/pulp_content_unit.rb +75 -0
- data/app/services/katello/pulp3/repository.rb +160 -47
- data/app/services/katello/pulp3/repository/ansible_collection.rb +49 -0
- data/app/services/katello/pulp3/repository/docker.rb +55 -0
- data/app/services/katello/pulp3/repository/file.rb +35 -25
- data/app/services/katello/repository_type.rb +15 -5
- data/app/services/katello/repository_type_manager.rb +32 -1
- data/app/views/dashboard/_subscription_widget.html.erb +7 -7
- data/app/views/foreman/smart_proxies/_content_tab.html.erb +5 -1
- data/app/views/katello/api/v2/activation_keys/base.json.rabl +5 -1
- data/app/views/katello/api/v2/ansible_collections/base.json.rabl +7 -0
- data/app/views/katello/api/v2/ansible_collections/index.json.rabl +7 -0
- data/app/views/katello/api/v2/ansible_collections/show.json.rabl +3 -0
- data/app/views/katello/api/v2/host_debs/base.json.rabl +4 -0
- data/app/views/katello/api/v2/host_debs/index.json.rabl +7 -0
- data/app/views/katello/api/v2/ping/show.json.rabl +2 -1
- data/app/views/katello/api/v2/repositories/base.json.rabl +3 -2
- data/app/views/katello/api/v2/repositories/show.json.rabl +8 -1
- data/app/views/katello/api/v2/srpms/index.json.rabl +7 -0
- data/app/views/katello/api/v2/srpms/show.json.rabl +5 -0
- data/app/views/katello/api/v2/subscription_facet/base.json.rabl +5 -1
- data/config/katello.yaml.example +1 -0
- data/config/routes/api/rhsm.rb +1 -0
- data/config/routes/api/v2.rb +16 -0
- data/config/routes/overrides.rb +4 -0
- data/db/migrate/20180502155123_add_installed_deb.rb +23 -0
- data/db/migrate/20190513162209_drop_repository_reference_publisher_href.rb +5 -0
- data/db/migrate/20190605014649_add_purpose_addons.rb +29 -0
- data/db/migrate/20190617142328_create_katello_ansible_collections.rb +25 -0
- data/db/migrate/20190618034438_add_ansible_collection_whitelist_to_katello_root_repositories.rb +5 -0
- data/db/migrate/20190619192151_add_activation_key_system_purpose_attributes.rb +14 -0
- data/db/migrate/20190701174401_add_http_proxy_policy_to_repository_root.rb +12 -0
- data/db/migrate/20190701192616_add_http_proxy_to_repository_root.rb +6 -0
- data/db/migrate/20190702182118_add_metadata_process_after_to_katello_event.rb +6 -0
- data/db/migrate/20190708195809_remove_all_manifest_downloaded.rb +11 -0
- data/db/migrate/20190723171639_update_content_view_filters_repositories_join_table.rb +11 -0
- data/db/seeds.d/115-http_proxy.rb +25 -0
- data/engines/bastion/app/views/bastion/layouts/assets.html.erb +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details-info.controller.js +15 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +69 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +39 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-repository-sets-modal.controller.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +1 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +26 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-actions.controller.js +14 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-installed.controller.js +77 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs.controller.js +63 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +18 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-actions.html +62 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-installed.html +52 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs.html +9 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +21 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +1 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-debs.factory.js +20 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host.factory.js +9 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/http-proxies/http-proxies.module.js +14 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/http-proxies/http-proxy.factory.js +21 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/product-bulk-action.factory.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-http-proxy-modal.controller.js +77 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-http-proxy-modal.html +57 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +25 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.filter.js +13 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +75 -29
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/http-proxy-service.js +53 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +18 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +42 -16
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +16 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +6 -0
- data/lib/katello.rb +0 -1
- data/lib/katello/engine.rb +2 -0
- data/lib/katello/permission_creator.rb +7 -2
- data/lib/katello/permissions/host_permissions.rb +3 -0
- data/lib/katello/plugin.rb +3 -2
- data/lib/katello/repository_types/ansible_collection.rb +8 -0
- data/lib/katello/repository_types/deb.rb +2 -1
- data/lib/katello/repository_types/docker.rb +23 -4
- data/lib/katello/repository_types/file.rb +7 -1
- data/lib/katello/repository_types/ostree.rb +2 -1
- data/lib/katello/repository_types/puppet.rb +2 -1
- data/lib/katello/repository_types/yum.rb +3 -2
- data/lib/katello/tasks/clean_published_repo_directories.rake +1 -1
- data/lib/katello/tasks/delete_orphaned_content.rake +16 -5
- data/lib/katello/tasks/jenkins.rake +2 -0
- data/lib/katello/tasks/update_content_default_http_proxy.rake +69 -0
- data/lib/katello/version.rb +1 -1
- data/package.json +10 -22
- data/webpack/{move_to_foreman/__mocks__ → __mocks__/foremanJS}/foreman_toast_notifications.js +0 -0
- data/webpack/__mocks__/foremanReact/common/helpers.js +3 -6
- data/webpack/__mocks__/foremanReact/common/keyCodes.js +8 -0
- data/webpack/__mocks__/foremanReact/common/urlHelpers.js +7 -0
- data/webpack/__mocks__/foremanReact/components/Settings/SettingsActions.js +4 -0
- data/webpack/__mocks__/foremanReact/components/Settings/SettingsConstants.js +2 -0
- data/webpack/__mocks__/foremanReact/components/common/Fill/GlobalFill.js +3 -0
- data/webpack/__mocks__/foremanReact/components/common/ModalProgressBar.js +8 -0
- data/webpack/components/SelectOrg/SetOrganization.js +11 -19
- data/webpack/components/WithOrganization/__snapshots__/withOrganization.test.js.snap +1 -3
- data/webpack/components/WithOrganization/withOrganization.js +2 -2
- data/webpack/components/WithOrganization/withOrganization.test.js +2 -2
- data/webpack/components/extensions/about/SystemStatuses.js +55 -0
- data/webpack/components/extensions/about/SystemStatusesActions.js +16 -0
- data/webpack/components/extensions/about/SystemStatusesConsts.js +3 -0
- data/webpack/components/extensions/about/SystemStatusesReducer.js +26 -0
- data/webpack/components/extensions/about/SystemStatusesSelectors.js +3 -0
- data/webpack/components/extensions/about/__tests__/SystemStatuses.fixtures.js +20 -0
- data/webpack/components/extensions/about/__tests__/SystemStatuses.test.js +14 -0
- data/webpack/components/extensions/about/__tests__/SystemStatusesReducer.test.js +32 -0
- data/webpack/components/extensions/about/__tests__/__snapshots__/SystemStatuses.test.js.snap +156 -0
- data/webpack/components/extensions/about/__tests__/__snapshots__/SystemStatusesReducer.test.js.snap +47 -0
- data/webpack/components/extensions/about/index.js +19 -0
- data/webpack/components/extensions/reducers.js +6 -0
- data/webpack/containers/Application/config.js +4 -10
- data/webpack/fills_index.js +10 -0
- data/webpack/move_to_foreman/common/helpers.js +0 -20
- data/webpack/move_to_foreman/components/common/table/components/TableSelectionCell.js +1 -0
- data/webpack/move_to_foreman/components/common/table/formatters/EntitlementsInlineEditFormatter.js +3 -3
- data/webpack/move_to_pf/LoadingState/LoadingState.js +1 -0
- data/webpack/move_to_pf/OptionTooltip/OptionTooltip.scss +2 -1
- data/webpack/move_to_pf/TypeAhead/TypeAhead.js +3 -4
- data/webpack/redux/actions/RedHatRepositories/helpers.js +6 -1
- data/webpack/redux/reducers/index.js +2 -0
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailInfo.js +1 -0
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +1 -0
- data/webpack/scenes/ModuleStreams/Details/Profiles/TableSchema.js +1 -0
- data/webpack/scenes/ModuleStreams/Details/Profiles/__tests__/ProfileRpmsCellFormatter.test.js +0 -2
- data/webpack/scenes/ModuleStreams/Details/Repositories/TableSchema.js +3 -2
- data/webpack/scenes/ModuleStreams/Details/index.js +1 -1
- data/webpack/scenes/ModuleStreams/ModuleStreamsPage.js +2 -0
- data/webpack/scenes/ModuleStreams/ModuleStreamsTable.js +2 -0
- data/webpack/scenes/ModuleStreams/ModuleStreamsTableSchema.js +3 -2
- data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamPage.test.js +0 -1
- data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsTable.test.js +0 -1
- data/webpack/scenes/ModuleStreams/index.js +1 -1
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepository.js +2 -3
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepositoryContent.js +1 -0
- data/webpack/scenes/RedHatRepositories/components/RecommendedRepositorySetsToggler.js +1 -0
- data/webpack/scenes/RedHatRepositories/components/RecommendedRepositorySetsToggler.scss +1 -1
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepositories.js +1 -0
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/RepositorySetRepository.js +3 -4
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/__test__/RepositorySetRepository.test.js +0 -2
- data/webpack/scenes/RedHatRepositories/components/SearchBar.js +1 -0
- data/webpack/scenes/RedHatRepositories/helpers.js +1 -1
- data/webpack/scenes/RedHatRepositories/index.js +3 -2
- data/webpack/scenes/RedHatRepositories/index.scss +1 -1
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailAssociations.js +3 -3
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProductContent.js +1 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProducts.js +1 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +1 -2
- data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetails.test.js +0 -1
- data/webpack/scenes/Subscriptions/Details/index.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +1 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +1 -2
- data/webpack/scenes/Subscriptions/SubscriptionReducer.js +1 -1
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +3 -2
- data/webpack/scenes/Subscriptions/SubscriptionsPage.scss +1 -2
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +9 -9
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsTableSchema.js +2 -2
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/UpstreamSubscriptionsPage.test.js +0 -1
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/index.js +1 -1
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +1 -2
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +2 -1
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +2 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionTypeFormatter.js +3 -2
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +3 -2
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/DeleteDialog.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/InputsErrorsDialog.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UnsavedChangesDialog.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UpdateDialog.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +1 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +1 -0
- data/webpack/scenes/Subscriptions/index.js +1 -1
- data/webpack/scenes/Tasks/helpers.js +5 -6
- metadata +161 -20
- data/app/lib/actions/katello/repository/clear.rb +0 -11
- data/app/views/overrides/about/_system_status.html.erb +0 -19
- data/webpack/move_to_foreman/Settings/SettingsActions.js +0 -28
- data/webpack/move_to_foreman/Settings/SettingsConstants.js +0 -3
- data/webpack/move_to_foreman/Settings/__tests__/SettingsActions.test.js +0 -41
- data/webpack/move_to_foreman/Settings/__tests__/settings.fixtures.js +0 -34
- data/webpack/move_to_foreman/components/common/ModalProgressBar/ModalProgressBar.js +0 -48
- data/webpack/move_to_foreman/components/common/ModalProgressBar/ModalProgressBar.scss +0 -15
- data/webpack/move_to_foreman/components/common/ModalProgressBar/__tests__/ModalProgressBar.test.js +0 -22
- data/webpack/move_to_foreman/components/common/ModalProgressBar/__tests__/__snapshots__/ModalProgressBar.test.js.snap +0 -60
- data/webpack/move_to_foreman/components/common/ModalProgressBar/index.js +0 -4
- data/webpack/move_to_foreman/foreman_toast_notifications.js +0 -22
@@ -0,0 +1,53 @@
|
|
1
|
+
/**
|
2
|
+
* @ngdoc service
|
3
|
+
* @name Bastion.repository.service:httpProxyPolicy
|
4
|
+
*
|
5
|
+
* @requires translate
|
6
|
+
* @requires globalContentProxy
|
7
|
+
*
|
8
|
+
* @description
|
9
|
+
* Provides HTTP Proxy policy and name display
|
10
|
+
*/
|
11
|
+
angular.module('Bastion.repositories').service('HttpProxyPolicy',
|
12
|
+
['translate', 'globalContentProxy', function (translate, globalContentProxy) {
|
13
|
+
|
14
|
+
this.globalContentProxyName = "";
|
15
|
+
|
16
|
+
if (globalContentProxy) {
|
17
|
+
this.globalContentProxyName = translate("Global Default") + " (" + globalContentProxy + ")";
|
18
|
+
} else {
|
19
|
+
this.globalContentProxyName = translate("Global Default (None)");
|
20
|
+
}
|
21
|
+
|
22
|
+
this.policies = [ {name: this.globalContentProxyName, label: 'global_default_http_proxy'},
|
23
|
+
{name: translate("No HTTP Proxy"), label: 'none'},
|
24
|
+
{name: translate("Use specific HTTP Proxy"), label: 'use_selected_http_proxy'}];
|
25
|
+
|
26
|
+
this.displayHttpProxyPolicyName = function (policy) {
|
27
|
+
var policies = {
|
28
|
+
'global_default_http_proxy': this.globalContentProxyName,
|
29
|
+
'none': translate("No HTTP Proxy"),
|
30
|
+
'use_selected_http_proxy': translate("Use specific HTTP Proxy")
|
31
|
+
};
|
32
|
+
return policies[policy];
|
33
|
+
};
|
34
|
+
|
35
|
+
this.displayHttpProxyName = function (proxies, proxyId) {
|
36
|
+
var findProxy = function(proxy) {
|
37
|
+
return proxy.id === this.id;
|
38
|
+
};
|
39
|
+
|
40
|
+
var foundProxy = proxies.find(findProxy, { id: proxyId });
|
41
|
+
|
42
|
+
if (proxies.length === 0) {
|
43
|
+
return translate("No HTTP Proxies found");
|
44
|
+
}
|
45
|
+
|
46
|
+
if (foundProxy) {
|
47
|
+
return foundProxy.name;
|
48
|
+
}
|
49
|
+
|
50
|
+
return "";
|
51
|
+
};
|
52
|
+
}]
|
53
|
+
);
|
@@ -17,13 +17,14 @@
|
|
17
17
|
* @requires Architecture
|
18
18
|
* @requires RepositoryTypesService
|
19
19
|
* @requires YumContentUnits
|
20
|
+
* #requires HttpProxyPolicy
|
20
21
|
*
|
21
22
|
* @description
|
22
23
|
* Controls the creation of an empty Repository object for use by sub-controllers.
|
23
24
|
*/
|
24
25
|
angular.module('Bastion.repositories').controller('NewRepositoryController',
|
25
|
-
['$scope', 'Repository', 'Product', 'ContentCredential', 'FormUtils', 'translate', 'Notification', 'ApiErrorHandler', 'BastionConfig', 'Checksum', 'YumContentUnits', 'DownloadPolicy', 'OstreeUpstreamSyncPolicy', 'Architecture', 'RepositoryTypesService',
|
26
|
-
function ($scope, Repository, Product, ContentCredential, FormUtils, translate, Notification, ApiErrorHandler, BastionConfig, Checksum, YumContentUnits, DownloadPolicy, OstreeUpstreamSyncPolicy, Architecture, RepositoryTypesService) {
|
26
|
+
['$scope', 'Repository', 'Product', 'ContentCredential', 'FormUtils', 'translate', 'Notification', 'ApiErrorHandler', 'BastionConfig', 'Checksum', 'YumContentUnits', 'DownloadPolicy', 'OstreeUpstreamSyncPolicy', 'Architecture', 'RepositoryTypesService', 'HttpProxy', 'HttpProxyPolicy',
|
27
|
+
function ($scope, Repository, Product, ContentCredential, FormUtils, translate, Notification, ApiErrorHandler, BastionConfig, Checksum, YumContentUnits, DownloadPolicy, OstreeUpstreamSyncPolicy, Architecture, RepositoryTypesService, HttpProxy, HttpProxyPolicy) {
|
27
28
|
|
28
29
|
function success() {
|
29
30
|
Notification.setSuccessMessage(translate('Repository %s successfully created.').replace('%s', $scope.repository.name));
|
@@ -118,5 +119,20 @@ angular.module('Bastion.repositories').controller('NewRepositoryController',
|
|
118
119
|
repository.$save(success, error);
|
119
120
|
};
|
120
121
|
|
122
|
+
$scope.repository['http_proxy_policy'] = HttpProxyPolicy.policies[0].label;
|
123
|
+
$scope.policies = HttpProxyPolicy.policies;
|
124
|
+
$scope.proxies = [];
|
125
|
+
|
126
|
+
$scope.displayHttpProxyPolicyName = function (policy) {
|
127
|
+
return HttpProxyPolicy.displayHttpProxyPolicyName(policy);
|
128
|
+
};
|
129
|
+
|
130
|
+
$scope.displayHttpProxyName = function (proxyId) {
|
131
|
+
return HttpProxyPolicy.displayHttpProxyName($scope.proxies, proxyId);
|
132
|
+
};
|
133
|
+
|
134
|
+
HttpProxy.queryUnpaged(function (proxies) {
|
135
|
+
$scope.proxies = proxies.results;
|
136
|
+
});
|
121
137
|
}]
|
122
138
|
);
|
@@ -25,9 +25,9 @@
|
|
25
25
|
|
26
26
|
<div bst-form-group label="{{ 'Description' | translate }}">
|
27
27
|
<textarea id="description"
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
name="description"
|
29
|
+
ng-model="repository.description"
|
30
|
+
type="text"/>
|
31
31
|
</div>
|
32
32
|
|
33
33
|
<div bst-form-group label="{{ 'Type' | translate }}">
|
@@ -60,8 +60,22 @@
|
|
60
60
|
<p class="help-block" ng-show="repository.content_type === 'docker'" translate>
|
61
61
|
URL of the registry you want to sync. Example: https://registry-1.docker.io/
|
62
62
|
</p>
|
63
|
+
<p class="help-block" ng-show="repository.content_type === 'ansible_collection'" translate>
|
64
|
+
URL of the ansible content sharing hub you want to sync. Example: https://galaxy.ansible.com
|
65
|
+
</p>
|
66
|
+
|
67
|
+
</div>
|
63
68
|
|
69
|
+
<div ng-show="repository.content_type === 'ansible_collection'" bst-form-group label="{{ 'Whitelist' | translate }}">
|
70
|
+
<textarea id="collection_whitelist"
|
71
|
+
name="collection_whitelists"
|
72
|
+
ng-model="repository.ansible_collection_whitelist"
|
73
|
+
type="text"/>
|
74
|
+
<p class="help-block" translate>
|
75
|
+
Name / Comma-separated names of ansible collection(s) you want to sync from the galaxy. ex: newswangerd.collection_demo, devoperate.base
|
76
|
+
</p>
|
64
77
|
</div>
|
78
|
+
|
65
79
|
<div ng-show="repository.content_type === 'deb'" bst-form-group label="{{ 'Releases' | translate }}">
|
66
80
|
<input id="deb_releases"
|
67
81
|
name="deb_releases"
|
@@ -166,7 +180,6 @@
|
|
166
180
|
</p>
|
167
181
|
</div>
|
168
182
|
|
169
|
-
|
170
183
|
<div bst-form-group label="{{ 'Download Policy' | translate }}" ng-if="repository.content_type === 'yum'">
|
171
184
|
<select id="download_policy"
|
172
185
|
name="download_policy"
|
@@ -175,6 +188,7 @@
|
|
175
188
|
</select>
|
176
189
|
<p class="help-block" translate>
|
177
190
|
For On Demand synchronization, only the metadata is downloaded during sync and packages are fetched and stored on the filesystem when clients request them.
|
191
|
+
On Demand is not recommended for custom repositories unless the upstream repository maintains older versions of packages within the repository.
|
178
192
|
For Background synchronization, a background task will download all packages after the initial sync.
|
179
193
|
The Immediate option will download all metadata and packages immediately during the sync.
|
180
194
|
</p>
|
@@ -191,16 +205,28 @@
|
|
191
205
|
</p>
|
192
206
|
</div>
|
193
207
|
|
194
|
-
<div
|
195
|
-
<
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
Selecting this option will result in the globally configured http proxy from not being used.
|
202
|
-
</p>
|
208
|
+
<div bst-form-group label="{{ 'Http Proxy Policy' | translate }}">
|
209
|
+
<select required
|
210
|
+
id="http_proxy_policy"
|
211
|
+
name="http_proxy_policy"
|
212
|
+
ng-model="repository.http_proxy_policy"
|
213
|
+
ng-options="type.label as type.name for type in policies">
|
214
|
+
</select>
|
203
215
|
</div>
|
216
|
+
<span ng-show="repository.http_proxy_policy === 'use_selected_http_proxy'">
|
217
|
+
<div bst-form-group label="{{ 'Http Proxy' | translate }}">
|
218
|
+
<span translate ng-show="proxies.length == 0">
|
219
|
+
No HTTP Proxies found
|
220
|
+
</span>
|
221
|
+
<select
|
222
|
+
id="http_proxy"
|
223
|
+
name="http_proxy"
|
224
|
+
ng-model="repository.http_proxy_id"
|
225
|
+
ng-options="proxy.id as proxy.name for proxy in proxies"
|
226
|
+
ng-show="proxies.length > 0">
|
227
|
+
</select>
|
228
|
+
</div>
|
229
|
+
</span>
|
204
230
|
</div>
|
205
231
|
|
206
232
|
<div ng-show="repository.content_type === 'yum' || repository.content_type === 'puppet' || repository.content_type === 'deb' || repository.content_type === 'file'">
|
@@ -233,7 +259,7 @@
|
|
233
259
|
</select>
|
234
260
|
</div>
|
235
261
|
|
236
|
-
<div bst-form-group label="{{ 'SSL CA Cert' | translate }}"
|
262
|
+
<div bst-form-group label="{{ 'SSL CA Cert' | translate }}">
|
237
263
|
<select id="ssl_ca_cert_id"
|
238
264
|
name="ssl_ca_cert_id"
|
239
265
|
ng-model="repository.ssl_ca_cert_id"
|
@@ -242,7 +268,7 @@
|
|
242
268
|
</select>
|
243
269
|
</div>
|
244
270
|
|
245
|
-
<div bst-form-group label="{{ 'SSL Client Cert' | translate }}"
|
271
|
+
<div bst-form-group label="{{ 'SSL Client Cert' | translate }}">
|
246
272
|
<select id="ssl_client_cert_id"
|
247
273
|
name="ssl_client_cert_id"
|
248
274
|
ng-model="repository.ssl_client_cert_id"
|
@@ -251,7 +277,7 @@
|
|
251
277
|
</select>
|
252
278
|
</div>
|
253
279
|
|
254
|
-
<div bst-form-group label="{{ 'SSL Client Key' | translate }}"
|
280
|
+
<div bst-form-group label="{{ 'SSL Client Key' | translate }}">
|
255
281
|
<select id="ssl_client_key_id"
|
256
282
|
name="ssl_client_key_id"
|
257
283
|
ng-model="repository.ssl_client_key_id"
|
@@ -181,6 +181,13 @@
|
|
181
181
|
</div>
|
182
182
|
</span>
|
183
183
|
|
184
|
+
<span ng-show="repository.content_type == 'ansible_collection'">
|
185
|
+
<div>
|
186
|
+
<a translate ui-sref="product.repository.manage-content.ansible-collections({productId: product.id, repositoryId: repository.id})">
|
187
|
+
{{ repository.content_counts.ansible_collection || 0 }}
|
188
|
+
</a>
|
189
|
+
</div>
|
190
|
+
</span>
|
184
191
|
</td>
|
185
192
|
</tr>
|
186
193
|
</tbody>
|
data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js
CHANGED
@@ -125,6 +125,22 @@ angular.module('Bastion.products').controller('ProductsController',
|
|
125
125
|
});
|
126
126
|
};
|
127
127
|
|
128
|
+
$scope.openHttpProxyModal = function () {
|
129
|
+
nutupane.invalidate();
|
130
|
+
$uibModal.open({
|
131
|
+
templateUrl: 'products/bulk/views/products-bulk-http-proxy-modal.html',
|
132
|
+
controller: 'ProductsBulkHttpProxyModalController',
|
133
|
+
size: 'lg',
|
134
|
+
resolve: {
|
135
|
+
bulkParams: function () {
|
136
|
+
return getBulkParams();
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}).closed.then(function () {
|
140
|
+
nutupane.refresh();
|
141
|
+
});
|
142
|
+
};
|
143
|
+
|
128
144
|
$scope.openAdvancedSyncModal = function () {
|
129
145
|
nutupane.invalidate();
|
130
146
|
$uibModal.open({
|
data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html
CHANGED
@@ -42,6 +42,12 @@
|
|
42
42
|
</a>
|
43
43
|
</li>
|
44
44
|
|
45
|
+
<li role="menuitem" ng-show="permitted('edit_products')" ng-class="{disabled: table.numSelected === 0}">
|
46
|
+
<a ng-click="openHttpProxyModal()" disable-link="table.numSelected === 0" translate>
|
47
|
+
Manage Http Proxy
|
48
|
+
</a>
|
49
|
+
</li>
|
50
|
+
|
45
51
|
<li class="divider"></li>
|
46
52
|
|
47
53
|
<li role="menuitem" ng-show="permitted('destroy_products')" ng-class="{disabled: table.numSelected === 0}">
|
data/lib/katello.rb
CHANGED
data/lib/katello/engine.rb
CHANGED
@@ -146,6 +146,7 @@ module Katello
|
|
146
146
|
::Organization.send :include, Katello::Concerns::OrganizationExtensions
|
147
147
|
::User.send :include, Katello::Concerns::UserExtensions
|
148
148
|
::Setting.send :include, Katello::Concerns::SettingExtensions
|
149
|
+
::HttpProxy.send :include, Katello::Concerns::HttpProxyExtensions
|
149
150
|
ForemanTasks::RecurringLogic.send :include, Katello::Concerns::RecurringLogicExtensions
|
150
151
|
|
151
152
|
#Controller extensions
|
@@ -195,6 +196,7 @@ module Katello
|
|
195
196
|
|
196
197
|
Katello::EventQueue.register_event(Katello::Events::ImportHostApplicability::EVENT_TYPE, Katello::Events::ImportHostApplicability)
|
197
198
|
Katello::EventQueue.register_event(Katello::Events::ImportPool::EVENT_TYPE, Katello::Events::ImportPool)
|
199
|
+
Katello::EventQueue.register_event(Katello::Events::AutoPublishCompositeView::EVENT_TYPE, Katello::Events::AutoPublishCompositeView)
|
198
200
|
|
199
201
|
::HostsController.class_eval do
|
200
202
|
helper Katello::Concerns::HostsAndHostgroupsHelperExtensions
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Katello
|
2
|
-
class PermissionCreator
|
2
|
+
class PermissionCreator # rubocop:disable Metrics/ClassLength
|
3
3
|
def initialize(plugin)
|
4
4
|
@plugin = plugin
|
5
5
|
end
|
@@ -78,6 +78,7 @@ module Katello
|
|
78
78
|
'katello/api/v2/errata' => [:index, :show, :auto_complete_search, :compare, :available_errata],
|
79
79
|
'katello/api/v2/puppet_modules' => [:index, :show, :auto_complete_search, :compare],
|
80
80
|
'katello/api/v2/module_streams' => [:index, :show, :auto_complete_search, :compare],
|
81
|
+
'katello/api/v2/ansible_collections' => [:index, :show, :auto_complete_search, :compare],
|
81
82
|
'katello/content_views' => [:auto_complete, :auto_complete_search],
|
82
83
|
'katello/errata' => [:short_details, :auto_complete],
|
83
84
|
'katello/packages' => [:details, :auto_complete],
|
@@ -93,6 +94,7 @@ module Katello
|
|
93
94
|
:errata_items,
|
94
95
|
:puppet_modules_items,
|
95
96
|
:module_streams,
|
97
|
+
:ansible_collections,
|
96
98
|
:view_packages,
|
97
99
|
:view_puppet_modules,
|
98
100
|
:repo_packages,
|
@@ -251,6 +253,7 @@ module Katello
|
|
251
253
|
'katello/api/v2/products' => [:index, :show, :auto_complete_search],
|
252
254
|
'katello/api/v2/repositories' => [:index, :show, :repository_types, :auto_complete_search, :cancel],
|
253
255
|
'katello/api/v2/packages' => [:index, :show, :auto_complete_search, :auto_complete_name, :auto_complete_arch, :compare],
|
256
|
+
'katello/api/v2/srpms' => [:index, :show, :auto_complete_search, :compare],
|
254
257
|
'katello/api/v2/debs' => [:index, :show, :auto_complete_search, :compare],
|
255
258
|
'katello/api/v2/package_groups' => [:index, :show, :auto_complete_search, :compare],
|
256
259
|
'katello/api/v2/docker_manifests' => [:index, :show, :auto_complete_search, :compare],
|
@@ -261,6 +264,7 @@ module Katello
|
|
261
264
|
'katello/api/v2/errata' => [:index, :show, :auto_complete_search, :compare],
|
262
265
|
'katello/api/v2/puppet_modules' => [:index, :show, :auto_complete_search, :compare],
|
263
266
|
'katello/api/v2/module_streams' => [:index, :show, :auto_complete_search, :compare, :auto_complete_name],
|
267
|
+
'katello/api/v2/ansible_collections' => [:index, :show, :auto_complete_search, :compare],
|
264
268
|
'katello/errata' => [:short_details, :auto_complete],
|
265
269
|
'katello/packages' => [:details, :auto_complete],
|
266
270
|
'katello/puppet_modules' => [:show],
|
@@ -276,6 +280,7 @@ module Katello
|
|
276
280
|
:errata_items,
|
277
281
|
:puppet_modules_items,
|
278
282
|
:module_streams,
|
283
|
+
:ansible_collections,
|
279
284
|
:repo_packages,
|
280
285
|
:repo_errata,
|
281
286
|
:repo_puppet_modules,
|
@@ -295,7 +300,7 @@ module Katello
|
|
295
300
|
{
|
296
301
|
'katello/api/v2/products' => [:update],
|
297
302
|
'katello/api/v2/repositories' => [:update, :remove_content, :import_uploads, :upload_content, :republish],
|
298
|
-
'katello/api/v2/products_bulk_actions' => [:update_sync_plans],
|
303
|
+
'katello/api/v2/products_bulk_actions' => [:update_sync_plans, :update_http_proxy],
|
299
304
|
'katello/api/v2/content_uploads' => [:create, :update, :destroy],
|
300
305
|
'katello/api/v2/organizations' => [:repo_discover, :cancel_repo_discover]
|
301
306
|
},
|
@@ -4,6 +4,7 @@ Foreman::AccessControl.permission(:edit_hosts).actions.concat [
|
|
4
4
|
'api/v2/hosts/host_collections',
|
5
5
|
'katello/api/v2/host_errata/apply',
|
6
6
|
'katello/api/v2/host_errata/applicability',
|
7
|
+
'katello/api/v2/host_debs/auto_complete_search',
|
7
8
|
'katello/api/v2/host_packages/install',
|
8
9
|
'katello/api/v2/host_packages/upgrade',
|
9
10
|
'katello/api/v2/host_packages/upgrade_all',
|
@@ -27,6 +28,7 @@ Foreman::AccessControl.permission(:edit_hosts).actions.concat [
|
|
27
28
|
'katello/api/v2/hosts_bulk_actions/release_version',
|
28
29
|
'katello/api/rhsm/candlepin_dynflow_proxy/upload_package_profile',
|
29
30
|
'katello/api/rhsm/candlepin_dynflow_proxy/upload_profiles',
|
31
|
+
'katello/api/rhsm/candlepin_dynflow_proxy/deb_package_profile',
|
30
32
|
'katello/api/rhsm/candlepin_proxies/regenerate_identity_certificates',
|
31
33
|
'katello/api/rhsm/candlepin_proxies/hypervisors_update',
|
32
34
|
'katello/api/rhsm/candlepin_proxies/async_hypervisors_update',
|
@@ -49,6 +51,7 @@ Foreman::AccessControl.permission(:view_hosts).actions.concat [
|
|
49
51
|
'katello/api/v2/hosts_bulk_actions/installable_errata',
|
50
52
|
'katello/api/v2/hosts_bulk_actions/available_incremental_updates',
|
51
53
|
'katello/api/v2/hosts_bulk_actions/module_streams',
|
54
|
+
'katello/api/v2/host_debs/index',
|
52
55
|
'katello/api/v2/host_packages/index',
|
53
56
|
'katello/api/v2/host_tracer/index',
|
54
57
|
'katello/remote_execution/new',
|
data/lib/katello/plugin.rb
CHANGED
@@ -3,7 +3,7 @@ require 'katello/repository_types.rb'
|
|
3
3
|
|
4
4
|
# rubocop:disable Metrics/BlockLength
|
5
5
|
Foreman::Plugin.register :katello do
|
6
|
-
requires_foreman '>= 1.
|
6
|
+
requires_foreman '>= 1.23'
|
7
7
|
|
8
8
|
sub_menu :top_menu, :content_menu, :caption => N_('Content'),
|
9
9
|
:icon => 'fa fa-book', :after => :monitor_menu do
|
@@ -200,6 +200,7 @@ Foreman::Plugin.register :katello do
|
|
200
200
|
|
201
201
|
allowed_template_helpers :subscription_manager_configuration_url, :repository_url
|
202
202
|
extend_template_helpers Katello::KatelloUrlsHelper
|
203
|
+
register_global_js_file 'fills'
|
203
204
|
|
204
205
|
search_path_override("Katello") do |resource|
|
205
206
|
"/#{Katello::Util::Model.model_to_controller_path(resource)}/auto_complete_search"
|
@@ -211,7 +212,7 @@ Foreman::Plugin.register :katello do
|
|
211
212
|
:content_facet_attributes => [:content_view_id, :lifecycle_environment_id, :content_source_id,
|
212
213
|
:host, :kickstart_repository_id],
|
213
214
|
:subscription_facet_attributes => [:release_version, :autoheal, :purpose_usage, :purpose_role, :service_level, :host,
|
214
|
-
{:installed_products => [:product_id, :product_name, :arch, :version]}, :facts, :hypervisor_guest_uuids => [], :
|
215
|
+
{:installed_products => [:product_id, :product_name, :arch, :version]}, :facts, :hypervisor_guest_uuids => [], :purpose_addon_ids => []]
|
215
216
|
parameter_filter Hostgroup, :content_view_id, :lifecycle_environment_id, :content_source_id,
|
216
217
|
:kickstart_repository_id
|
217
218
|
parameter_filter Organization, :label, :service_level
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Katello::RepositoryTypeManager.register(::Katello::Repository::ANSIBLE_COLLECTION_TYPE) do
|
2
|
+
allow_creation_by_user true
|
3
|
+
pulp3_skip_publication true
|
4
|
+
pulp3_service_class Katello::Pulp3::Repository::AnsibleCollection
|
5
|
+
pulp3_plugin 'pulp_ansible'
|
6
|
+
|
7
|
+
content_type Katello::AnsibleCollection, :pulp3_service_class => ::Katello::Pulp3::AnsibleCollection, :user_removable => true
|
8
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
Katello::RepositoryTypeManager.register(::Katello::Repository::DEB_TYPE) do
|
2
2
|
service_class Katello::Pulp::Repository::Deb
|
3
3
|
prevent_unneeded_metadata_publish
|
4
|
-
|
4
|
+
default_managed_content_type Katello::Deb
|
5
|
+
content_type Katello::Deb, :pulp2_service_class => ::Katello::Pulp::Deb, :removable => true, :uploadable => true
|
5
6
|
end
|
@@ -1,8 +1,27 @@
|
|
1
1
|
Katello::RepositoryTypeManager.register(::Katello::Repository::DOCKER_TYPE) do
|
2
2
|
service_class Katello::Pulp::Repository::Docker
|
3
|
+
default_managed_content_type Katello::DockerManifest
|
4
|
+
pulp3_service_class Katello::Pulp3::Repository::Docker
|
5
|
+
pulp3_skip_publication true
|
6
|
+
pulp3_plugin 'pulp_docker'
|
3
7
|
|
4
|
-
content_type Katello::DockerManifest,
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
+
content_type Katello::DockerManifest,
|
9
|
+
:priority => 1,
|
10
|
+
:pulp2_service_class => ::Katello::Pulp::DockerManifest,
|
11
|
+
:pulp3_service_class => ::Katello::Pulp3::DockerManifest,
|
12
|
+
:removable => true,
|
13
|
+
:uploadable => true
|
14
|
+
content_type Katello::DockerManifestList,
|
15
|
+
:priority => 2,
|
16
|
+
:pulp2_service_class => ::Katello::Pulp::DockerManifestList,
|
17
|
+
:pulp3_service_class => ::Katello::Pulp3::DockerManifestList
|
18
|
+
content_type Katello::DockerTag,
|
19
|
+
:priority => 3,
|
20
|
+
:pulp2_service_class => ::Katello::Pulp::DockerTag,
|
21
|
+
:pulp3_service_class => ::Katello::Pulp3::DockerTag
|
22
|
+
content_type Katello::DockerBlob,
|
23
|
+
:priority => 4,
|
24
|
+
:pulp2_service_class => ::Katello::Pulp::DockerBlob,
|
25
|
+
:pulp3_service_class => ::Katello::Pulp3::DockerBlob,
|
26
|
+
:index => false
|
8
27
|
end
|
@@ -1,8 +1,14 @@
|
|
1
1
|
Katello::RepositoryTypeManager.register(::Katello::Repository::FILE_TYPE) do
|
2
2
|
allow_creation_by_user true
|
3
3
|
service_class Katello::Pulp::Repository::File
|
4
|
+
|
4
5
|
pulp3_service_class Katello::Pulp3::Repository::File
|
5
6
|
pulp3_plugin 'pulp_file'
|
6
7
|
|
7
|
-
content_type Katello::FileUnit,
|
8
|
+
content_type Katello::FileUnit,
|
9
|
+
:pulp2_service_class => ::Katello::Pulp::FileUnit,
|
10
|
+
:pulp3_service_class => ::Katello::Pulp3::FileUnit,
|
11
|
+
:removable => true,
|
12
|
+
:uploadable => true
|
13
|
+
default_managed_content_type Katello::FileUnit
|
8
14
|
end
|