katello 4.17.0 → 4.18.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/locale/bn/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ca/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/cs/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/de/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/el/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/en/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/en_US/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/es/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/fr/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/gl/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/gu/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/hi/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/id/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/it/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ja/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/ka/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/kn/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ko/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/mr/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/or/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pa/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pl/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pt/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/ro/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ru/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/sl/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ta/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/te/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/tr/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/vi/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/zh/katello.js +148 -4
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +147 -3
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +148 -4
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +14 -14
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -1
- data/app/controllers/katello/api/v2/errata_controller.rb +16 -0
- data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +20 -3
- data/app/controllers/katello/api/v2/flatpak_remotes_controller.rb +7 -3
- data/app/controllers/katello/api/v2/generic_content_units_controller.rb +1 -2
- data/app/controllers/katello/api/v2/products_controller.rb +18 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +5 -3
- data/app/controllers/katello/concerns/api/v2/hosts_bulk_actions_controller_extensions.rb +10 -0
- data/app/controllers/katello/concerns/api/v2/registration_commands_controller_extensions.rb +1 -0
- data/app/controllers/katello/concerns/filtered_auto_complete_search.rb +17 -0
- data/app/lib/actions/helpers/smart_proxy_sync_helper.rb +12 -0
- data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +4 -4
- data/app/lib/actions/katello/content_view/capsule_sync.rb +8 -3
- data/app/lib/actions/katello/content_view/publish.rb +39 -12
- data/app/lib/actions/katello/flatpak/mirror_remote_repository.rb +2 -1
- data/app/lib/actions/katello/repository/capsule_sync.rb +11 -1
- data/app/lib/actions/katello/repository/destroy.rb +3 -0
- data/app/lib/actions/katello/repository/import_upload.rb +2 -3
- data/app/lib/actions/katello/repository/sync.rb +2 -1
- data/app/lib/actions/katello/repository/upload_files.rb +2 -1
- data/app/lib/katello/concerns/bookmark_controller_validator_extensions.rb +1 -1
- data/app/lib/katello/resources/cdn.rb +1 -1
- data/app/models/katello/concerns/smart_proxy_extensions.rb +46 -8
- data/app/models/katello/content_view_environment.rb +1 -1
- data/app/models/katello/erratum.rb +26 -1
- data/app/models/katello/flatpak_remote.rb +0 -1
- data/app/models/katello/flatpak_remote_repository.rb +24 -0
- data/app/models/katello/glue/pulp/repos.rb +1 -1
- data/app/models/katello/root_repository.rb +1 -0
- data/app/presenters/katello/flatpak_remote_mirror_status_presenter.rb +41 -0
- data/app/services/katello/repository_type_manager.rb +2 -0
- data/app/views/foreman/job_templates/flatpak_install.erb +17 -2
- data/app/views/foreman/job_templates/flatpak_login_action.erb +17 -3
- data/app/views/foreman/job_templates/install_errata_by_search_query.erb +1 -1
- data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +1 -1
- data/app/views/foreman/job_templates/install_packages_by_search_query_-_katello_ansible_default.erb +6 -14
- data/app/views/foreman/job_templates/remove_packages_by_search_query_-_katello_ansible_default.erb +2 -15
- data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +5 -13
- data/app/views/katello/api/v2/flatpak_remote_repositories/base.json.rabl +3 -1
- data/app/views/katello/api/v2/flatpak_remotes/base.json.rabl +5 -0
- data/app/views/katello/api/v2/flatpak_remotes/permissions.json.rabl +1 -0
- data/config/routes/api/v2.rb +1 -1
- data/config/routes.rb +3 -0
- data/db/migrate/20240924161240_katello_recreate_evr_constructs.rb +20 -0
- data/db/migrate/20250613210050_use_big_int_for_erratum_packages_id.rb +11 -0
- data/db/migrate/20250714190050_add_missing_rpms_evr_index.rb +14 -0
- data/db/seeds.d/108-subcription-bookmarks.rb +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata.html +5 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +4 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +13 -3
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +2 -0
- data/lib/katello/engine.rb +0 -1
- data/lib/katello/permission_creator.rb +1 -1
- data/lib/katello/plugin.rb +26 -2
- data/lib/katello/version.rb +1 -1
- data/lib/katello.rb +0 -1
- data/lib/proxy_api/container_gateway.rb +24 -0
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +148 -4
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +148 -4
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +148 -4
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +148 -4
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +148 -4
- data/locale/de/katello.po +147 -3
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +148 -4
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +148 -4
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +148 -4
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +148 -4
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +148 -4
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +148 -4
- data/locale/es/katello.po +147 -3
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +148 -4
- data/locale/fr/katello.po +147 -3
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +148 -4
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +148 -4
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +148 -4
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +148 -4
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +148 -4
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +148 -4
- data/locale/ja/katello.po +147 -3
- data/locale/ka/katello.po +147 -3
- data/locale/katello.pot +703 -428
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +148 -4
- data/locale/ko/katello.po +147 -3
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +148 -4
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +148 -4
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +148 -4
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +148 -4
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +148 -4
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +148 -4
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +148 -4
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +148 -4
- data/locale/pt_BR/katello.po +147 -3
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +148 -4
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +148 -4
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +148 -4
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +148 -4
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +148 -4
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +148 -4
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +148 -4
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +148 -4
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +148 -4
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +148 -4
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +148 -4
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +148 -4
- data/locale/zh_CN/katello.po +147 -3
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +148 -4
- data/package.json +0 -1
- data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +2 -2
- data/webpack/components/OptionTooltip/OptionTooltip.scss +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +6 -1
- data/webpack/components/extensions/Hosts/ActionsBar/index.js +11 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/BulkChangeHostCVModal.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCVModal/actions.js +1 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/01_BulkRepositorySetsTable.js +371 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/03_Review.js +79 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/03_ReviewFooter.js +73 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/BulkRepositorySetsWizard.js +170 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/actions.js +23 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/helpers.js +28 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/index.js +23 -0
- data/webpack/components/extensions/RegistrationCommands/fields/SetupContainerRegistryCerts.js +39 -0
- data/webpack/components/extensions/RegistrationCommands/index.js +7 -0
- data/webpack/components/pf3Table/formatters/ellipsisCellFormatter.js +3 -2
- data/webpack/containers/Application/config.js +11 -0
- data/webpack/global_index.js +3 -1
- data/webpack/scenes/FlatpakRemotes/CreateEdit/CreateFlatpakRemoteModal.js +30 -0
- data/webpack/scenes/FlatpakRemotes/CreateEdit/EditFlatpakRemotesModal.js +38 -0
- data/webpack/scenes/FlatpakRemotes/CreateEdit/FlatpakRemoteform.js +218 -0
- data/webpack/scenes/FlatpakRemotes/CreateEdit/__tests__/flatpakRemoteform.test.js +117 -0
- data/webpack/scenes/FlatpakRemotes/Delete/DeleteFlatpakModal.js +59 -0
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailActions.js +87 -0
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailReducers.js +23 -0
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetailSelectors.js +16 -0
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetails.js +167 -0
- data/webpack/scenes/FlatpakRemotes/Details/Mirror/MirrorRepositoryModal.js +135 -0
- data/webpack/scenes/FlatpakRemotes/Details/Mirror/__tests__/mirrorRepositoryModal.test.js +167 -0
- data/webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.js +171 -0
- data/webpack/scenes/FlatpakRemotes/Details/__tests__/flatpakRemoteDetails.fixtures.json +58 -0
- data/webpack/scenes/FlatpakRemotes/Details/__tests__/flatpakRemoteDetails.test.js +90 -0
- data/webpack/scenes/FlatpakRemotes/Details/index.js +4 -0
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesActions.js +26 -0
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesConstants.js +15 -0
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesPage.js +202 -0
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesSelectors.js +24 -0
- data/webpack/scenes/FlatpakRemotes/__tests__/flatpakRemotesList.fixtures.json +55 -0
- data/webpack/scenes/FlatpakRemotes/__tests__/flatpakRemotesPage.test.js +74 -0
- data/webpack/scenes/FlatpakRemotes/index.js +4 -0
- data/webpack/scenes/Hosts/ChangeContentSource/components/Hosts.js +2 -2
- data/webpack/scenes/RedHatRepositories/components/RecommendedRepositorySetsToggler.scss +1 -1
- data/webpack/scenes/RedHatRepositories/index.scss +1 -1
- data/webpack/scenes/Settings/SettingsSelectors.js +3 -3
- data/webpack/scenes/Settings/index.js +1 -3
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +2 -2
- data/webpack/scenes/Subscriptions/SubscriptionsPage.scss +1 -1
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +0 -21
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +0 -44
- data/webpack/scenes/Subscriptions/index.js +1 -3
- metadata +39 -21
- data/webpack/scenes/Settings/SettingsConstants.js +0 -2
- data/webpack/scenes/Settings/SettingsReducer.js +0 -19
@@ -3,7 +3,7 @@
|
|
3
3
|
"locale_data": {
|
4
4
|
"katello": {
|
5
5
|
"": {
|
6
|
-
"Project-Id-Version": "katello 4.
|
6
|
+
"Project-Id-Version": "katello 4.18.0.pre.master",
|
7
7
|
"Report-Msgid-Bugs-To": "",
|
8
8
|
"PO-Revision-Date": "2017-12-19 20:14+0000",
|
9
9
|
"Last-Translator": "Bryan Kearney <bryan.kearney@gmail.com>, 2024",
|
@@ -801,6 +801,9 @@
|
|
801
801
|
"Application": [
|
802
802
|
"應用程式"
|
803
803
|
],
|
804
|
+
"Application name": [
|
805
|
+
""
|
806
|
+
],
|
804
807
|
"Apply": [
|
805
808
|
"套用"
|
806
809
|
],
|
@@ -1041,6 +1044,9 @@
|
|
1041
1044
|
"Below are the repository sets currently available for this content host. For Red Hat subscriptions, additional content can be made available through the {rhrp}. Changing default settings requires subscription-manager 1.10 or newer to be installed on this host.": [
|
1042
1045
|
""
|
1043
1046
|
],
|
1047
|
+
"Below you can add content overrides, which change whether a repository is enabled or disabled. Change their state one by one, or use the checkboxes and select an action to perform.": [
|
1048
|
+
""
|
1049
|
+
],
|
1044
1050
|
"Beta": [
|
1045
1051
|
"Beta"
|
1046
1052
|
],
|
@@ -1200,6 +1206,9 @@
|
|
1200
1206
|
"Cannot add composite versions to another composite content view": [
|
1201
1207
|
"無法新增複合式版本至另一個複合式內容視域中"
|
1202
1208
|
],
|
1209
|
+
"Cannot add container push repositories to a rolling content view": [
|
1210
|
+
""
|
1211
|
+
],
|
1203
1212
|
"Cannot add content view environments from a different organization": [
|
1204
1213
|
""
|
1205
1214
|
],
|
@@ -1377,6 +1386,12 @@
|
|
1377
1386
|
"Change host content source": [
|
1378
1387
|
""
|
1379
1388
|
],
|
1389
|
+
"Change the status of at least one repository.": [
|
1390
|
+
""
|
1391
|
+
],
|
1392
|
+
"Changed status": [
|
1393
|
+
""
|
1394
|
+
],
|
1380
1395
|
"Changing a host's content source will change the Smart Proxy from which the host gets its content.": [
|
1381
1396
|
""
|
1382
1397
|
],
|
@@ -1671,6 +1686,9 @@
|
|
1671
1686
|
"Content override search parameters": [
|
1672
1687
|
""
|
1673
1688
|
],
|
1689
|
+
"Content overrides updating.": [
|
1690
|
+
""
|
1691
|
+
],
|
1674
1692
|
"Content source": [
|
1675
1693
|
""
|
1676
1694
|
],
|
@@ -1854,6 +1872,9 @@
|
|
1854
1872
|
"Could not find environments for promotion": [
|
1855
1873
|
""
|
1856
1874
|
],
|
1875
|
+
"Could not find product with name '%{name}' in organization id %{org_id}.": [
|
1876
|
+
""
|
1877
|
+
],
|
1857
1878
|
"Could not locate Pulp distribution.": [
|
1858
1879
|
""
|
1859
1880
|
],
|
@@ -1965,6 +1986,9 @@
|
|
1965
1986
|
"Create Export History": [
|
1966
1987
|
""
|
1967
1988
|
],
|
1989
|
+
"Create Flatpak Remote": [
|
1990
|
+
""
|
1991
|
+
],
|
1968
1992
|
"Create Import History": [
|
1969
1993
|
""
|
1970
1994
|
],
|
@@ -2157,6 +2181,12 @@
|
|
2157
2181
|
"Default and Rolling content view versions cannot be promoted": [
|
2158
2182
|
""
|
2159
2183
|
],
|
2184
|
+
"Default custom non-yum repository mirroring policy": [
|
2185
|
+
""
|
2186
|
+
],
|
2187
|
+
"Default custom yum repository mirroring policy": [
|
2188
|
+
""
|
2189
|
+
],
|
2160
2190
|
"Default download policy for Smart Proxy syncs (either 'inherit', immediate', or 'on_demand')": [
|
2161
2191
|
""
|
2162
2192
|
],
|
@@ -2184,6 +2214,12 @@
|
|
2184
2214
|
"Default location for subscribed hosts": [
|
2185
2215
|
""
|
2186
2216
|
],
|
2217
|
+
"Default mirroring policy for custom non-yum repositories (either 'mirror_content_only' or 'additive')": [
|
2218
|
+
""
|
2219
|
+
],
|
2220
|
+
"Default mirroring policy for custom yum repositories (either 'mirror_content_only', 'additive' or 'mirror_complete')": [
|
2221
|
+
""
|
2222
|
+
],
|
2187
2223
|
"Default partitioning table for new Operating Systems created from synced content": [
|
2188
2224
|
""
|
2189
2225
|
],
|
@@ -2238,6 +2274,9 @@
|
|
2238
2274
|
"Delete Activation Key": [
|
2239
2275
|
"刪除啟動金鑰"
|
2240
2276
|
],
|
2277
|
+
"Delete Flatpak remote?": [
|
2278
|
+
""
|
2279
|
+
],
|
2241
2280
|
"Delete Host upon unregister": [
|
2242
2281
|
""
|
2243
2282
|
],
|
@@ -2481,12 +2520,18 @@
|
|
2481
2520
|
"Duration": [
|
2482
2521
|
"持續時間"
|
2483
2522
|
],
|
2523
|
+
"During incremental update, the previous content view version '%s' could not be found.": [
|
2524
|
+
""
|
2525
|
+
],
|
2484
2526
|
"ERRATA ADVISORY": [
|
2485
2527
|
"勘誤諮詢"
|
2486
2528
|
],
|
2487
2529
|
"Edit": [
|
2488
2530
|
"編輯"
|
2489
2531
|
],
|
2532
|
+
"Edit Flatpak Remote": [
|
2533
|
+
""
|
2534
|
+
],
|
2490
2535
|
"Edit RPM rule": [
|
2491
2536
|
""
|
2492
2537
|
],
|
@@ -2946,15 +2991,33 @@
|
|
2946
2991
|
"Finished": [
|
2947
2992
|
"已完成"
|
2948
2993
|
],
|
2994
|
+
"Flatpak Remote ${name} created": [
|
2995
|
+
""
|
2996
|
+
],
|
2997
|
+
"Flatpak Remote Details": [
|
2998
|
+
""
|
2999
|
+
],
|
2949
3000
|
"Flatpak Remotes": [
|
2950
3001
|
""
|
2951
3002
|
],
|
3003
|
+
"Flatpak remote could not be deleted: ": [
|
3004
|
+
""
|
3005
|
+
],
|
3006
|
+
"Flatpak remote deleted": [
|
3007
|
+
""
|
3008
|
+
],
|
2952
3009
|
"Flatpak remote numeric identifier": [
|
2953
3010
|
""
|
2954
3011
|
],
|
2955
3012
|
"Flatpak remote repository numeric identifier": [
|
2956
3013
|
""
|
2957
3014
|
],
|
3015
|
+
"Flatpak remote scan could not be started: ": [
|
3016
|
+
""
|
3017
|
+
],
|
3018
|
+
"Flatpak remote updated": [
|
3019
|
+
""
|
3020
|
+
],
|
2958
3021
|
"Force": [
|
2959
3022
|
""
|
2960
3023
|
],
|
@@ -3252,6 +3315,9 @@
|
|
3252
3315
|
"How to order the sorted results (e.g. ASC for ascending)": [
|
3253
3316
|
"如何排序結果的順序(比方說 ASC 從下到上)"
|
3254
3317
|
],
|
3318
|
+
"ID": [
|
3319
|
+
""
|
3320
|
+
],
|
3255
3321
|
"ID of a HTTP Proxy": [
|
3256
3322
|
""
|
3257
3323
|
],
|
@@ -3978,6 +4044,9 @@
|
|
3978
4044
|
"Last checkin": [
|
3979
4045
|
""
|
3980
4046
|
],
|
4047
|
+
"Last mirrored": [
|
4048
|
+
""
|
4049
|
+
],
|
3981
4050
|
"Last published": [
|
3982
4051
|
""
|
3983
4052
|
],
|
@@ -4392,6 +4461,9 @@
|
|
4392
4461
|
"Manage packages": [
|
4393
4462
|
""
|
4394
4463
|
],
|
4464
|
+
"Manage repository sets": [
|
4465
|
+
""
|
4466
|
+
],
|
4395
4467
|
"Manifest": [
|
4396
4468
|
""
|
4397
4469
|
],
|
@@ -4494,12 +4566,21 @@
|
|
4494
4566
|
"Minimum version": [
|
4495
4567
|
""
|
4496
4568
|
],
|
4569
|
+
"Mirror": [
|
4570
|
+
""
|
4571
|
+
],
|
4497
4572
|
"Mirror Remote Repository": [
|
4498
4573
|
""
|
4499
4574
|
],
|
4575
|
+
"Mirror Repository": [
|
4576
|
+
""
|
4577
|
+
],
|
4500
4578
|
"Mirror a flatpak remote repository": [
|
4501
4579
|
""
|
4502
4580
|
],
|
4581
|
+
"Mirroring will import the remote flatpak repository": [
|
4582
|
+
""
|
4583
|
+
],
|
4503
4584
|
"Missing activation key!": [
|
4504
4585
|
""
|
4505
4586
|
],
|
@@ -4542,9 +4623,18 @@
|
|
4542
4623
|
"Multi-entitlement": [
|
4543
4624
|
"多重權利"
|
4544
4625
|
],
|
4626
|
+
"Multi-environment activation key(s) affected": [
|
4627
|
+
""
|
4628
|
+
],
|
4629
|
+
"Multi-environment host(s) affected": [
|
4630
|
+
""
|
4631
|
+
],
|
4545
4632
|
"Must be Ascii alphanumeric, '_' or '-'": [
|
4546
4633
|
""
|
4547
4634
|
],
|
4635
|
+
"Must be a vaild URL": [
|
4636
|
+
""
|
4637
|
+
],
|
4548
4638
|
"N/A": [
|
4549
4639
|
"N/A"
|
4550
4640
|
],
|
@@ -4602,6 +4692,9 @@
|
|
4602
4692
|
"Name of the host": [
|
4603
4693
|
"主機名稱"
|
4604
4694
|
],
|
4695
|
+
"Name of the product to mirror the remote repository to": [
|
4696
|
+
""
|
4697
|
+
],
|
4605
4698
|
"Name of the repository": [
|
4606
4699
|
""
|
4607
4700
|
],
|
@@ -4710,6 +4803,9 @@
|
|
4710
4803
|
"No available repository or filter updates": [
|
4711
4804
|
""
|
4712
4805
|
],
|
4806
|
+
"No change": [
|
4807
|
+
""
|
4808
|
+
],
|
4713
4809
|
"No content": [
|
4714
4810
|
""
|
4715
4811
|
],
|
@@ -5136,6 +5232,9 @@
|
|
5136
5232
|
"Organization ID is required": [
|
5137
5233
|
""
|
5138
5234
|
],
|
5235
|
+
"Organization ID or title": [
|
5236
|
+
""
|
5237
|
+
],
|
5139
5238
|
"Organization Information not provided.": [
|
5140
5239
|
""
|
5141
5240
|
],
|
@@ -5433,6 +5532,9 @@
|
|
5433
5532
|
"Physical": [
|
5434
5533
|
"實體的"
|
5435
5534
|
],
|
5535
|
+
"Place symlinks to entitlement certificates on the host, enabling container/flatpak registry access without a username or password.": [
|
5536
|
+
""
|
5537
|
+
],
|
5436
5538
|
"Plan numeric identifier": [
|
5437
5539
|
"計畫的數字識別元"
|
5438
5540
|
],
|
@@ -5481,9 +5583,6 @@
|
|
5481
5583
|
"Policy to set for mirroring content. Must be one of %s.": [
|
5482
5584
|
""
|
5483
5585
|
],
|
5484
|
-
"Possible values: %s": [
|
5485
|
-
""
|
5486
|
-
],
|
5487
5586
|
"Prefer registered through Smart Proxy for remote execution": [
|
5488
5587
|
""
|
5489
5588
|
],
|
@@ -6390,6 +6489,9 @@
|
|
6390
6489
|
"Review and optionally exclude hosts from your selection. Note that package actions on any image mode hosts will be transient and lost on the next reboot.": [
|
6391
6490
|
""
|
6392
6491
|
],
|
6492
|
+
"Review and then click 'Set content overrides.' Status will be changed for the selected repository sets on the selected hosts.": [
|
6493
|
+
""
|
6494
|
+
],
|
6393
6495
|
"Review and then click {submitBtnText}.": [
|
6394
6496
|
""
|
6395
6497
|
],
|
@@ -6474,6 +6576,9 @@
|
|
6474
6576
|
"Saving alternate content source...": [
|
6475
6577
|
""
|
6476
6578
|
],
|
6579
|
+
"Scan": [
|
6580
|
+
""
|
6581
|
+
],
|
6477
6582
|
"Scan a flatpak remote": [
|
6478
6583
|
""
|
6479
6584
|
],
|
@@ -6573,6 +6678,9 @@
|
|
6573
6678
|
"Select a lifecycle environment from the available promotion paths to promote new version.": [
|
6574
6679
|
""
|
6575
6680
|
],
|
6681
|
+
"Select a product to mirror the repository into": [
|
6682
|
+
""
|
6683
|
+
],
|
6576
6684
|
"Select a provider to install katello-host-tools-tracer": [
|
6577
6685
|
""
|
6578
6686
|
],
|
@@ -6666,6 +6774,9 @@
|
|
6666
6774
|
"Select products to associate to this source.": [
|
6667
6775
|
""
|
6668
6776
|
],
|
6777
|
+
"Select repository sets": [
|
6778
|
+
""
|
6779
|
+
],
|
6669
6780
|
"Select row": [
|
6670
6781
|
""
|
6671
6782
|
],
|
@@ -6714,6 +6825,9 @@
|
|
6714
6825
|
"Service level to be used for autoheal": [
|
6715
6826
|
""
|
6716
6827
|
],
|
6828
|
+
"Set content overrides": [
|
6829
|
+
""
|
6830
|
+
],
|
6717
6831
|
"Set content overrides for the host": [
|
6718
6832
|
"為主機設定內容覆寫"
|
6719
6833
|
],
|
@@ -6729,6 +6843,9 @@
|
|
6729
6843
|
"Set true to remove an override and reset it to 'default'": [
|
6730
6844
|
""
|
6731
6845
|
],
|
6846
|
+
"Set up container registry certs": [
|
6847
|
+
""
|
6848
|
+
],
|
6732
6849
|
"Sets the system purpose usage": [
|
6733
6850
|
""
|
6734
6851
|
],
|
@@ -7674,6 +7791,9 @@
|
|
7674
7791
|
"This Content View must be set to Import-only before performing an import": [
|
7675
7792
|
""
|
7676
7793
|
],
|
7794
|
+
"This Flatpak remote will be deleted. Repositories mirrored from this remote will remain available and functional for use": [
|
7795
|
+
""
|
7796
|
+
],
|
7677
7797
|
"This Host is not currently registered with subscription-manager.": [
|
7678
7798
|
""
|
7679
7799
|
],
|
@@ -7836,6 +7956,9 @@
|
|
7836
7956
|
"To include or exclude specific content from the content view, create a filter. Without filters, the content view includes everything from the added repositories.": [
|
7837
7957
|
""
|
7838
7958
|
],
|
7959
|
+
"To manage host content overrides, a specific organization must be selected from the organization context.": [
|
7960
|
+
""
|
7961
|
+
],
|
7839
7962
|
"To manage host packages, a specific organization must be selected from the organization context.": [
|
7840
7963
|
""
|
7841
7964
|
],
|
@@ -7938,6 +8061,9 @@
|
|
7938
8061
|
"URL of an OSTree repository.": [
|
7939
8062
|
""
|
7940
8063
|
],
|
8064
|
+
"URL:": [
|
8065
|
+
""
|
8066
|
+
],
|
7941
8067
|
"UUID": [
|
7942
8068
|
"UUID"
|
7943
8069
|
],
|
@@ -8013,6 +8139,9 @@
|
|
8013
8139
|
"Unable to refresh any alternate content source. You either do not have the permission to refresh, or none of the alternate content sources exist.": [
|
8014
8140
|
""
|
8015
8141
|
],
|
8142
|
+
"Unable to refresh host-repository mapping": [
|
8143
|
+
""
|
8144
|
+
],
|
8016
8145
|
"Unable to send errata e-mail notification: %{error}": [
|
8017
8146
|
"無法收到勘誤的電子郵件通知:%{error}"
|
8018
8147
|
],
|
@@ -8025,6 +8154,12 @@
|
|
8025
8154
|
"Unable to synchronize any repository. You either do not have the permission to synchronize or the selected repositories do not have a feed url.": [
|
8026
8155
|
"無法同步任何軟體庫。您可能沒有同步的權限,或是選擇的軟體庫沒有摘要 url。"
|
8027
8156
|
],
|
8157
|
+
"Unable to update host-repository mapping": [
|
8158
|
+
""
|
8159
|
+
],
|
8160
|
+
"Unable to update hosts": [
|
8161
|
+
""
|
8162
|
+
],
|
8028
8163
|
"Unable to update the repository list": [
|
8029
8164
|
""
|
8030
8165
|
],
|
@@ -8061,6 +8196,9 @@
|
|
8061
8196
|
"Unregister host %s before assigning an organization": [
|
8062
8197
|
""
|
8063
8198
|
],
|
8199
|
+
"Unregister host %s before assigning an organization.": [
|
8200
|
+
""
|
8201
|
+
],
|
8064
8202
|
"Unregister the host as a subscription consumer": [
|
8065
8203
|
"取消註冊主機為訂閱消耗者"
|
8066
8204
|
],
|
@@ -8331,6 +8469,9 @@
|
|
8331
8469
|
"Use HTTP proxies": [
|
8332
8470
|
""
|
8333
8471
|
],
|
8472
|
+
"Use container certificates for container registry authentication. If it is set to true, container registry certificates will be installed on the host": [
|
8473
|
+
""
|
8474
|
+
],
|
8334
8475
|
"Used to determine download concurrency of the repository in pulp3. Use value less than 20. Defaults to 10": [
|
8335
8476
|
""
|
8336
8477
|
],
|
@@ -9102,6 +9243,9 @@
|
|
9102
9243
|
"interpret specified object to return only Repositories that can be associated with specified object. Only 'content_view' & 'content_view_version' are supported.": [
|
9103
9244
|
""
|
9104
9245
|
],
|
9246
|
+
"into a product. Details from the flatpak remote will automatically populate the repository fields. The repository will be available for syncing once it has been mirrored into a product.": [
|
9247
|
+
""
|
9248
|
+
],
|
9105
9249
|
"invalid: Repositories can only require one OS version.": [
|
9106
9250
|
""
|
9107
9251
|
],
|
@@ -77,11 +77,16 @@ module Katello
|
|
77
77
|
redirect_authorization_headers if redirect_on_failure
|
78
78
|
return false
|
79
79
|
end
|
80
|
+
elsif header_host_uuid
|
81
|
+
@host = Katello::Host::ContentFacet.find_by(uuid: header_host_uuid)&.host
|
80
82
|
else
|
81
83
|
authenticate_cert_request
|
82
|
-
return true if @host
|
83
84
|
end
|
84
|
-
|
85
|
+
return @host.presence
|
86
|
+
end
|
87
|
+
|
88
|
+
def header_host_uuid
|
89
|
+
request.headers['HostUUID'] || request.headers['HTTP_HOSTUUID'] || request.get_header('HTTP_HOSTUUID')
|
85
90
|
end
|
86
91
|
|
87
92
|
def optional_authorize
|
@@ -560,6 +565,8 @@ module Katello
|
|
560
565
|
|
561
566
|
def check_blob
|
562
567
|
pulp_response = Resources::Registry::Proxy.get(@_request.fullpath, 'Accept' => request.headers['Accept'])
|
568
|
+
response.headers['Content-Type'] = pulp_response.headers[:content_type] if pulp_response.headers[:content_type]
|
569
|
+
response.headers['Content-Length'] = pulp_response.headers[:content_length] if pulp_response.headers[:content_length]
|
563
570
|
head pulp_response.code
|
564
571
|
end
|
565
572
|
|
@@ -841,21 +848,14 @@ module Katello
|
|
841
848
|
|
842
849
|
def static_index
|
843
850
|
host_ip = request.remote_ip
|
844
|
-
host
|
851
|
+
@host ||= ::Host.joins(:primary_interface).where("nics.ip = :host_ip OR nics.ip6 = :host_ip", host_ip: host_ip)&.first
|
845
852
|
flatpak_index = (redirect_client { Resources::Registry::Proxy.get(@_request.fullpath, headers) })
|
846
853
|
flatpak_index_json = JSON.parse(flatpak_index)
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
cve.content_view_version.repositories
|
852
|
-
end
|
853
|
-
available_container_repo_names = repos.map(&:container_repository_name)
|
854
|
-
flatpak_index_json['Results'] = flatpak_index_json['Results'].select do |result|
|
855
|
-
available_container_repo_names.include?(result['Name'])
|
856
|
-
end
|
854
|
+
repos = Repository.readable_docker_catalog(@host)
|
855
|
+
available_container_repo_names = repos.map(&:container_repository_name)
|
856
|
+
flatpak_index_json['Results'] = flatpak_index_json['Results'].select do |result|
|
857
|
+
available_container_repo_names.include?(result['Name'])
|
857
858
|
end
|
858
|
-
# Otherwise just return unfiltered pulp flatpak index
|
859
859
|
render json: flatpak_index_json
|
860
860
|
end
|
861
861
|
end
|
@@ -33,8 +33,9 @@ module Katello
|
|
33
33
|
param :offset, :number, :required => true, :desc => N_("The offset in the file where the content starts")
|
34
34
|
param :content, File, :required => true, :desc => N_("The actual file contents")
|
35
35
|
def update
|
36
|
+
content = params[:content].respond_to?(:read) ? params[:content].read : params[:content]
|
36
37
|
@repository.backend_content_service(::SmartProxy.pulp_primary)
|
37
|
-
.upload_chunk(params[:id], params[:offset],
|
38
|
+
.upload_chunk(params[:id], params[:offset], content, params[:size])
|
38
39
|
head :no_content
|
39
40
|
end
|
40
41
|
|
@@ -6,6 +6,8 @@ module Katello
|
|
6
6
|
before_action :find_host, :only => [:index]
|
7
7
|
before_action :find_optional_organization, :only => [:index, :auto_complete_search]
|
8
8
|
|
9
|
+
after_action :strip_errata_type, only: :auto_complete_search
|
10
|
+
|
9
11
|
api :GET, "/errata", N_("List errata")
|
10
12
|
param :organization_id, :number, :desc => N_("Organization identifier")
|
11
13
|
param :content_view_version_id, :number, :desc => N_("Content View Version identifier")
|
@@ -99,6 +101,20 @@ module Katello
|
|
99
101
|
collection.where(:errata_id => filter.erratum_rules.pluck(:errata_id))
|
100
102
|
end
|
101
103
|
|
104
|
+
def strip_errata_type
|
105
|
+
return if response.body.blank?
|
106
|
+
|
107
|
+
begin
|
108
|
+
items = JSON.parse(response.body)
|
109
|
+
rescue JSON::ParserError
|
110
|
+
return
|
111
|
+
end
|
112
|
+
|
113
|
+
filtered = items.reject { |h| h['part'].to_s.strip == 'errata_type' }
|
114
|
+
|
115
|
+
response.body = filtered.to_json
|
116
|
+
end
|
117
|
+
|
102
118
|
def default_sort
|
103
119
|
%w(updated desc)
|
104
120
|
end
|
@@ -52,7 +52,9 @@ module Katello
|
|
52
52
|
|
53
53
|
api :POST, "/flatpak_remote_repositories/:id/mirror", N_("Mirror a flatpak remote repository")
|
54
54
|
param :id, :number, :desc => N_("Flatpak remote repository numeric identifier"), :required => true
|
55
|
-
param :product_id, :number, :desc => N_("Product ID to mirror the remote repository to")
|
55
|
+
param :product_id, :number, :desc => N_("Product ID to mirror the remote repository to")
|
56
|
+
param :product_name, String, :desc => N_("Name of the product to mirror the remote repository to")
|
57
|
+
param :organization_id, :number, :desc => N_("organization identifier")
|
56
58
|
def mirror
|
57
59
|
task = async_task(::Actions::Katello::Flatpak::MirrorRemoteRepository, @flatpak_remote_repository, @product)
|
58
60
|
respond_for_async :resource => task
|
@@ -73,9 +75,24 @@ module Katello
|
|
73
75
|
end
|
74
76
|
|
75
77
|
def find_product
|
76
|
-
|
77
|
-
|
78
|
+
if params[:product_id]
|
79
|
+
@product = Product.editable.find(params[:product_id])
|
80
|
+
throw_resource_not_found(name: 'product', id: params[:product_id]) unless @product
|
81
|
+
elsif params[:product_name] && params[:organization_id]
|
82
|
+
@product = Product.editable.find_by(name: params[:product_name], organization_id: params[:organization_id])
|
83
|
+
unless @product
|
84
|
+
msg = _("Could not find product with name '%{name}' in organization id %{org_id}.") %
|
85
|
+
{ name: params[:product_name], org_id: params[:organization_id] }
|
86
|
+
fail HttpErrors::NotFound, msg
|
87
|
+
end
|
88
|
+
end
|
78
89
|
@product
|
79
90
|
end
|
91
|
+
|
92
|
+
protected
|
93
|
+
|
94
|
+
def rejected_autocomplete_items
|
95
|
+
['flatpak_remote_id', 'flatpak_remote']
|
96
|
+
end
|
80
97
|
end
|
81
98
|
end
|
@@ -6,7 +6,7 @@ module Katello
|
|
6
6
|
filter_parameters :token
|
7
7
|
|
8
8
|
before_action :find_authorized_katello_resource, :except => [:index, :create, :auto_complete_search]
|
9
|
-
before_action :
|
9
|
+
before_action :find_organization, :only => [:index, :auto_complete_search]
|
10
10
|
|
11
11
|
resource_description do
|
12
12
|
name 'Flatpak Remotes'
|
@@ -20,7 +20,7 @@ module Katello
|
|
20
20
|
|
21
21
|
api :GET, "/organizations/:organization_id/flatpak_remotes", N_("List flatpak remotes")
|
22
22
|
api :GET, "/flatpak_remotes", N_("List flatpak remotes")
|
23
|
-
param :organization_id, :number, :desc => N_("organization identifier"), :required =>
|
23
|
+
param :organization_id, :number, :desc => N_("organization identifier"), :required => true
|
24
24
|
param :name, String, :desc => N_("Name of the flatpak remote"), :required => false
|
25
25
|
param_group :search, Api::V2::ApiController
|
26
26
|
add_scoped_search_description_for(FlatpakRemote)
|
@@ -68,7 +68,7 @@ module Katello
|
|
68
68
|
api :DELETE, "/flatpak_remotes/:id", N_("Delete a flatpak remote")
|
69
69
|
param :id, :number, :desc => N_("Flatpak remote numeric identifier"), :required => true
|
70
70
|
def destroy
|
71
|
-
@flatpak_remote.destroy
|
71
|
+
@flatpak_remote.destroy!
|
72
72
|
end
|
73
73
|
|
74
74
|
api :POST, "/flatpak_remotes/:id/scan", N_("Scan a flatpak remote")
|
@@ -85,5 +85,9 @@ module Katello
|
|
85
85
|
def flatpak_remote_params
|
86
86
|
params.require(:flatpak_remote).permit(:name, :url, :description, :organization_id, :username, :token)
|
87
87
|
end
|
88
|
+
|
89
|
+
def rejected_autocomplete_items
|
90
|
+
['organization_id']
|
91
|
+
end
|
88
92
|
end
|
89
93
|
end
|
@@ -2,8 +2,7 @@ module Katello
|
|
2
2
|
class Api::V2::GenericContentUnitsController < Api::V2::ApiController
|
3
3
|
resource_description do
|
4
4
|
name 'Content Units'
|
5
|
-
param :content_type,
|
6
|
-
desc: N_("Possible values: %s") % Katello::RepositoryTypeManager.generic_content_types.join(", "), required: true
|
5
|
+
param :content_type, :callable_enum, of: -> { Katello::RepositoryTypeManager.generic_content_types }, required: true
|
7
6
|
end
|
8
7
|
apipie_concern_subst(:a_resource => N_("a content unit"), :resource_id => "content_units")
|
9
8
|
|
@@ -128,6 +128,24 @@ module Katello
|
|
128
128
|
respond_for_async(:resource => task)
|
129
129
|
end
|
130
130
|
|
131
|
+
def auto_complete_name
|
132
|
+
page_size = params[:per_page].to_i.positive? ? params[:per_page].to_i : Katello::Concerns::FilteredAutoCompleteSearch::PAGE_SIZE
|
133
|
+
|
134
|
+
query = Product.readable
|
135
|
+
.where(organization_id: params.require(:organization_id))
|
136
|
+
.enabled
|
137
|
+
|
138
|
+
query = query.custom if Foreman::Cast.to_bool(params[:custom])
|
139
|
+
|
140
|
+
product_names = query
|
141
|
+
.where("#{Product.table_name}.name ILIKE ?", "#{params[:term]}%")
|
142
|
+
.order("#{Product.table_name}.name")
|
143
|
+
.limit(page_size)
|
144
|
+
.pluck(:name)
|
145
|
+
|
146
|
+
render json: product_names
|
147
|
+
end
|
148
|
+
|
131
149
|
protected
|
132
150
|
|
133
151
|
def find_product(options = {})
|
@@ -311,6 +311,8 @@ Pass [] to make repo available for clients regardless of OS version. Maximum len
|
|
311
311
|
repo_params[:package_types] = repo_params[:package_types].map(& :strip)
|
312
312
|
end
|
313
313
|
|
314
|
+
repo_params[:mirroring_policy] ||= Katello::Repository::YUM_TYPE == repo_params[:content_type] ? Setting[:default_yum_mirroring_policy] : Setting[:default_non_yum_mirroring_policy]
|
315
|
+
|
314
316
|
root = construct_repo_from_params(repo_params)
|
315
317
|
sync_task(::Actions::Katello::Repository::CreateRoot, root)
|
316
318
|
@repository = root.reload.library_instance
|
@@ -500,7 +502,8 @@ Alternatively, use the 'force' parameter to regenerate metadata locally. On the
|
|
500
502
|
param 'name', String, :desc => N_("Needs to only be set for file repositories or docker tags"), :required => true
|
501
503
|
param 'digest', String, :desc => N_("Needs to only be set for docker tags")
|
502
504
|
end
|
503
|
-
|
505
|
+
|
506
|
+
Katello::RepositoryTypeManager.generic_repository_types(false).each_pair do |_, repo_type|
|
504
507
|
repo_type.import_attributes.each do |import_attribute|
|
505
508
|
param import_attribute.api_param, import_attribute.type,
|
506
509
|
:desc => N_(import_attribute.description)
|
@@ -635,9 +638,8 @@ Alternatively, use the 'force' parameter to regenerate metadata locally. On the
|
|
635
638
|
root = @product.add_repo(repo_params.slice(:label, :name, :description, :url, :content_type, :arch, :unprotected,
|
636
639
|
:gpg_key, :ssl_ca_cert, :ssl_client_cert, :ssl_client_key,
|
637
640
|
:checksum_type, :download_policy, :http_proxy_policy,
|
638
|
-
:metadata_expire, :sync_dependencies).to_h.with_indifferent_access)
|
641
|
+
:metadata_expire, :sync_dependencies, :mirroring_policy).to_h.with_indifferent_access)
|
639
642
|
root.verify_ssl_on_sync = ::Foreman::Cast.to_bool(repo_params[:verify_ssl_on_sync]) if repo_params.key?(:verify_ssl_on_sync)
|
640
|
-
root.mirroring_policy = repo_params[:mirroring_policy] || Katello::RootRepository::MIRRORING_POLICY_CONTENT
|
641
643
|
root.upstream_username = repo_params[:upstream_username] if repo_params.key?(:upstream_username)
|
642
644
|
root.upstream_password = repo_params[:upstream_password] if repo_params.key?(:upstream_password)
|
643
645
|
root.http_proxy_policy = repo_params[:http_proxy_policy] if repo_params.key?(:http_proxy_policy)
|
@@ -13,6 +13,16 @@ module Katello
|
|
13
13
|
end
|
14
14
|
process_response(true, { :message => _("Deleted %{host_count} %{hosts}") % { :host_count => destroyed_count, :hosts => 'host'.pluralize(destroyed_count) }})
|
15
15
|
end
|
16
|
+
|
17
|
+
def assign_organization
|
18
|
+
registered_host = find_editable_hosts.where.not(organization_id: params[:id]).joins(:subscription_facet).first
|
19
|
+
if registered_host
|
20
|
+
render_error :custom_error, :status => :bad_request, :locals => { :message => _("Unregister host %s before assigning an organization.") % registered_host.name }
|
21
|
+
return
|
22
|
+
end
|
23
|
+
|
24
|
+
super
|
25
|
+
end
|
16
26
|
end
|
17
27
|
|
18
28
|
included do
|