katello 4.18.1 → 4.19.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 +56 -107
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ca/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/cs/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +57 -108
- data/app/assets/javascripts/katello/locale/de/katello.js +58 -109
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/el/katello.js +57 -108
- data/app/assets/javascripts/katello/locale/en/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/en_US/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/es/katello.js +58 -109
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/fr/katello.js +59 -110
- data/app/assets/javascripts/katello/locale/gl/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/gu/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/hi/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/id/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/it/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ja/katello.js +59 -110
- data/app/assets/javascripts/katello/locale/ka/katello.js +58 -109
- data/app/assets/javascripts/katello/locale/kn/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ko/katello.js +59 -110
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/mr/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/or/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pa/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pl/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pt/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +58 -109
- data/app/assets/javascripts/katello/locale/ro/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ru/katello.js +57 -108
- data/app/assets/javascripts/katello/locale/sl/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ta/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/te/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/tr/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/vi/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/zh/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +59 -110
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +57 -108
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +41 -12
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +3 -65
- data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_views_controller.rb +18 -3
- data/app/controllers/katello/api/v2/debs_controller.rb +21 -11
- data/app/controllers/katello/api/v2/docker_tags_controller.rb +7 -0
- data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +21 -19
- data/app/controllers/katello/api/v2/host_debs_controller.rb +16 -1
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +3 -60
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +10 -53
- data/app/controllers/katello/api/v2/repositories_controller.rb +0 -1
- data/app/controllers/katello/concerns/organizations_controller_extensions.rb +3 -0
- data/app/lib/actions/candlepin/activation_key/create.rb +0 -2
- data/app/lib/actions/candlepin/activation_key/update.rb +0 -2
- data/app/lib/actions/candlepin/product/content_create.rb +3 -5
- data/app/lib/actions/candlepin/product/content_update.rb +2 -3
- data/app/lib/actions/helpers/rolling_cv_repos.rb +1 -1
- data/app/lib/actions/katello/activation_key/create.rb +0 -1
- data/app/lib/actions/katello/activation_key/update.rb +0 -2
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +1 -6
- data/app/lib/actions/katello/content_credential/update.rb +1 -1
- data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +18 -24
- data/app/lib/actions/katello/content_view/create.rb +9 -4
- data/app/lib/actions/katello/content_view/refresh_rolling_repo.rb +6 -1
- data/app/lib/actions/katello/content_view/remove_rolling_repo_clone.rb +16 -11
- data/app/lib/actions/katello/content_view/update.rb +34 -7
- data/app/lib/actions/katello/product/content_create.rb +2 -2
- data/app/lib/actions/katello/product/content_destroy.rb +1 -1
- data/app/lib/actions/katello/repository/check_matching_content.rb +1 -1
- data/app/lib/actions/katello/repository/clone_contents.rb +1 -1
- data/app/lib/actions/katello/repository/create.rb +1 -1
- data/app/lib/actions/katello/repository/destroy.rb +4 -4
- data/app/lib/actions/katello/repository/finish_upload.rb +1 -1
- data/app/lib/actions/katello/repository/sync.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +2 -2
- data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/repository/multi_copy_all_units.rb +1 -1
- data/app/lib/actions/pulp3/repository/save_publication.rb +3 -1
- data/app/lib/actions/pulp3/repository/save_version.rb +45 -24
- data/app/lib/actions/pulp3/repository/save_versions.rb +2 -1
- data/app/lib/katello/resources/candlepin/activation_key.rb +3 -4
- data/app/lib/katello/resources/candlepin/upstream_job.rb +9 -1
- data/app/lib/katello/resources/candlepin.rb +4 -0
- data/app/models/katello/authorization/repository.rb +17 -4
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -7
- data/app/models/katello/content_view_deb_filter.rb +10 -0
- data/app/models/katello/content_view_deb_filter_rule.rb +7 -0
- data/app/models/katello/deb.rb +10 -10
- data/app/models/katello/erratum.rb +1 -1
- data/app/models/katello/glue/provider.rb +14 -3
- data/app/models/katello/host/content_facet.rb +1 -1
- data/app/models/katello/host/subscription_facet.rb +1 -7
- data/app/models/katello/product_content.rb +2 -2
- data/app/models/katello/repository.rb +4 -23
- data/app/models/katello/root_repository.rb +2 -5
- data/app/services/katello/candlepin/event_handler.rb +0 -33
- data/app/services/katello/candlepin/message_handler.rb +0 -41
- data/app/services/katello/content_unit_indexer.rb +59 -13
- data/app/services/katello/product_content_finder.rb +5 -4
- data/app/services/katello/pulp3/alternate_content_source.rb +2 -2
- data/app/services/katello/pulp3/ansible_collection.rb +1 -0
- data/app/services/katello/pulp3/api/content_guard.rb +5 -5
- data/app/services/katello/pulp3/api/core.rb +10 -0
- data/app/services/katello/pulp3/deb.rb +1 -0
- data/app/services/katello/pulp3/docker_manifest.rb +1 -0
- data/app/services/katello/pulp3/docker_manifest_list.rb +1 -0
- data/app/services/katello/pulp3/docker_tag.rb +1 -0
- data/app/services/katello/pulp3/file_unit.rb +1 -0
- data/app/services/katello/pulp3/generic_content_unit.rb +1 -0
- data/app/services/katello/pulp3/module_stream.rb +1 -0
- data/app/services/katello/pulp3/package_group.rb +1 -0
- data/app/services/katello/pulp3/repository/apt.rb +30 -13
- data/app/services/katello/pulp3/repository.rb +59 -10
- data/app/services/katello/pulp3/rpm.rb +3 -2
- data/app/services/katello/pulp3/srpm.rb +3 -2
- data/app/services/katello/pulp3/task_group.rb +1 -1
- data/app/services/katello/registration_manager.rb +19 -17
- data/app/services/katello/repository_type_manager.rb +7 -5
- data/app/services/katello/smart_proxy_helper.rb +1 -6
- data/app/views/foreman/job_templates/upload_profile.erb +5 -0
- data/app/views/katello/api/v2/activation_keys/base.json.rabl +1 -1
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
- data/app/views/katello/api/v2/debs/thindex.json.rabl +6 -0
- data/app/views/katello/api/v2/docker_tags/_base.json.rabl +32 -0
- data/app/views/katello/api/v2/docker_tags/show.json.rabl +0 -5
- data/app/views/katello/api/v2/flatpak_remotes/index.json.rabl +6 -0
- data/app/views/katello/api/v2/host_debs/installed_debs.json.rabl +6 -0
- data/app/views/katello/api/v2/hosts_bulk_actions/applicable_errata.json.rabl +1 -1
- data/app/views/katello/api/v2/hosts_bulk_actions/applicable_erratum.json.rabl +9 -0
- data/app/views/katello/api/v2/hosts_bulk_actions/installable_errata.json.rabl +1 -1
- data/app/views/katello/api/v2/hosts_bulk_actions/{erratum.json.rabl → installable_erratum.json.rabl} +3 -3
- data/app/views/katello/api/v2/subscription_facet/base.json.rabl +1 -1
- data/config/initializers/monkeys.rb +1 -0
- data/config/routes/api/v2.rb +2 -2
- data/config/routes/overrides.rb +2 -7
- data/config/routes.rb +2 -0
- data/db/migrate/20211019192121_create_cdn_configuration.katello.rb +1 -1
- data/db/migrate/20250912000000_add_pulp_prn_fields.rb +73 -0
- data/db/migrate/20250912000001_populate_pulp_prn_fields.rb +403 -0
- data/db/migrate/20251009142516_remove_auto_attach_from_activation_keys.rb +5 -0
- data/db/migrate/20251009142517_remove_autoheal_from_subscription_facets.rb +5 -0
- data/db/seeds.d/111-upgrade_tasks.rb +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +2 -2
- data/lib/katello/permission_creator.rb +2 -2
- data/lib/katello/permissions/host_permissions.rb +0 -6
- data/lib/katello/plugin.rb +16 -8
- data/lib/katello/tasks/jenkins.rake +1 -1
- data/lib/katello/tasks/upgrades/4.19/enable_structured_apt_for_deb.rake +87 -0
- data/lib/katello/tasks/upgrades/4.19/populate_repository_version_prns.rake +32 -0
- data/lib/katello/version.rb +1 -1
- data/lib/monkeys/fix_rpm_repository_gpgcheck.rb +38 -0
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +56 -107
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +56 -107
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +56 -107
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +56 -107
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +57 -108
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +58 -109
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +56 -107
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +56 -107
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +58 -109
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +56 -107
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +56 -107
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +56 -107
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +58 -109
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +56 -107
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +59 -110
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +56 -107
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +56 -107
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +56 -107
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +56 -107
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +56 -107
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +56 -107
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +59 -110
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +58 -109
- data/locale/katello.pot +676 -749
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +56 -107
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +59 -110
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +56 -107
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +56 -107
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +56 -107
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +56 -107
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +56 -107
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +56 -107
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +56 -107
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +56 -107
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +58 -109
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +56 -107
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +56 -107
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +57 -108
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +56 -107
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +56 -107
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +56 -107
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +56 -107
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +56 -107
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +56 -107
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +56 -107
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +56 -107
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +56 -107
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +59 -110
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +57 -108
- data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +2 -2
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +0 -2
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +0 -2
- data/webpack/components/extensions/Hosts/ActionsBar/index.js +1 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkActionsConstants.js +7 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/BulkChangeHostCollectionsModal.js +388 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/__tests__/BulkChangeHostCollectionsModal.test.js +640 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/actions.js +28 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/index.js +71 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/02_BulkPackagesTable.js +10 -3
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +51 -24
- data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +7 -0
- data/webpack/containers/Application/config.js +11 -1
- data/webpack/global_index.js +3 -0
- data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/BootedContainerImagesConstants.js +1 -1
- data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/BootedContainerImagesPage.js +7 -43
- data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/__tests__/bootedContainerImagesPage.test.js +1 -1
- data/webpack/scenes/ContainerImages/ContainerImagesPage.js +86 -0
- data/webpack/scenes/ContainerImages/LabelsAnnotationsModal.js +105 -0
- data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetails.js +218 -0
- data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetailsActions.js +15 -0
- data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetailsSelectors.js +16 -0
- data/webpack/scenes/ContainerImages/Synced/Details/__tests__/ManifestDetails.test.js +395 -0
- data/webpack/scenes/ContainerImages/Synced/Details/__tests__/manifestDetails.fixtures.json +43 -0
- data/webpack/scenes/ContainerImages/Synced/Details/__tests__/manifestList.fixtures.json +58 -0
- data/webpack/scenes/ContainerImages/Synced/Details/index.js +4 -0
- data/webpack/scenes/ContainerImages/Synced/SyncedContainerImagesPage.js +359 -0
- data/webpack/scenes/ContainerImages/Synced/SyncedContainerImagesPage.scss +21 -0
- data/webpack/scenes/ContainerImages/Synced/__tests__/LabelsAnnotationsModal.test.js +69 -0
- data/webpack/scenes/ContainerImages/Synced/__tests__/SyncedContainerImagesPage.test.js +335 -0
- data/webpack/scenes/ContainerImages/Synced/__tests__/syncedContainerImages.fixtures.json +105 -0
- data/webpack/scenes/ContainerImages/TableEmptyState.js +67 -0
- data/webpack/scenes/ContainerImages/containerImagesHelpers.js +48 -0
- data/webpack/scenes/ContainerImages/index.js +4 -0
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +29 -3
- data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +45 -1
- data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +0 -1
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +59 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +164 -24
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVDebFilterContent.test.js +268 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvDebFilterDetail.fixtures.json +95 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvDebFilterRules.fixtures.json +31 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/emptyCVDebFilterRules.fixtures.json +10 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/hosts.fixtures.json +0 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedHosts.fixture.json +0 -1
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetail.test.js +15 -0
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +9 -0
- data/webpack/scenes/FlatpakRemotes/CreateEdit/CreateFlatpakRemoteModal.js +5 -3
- data/webpack/scenes/FlatpakRemotes/CreateEdit/EditFlatpakRemotesModal.js +1 -1
- data/webpack/scenes/FlatpakRemotes/CreateEdit/FlatpakRemoteform.js +35 -3
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetails.js +1 -1
- data/webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.css +3 -0
- data/webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.js +63 -132
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesPage.js +67 -143
- data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +10 -2
- data/webpack/scenes/SmartProxy/SmartProxyContentActions.js +13 -2
- data/webpack/scenes/SmartProxy/SmartProxyContentConstants.js +1 -0
- data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +8 -2
- data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +67 -1
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +2 -2
- data/webpack/scenes/Subscriptions/SubscriptionConstants.js +0 -2
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +2 -2
- metadata +83 -55
- data/app/lib/actions/katello/host/attach_subscriptions.rb +0 -59
- data/app/lib/actions/katello/host/auto_attach_subscriptions.rb +0 -22
- data/app/lib/actions/katello/host/remove_subscriptions.rb +0 -50
- data/app/lib/actions/katello/organization/simple_content_access/disable.rb +0 -25
- data/app/lib/actions/katello/organization/simple_content_access/enable.rb +0 -25
- data/app/lib/actions/katello/organization/simple_content_access/toggle.rb +0 -42
- data/lib/katello/tasks/migrate_structure_content_for_deb.rake +0 -105
- data/lib/katello/tasks/upgrades/4.2/remove_checksum_values.rake +0 -17
- data/locale/action_names.rb +0 -186
- /data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/__tests__/bootedContainerImages.fixtures.js +0 -0
- /data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/index.js +0 -0
|
@@ -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.19.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>, 2025",
|
|
@@ -447,9 +447,6 @@
|
|
|
447
447
|
"A remote execution job is in progress.": [
|
|
448
448
|
""
|
|
449
449
|
],
|
|
450
|
-
"A service level for auto-healing process, e.g. SELF-SUPPORT": [
|
|
451
|
-
"auto-healing 程序的服務等級,例如 SELF-SUPPORT"
|
|
452
|
-
],
|
|
453
450
|
"A smart proxy seems to have been refreshed without pulpcore being running. Please refresh the smart proxy after ensuring that pulpcore services are running.": [
|
|
454
451
|
""
|
|
455
452
|
],
|
|
@@ -552,11 +549,14 @@
|
|
|
552
549
|
"Add RPM rule": [
|
|
553
550
|
""
|
|
554
551
|
],
|
|
555
|
-
"Add
|
|
552
|
+
"Add Red Hat Flatpak remote": [
|
|
553
|
+
""
|
|
554
|
+
],
|
|
555
|
+
"Add Red Hat flatpak remote": [
|
|
556
556
|
""
|
|
557
557
|
],
|
|
558
|
-
"Add
|
|
559
|
-
"
|
|
558
|
+
"Add Subscriptions": [
|
|
559
|
+
""
|
|
560
560
|
],
|
|
561
561
|
"Add an alternate content source": [
|
|
562
562
|
""
|
|
@@ -621,9 +621,6 @@
|
|
|
621
621
|
"Add subscriptions consumed by a manifest from Red Hat Subscription Management": [
|
|
622
622
|
""
|
|
623
623
|
],
|
|
624
|
-
"Add subscriptions to one or more hosts": [
|
|
625
|
-
""
|
|
626
|
-
],
|
|
627
624
|
"Add subscriptions using the Add Subscriptions button.": [
|
|
628
625
|
""
|
|
629
626
|
],
|
|
@@ -891,12 +888,6 @@
|
|
|
891
888
|
"Array of pools to add": [
|
|
892
889
|
""
|
|
893
890
|
],
|
|
894
|
-
"Array of subscriptions to add": [
|
|
895
|
-
"欲新增的訂閱集"
|
|
896
|
-
],
|
|
897
|
-
"Array of subscriptions to remove": [
|
|
898
|
-
"欲移除的訂閱集"
|
|
899
|
-
],
|
|
900
891
|
"Array of uploads to import": [
|
|
901
892
|
""
|
|
902
893
|
],
|
|
@@ -951,15 +942,6 @@
|
|
|
951
942
|
"At least one organization must exist.": [
|
|
952
943
|
"至少必須存在一個組織。"
|
|
953
944
|
],
|
|
954
|
-
"Attach a subscription": [
|
|
955
|
-
"連接一組訂閱服務"
|
|
956
|
-
],
|
|
957
|
-
"Attach subscriptions": [
|
|
958
|
-
"連接訂閱服務"
|
|
959
|
-
],
|
|
960
|
-
"Attach subscriptions to %s": [
|
|
961
|
-
"連接訂閱服務至 %s"
|
|
962
|
-
],
|
|
963
945
|
"Attempted to destroy consumer %s from candlepin, but consumer does not exist in candlepin": [
|
|
964
946
|
""
|
|
965
947
|
],
|
|
@@ -1071,6 +1053,9 @@
|
|
|
1071
1053
|
"Bootc upgrade via Bootc interface": [
|
|
1072
1054
|
""
|
|
1073
1055
|
],
|
|
1056
|
+
"Booted": [
|
|
1057
|
+
""
|
|
1058
|
+
],
|
|
1074
1059
|
"Booted Container Images": [
|
|
1075
1060
|
""
|
|
1076
1061
|
],
|
|
@@ -1539,6 +1524,9 @@
|
|
|
1539
1524
|
"Container image tags": [
|
|
1540
1525
|
""
|
|
1541
1526
|
],
|
|
1527
|
+
"Container images": [
|
|
1528
|
+
""
|
|
1529
|
+
],
|
|
1542
1530
|
"Container manifest lists": [
|
|
1543
1531
|
""
|
|
1544
1532
|
],
|
|
@@ -2052,12 +2040,6 @@
|
|
|
2052
2040
|
"Create organization": [
|
|
2053
2041
|
"建立組織"
|
|
2054
2042
|
],
|
|
2055
|
-
"Create package filter rule": [
|
|
2056
|
-
""
|
|
2057
|
-
],
|
|
2058
|
-
"Create rule": [
|
|
2059
|
-
""
|
|
2060
|
-
],
|
|
2061
2043
|
"Credentials": [
|
|
2062
2044
|
""
|
|
2063
2045
|
],
|
|
@@ -2457,9 +2439,6 @@
|
|
|
2457
2439
|
"Disable Red Hat Insights.": [
|
|
2458
2440
|
""
|
|
2459
2441
|
],
|
|
2460
|
-
"Disable Simple Content Access": [
|
|
2461
|
-
""
|
|
2462
|
-
],
|
|
2463
2442
|
"Disable a repository from the set": [
|
|
2464
2443
|
""
|
|
2465
2444
|
],
|
|
@@ -2523,6 +2502,9 @@
|
|
|
2523
2502
|
"Edit": [
|
|
2524
2503
|
"編輯"
|
|
2525
2504
|
],
|
|
2505
|
+
"Edit DEB rule": [
|
|
2506
|
+
""
|
|
2507
|
+
],
|
|
2526
2508
|
"Edit Flatpak Remote": [
|
|
2527
2509
|
""
|
|
2528
2510
|
],
|
|
@@ -2550,9 +2532,6 @@
|
|
|
2550
2532
|
"Edit filter rule": [
|
|
2551
2533
|
""
|
|
2552
2534
|
],
|
|
2553
|
-
"Edit package filter rule": [
|
|
2554
|
-
""
|
|
2555
|
-
],
|
|
2556
2535
|
"Edit products": [
|
|
2557
2536
|
""
|
|
2558
2537
|
],
|
|
@@ -2595,9 +2574,6 @@
|
|
|
2595
2574
|
"Enable Red Hat repositories": [
|
|
2596
2575
|
""
|
|
2597
2576
|
],
|
|
2598
|
-
"Enable Simple Content Access": [
|
|
2599
|
-
""
|
|
2600
|
-
],
|
|
2601
2577
|
"Enable Tracer": [
|
|
2602
2578
|
""
|
|
2603
2579
|
],
|
|
@@ -3084,6 +3060,9 @@
|
|
|
3084
3060
|
"Generate repository applicability": [
|
|
3085
3061
|
""
|
|
3086
3062
|
],
|
|
3063
|
+
"Generate username and password": [
|
|
3064
|
+
""
|
|
3065
|
+
],
|
|
3087
3066
|
"Generated": [
|
|
3088
3067
|
""
|
|
3089
3068
|
],
|
|
@@ -3507,9 +3486,6 @@
|
|
|
3507
3486
|
"If set, newly created APT repos in Katello will use the same repo structure as the remote repos they are synchronized from. You may migrate existing APT repos to match the setting, by running 'foreman-rake katello:migrate_structure_content_for_deb'.": [
|
|
3508
3487
|
""
|
|
3509
3488
|
],
|
|
3510
|
-
"If specified, remove the first instance of a subscription with matching id and quantity": [
|
|
3511
|
-
"指定後,使用相符的 ID 與數量,移除訂閱服務的第一個項目"
|
|
3512
|
-
],
|
|
3513
3489
|
"If the smart proxies' assigned HTTP proxies should be used": [
|
|
3514
3490
|
""
|
|
3515
3491
|
],
|
|
@@ -3933,6 +3909,9 @@
|
|
|
3933
3909
|
"It's not possible to promote a rolling content view.": [
|
|
3934
3910
|
""
|
|
3935
3911
|
],
|
|
3912
|
+
"It's not possible to provide environment_ids for anything other than a rolling content view.": [
|
|
3913
|
+
""
|
|
3914
|
+
],
|
|
3936
3915
|
"It's not possible to publish a rolling content view.": [
|
|
3937
3916
|
""
|
|
3938
3917
|
],
|
|
@@ -4332,6 +4311,9 @@
|
|
|
4332
4311
|
"List of hypervisor guest uuids": [
|
|
4333
4312
|
""
|
|
4334
4313
|
],
|
|
4314
|
+
"List of lifecycle environments for rolling content views": [
|
|
4315
|
+
""
|
|
4316
|
+
],
|
|
4335
4317
|
"List of package group names (Deprecated)": [
|
|
4336
4318
|
""
|
|
4337
4319
|
],
|
|
@@ -5232,9 +5214,6 @@
|
|
|
5232
5214
|
"Organization ID": [
|
|
5233
5215
|
"組織 ID"
|
|
5234
5216
|
],
|
|
5235
|
-
"Organization ID is required": [
|
|
5236
|
-
""
|
|
5237
|
-
],
|
|
5238
5217
|
"Organization ID or title": [
|
|
5239
5218
|
""
|
|
5240
5219
|
],
|
|
@@ -5718,6 +5697,9 @@
|
|
|
5718
5697
|
"Promotion to Environment": [
|
|
5719
5698
|
""
|
|
5720
5699
|
],
|
|
5700
|
+
"Provide credentials if the registry requires authentication": [
|
|
5701
|
+
""
|
|
5702
|
+
],
|
|
5721
5703
|
"Provide the required information and click {update} below to save changes.": [
|
|
5722
5704
|
""
|
|
5723
5705
|
],
|
|
@@ -5844,15 +5826,6 @@
|
|
|
5844
5826
|
"Quantity of entitlements to bind": [
|
|
5845
5827
|
""
|
|
5846
5828
|
],
|
|
5847
|
-
"Quantity of specified subscription to remove": [
|
|
5848
|
-
""
|
|
5849
|
-
],
|
|
5850
|
-
"Quantity of this subscription to add": [
|
|
5851
|
-
"要新增此訂閱的數量"
|
|
5852
|
-
],
|
|
5853
|
-
"Quantity of this subscriptions to add": [
|
|
5854
|
-
"要新增此訂閱的數量"
|
|
5855
|
-
],
|
|
5856
5829
|
"Quantity to Allocate": [
|
|
5857
5830
|
""
|
|
5858
5831
|
],
|
|
@@ -6021,9 +5994,6 @@
|
|
|
6021
5994
|
"Register a host with subscription and information": [
|
|
6022
5995
|
""
|
|
6023
5996
|
],
|
|
6024
|
-
"Register host '%s' before attaching subscriptions": [
|
|
6025
|
-
""
|
|
6026
|
-
],
|
|
6027
5997
|
"Registered": [
|
|
6028
5998
|
"已註冊"
|
|
6029
5999
|
],
|
|
@@ -6168,18 +6138,6 @@
|
|
|
6168
6138
|
"Remove products from sync plan": [
|
|
6169
6139
|
"從同步計畫中移除產品"
|
|
6170
6140
|
],
|
|
6171
|
-
"Remove subscriptions": [
|
|
6172
|
-
"移除訂閱服務"
|
|
6173
|
-
],
|
|
6174
|
-
"Remove subscriptions from %s": [
|
|
6175
|
-
"從 %s 移除訂閱服務"
|
|
6176
|
-
],
|
|
6177
|
-
"Remove subscriptions from a host": [
|
|
6178
|
-
""
|
|
6179
|
-
],
|
|
6180
|
-
"Remove subscriptions from one or more hosts": [
|
|
6181
|
-
""
|
|
6182
|
-
],
|
|
6183
6141
|
"Remove versions and/or environments from a content view and reassign systems and keys": [
|
|
6184
6142
|
"從內容視域中移除版本且(或)環境,並重新指定系統與金鑰"
|
|
6185
6143
|
],
|
|
@@ -6399,6 +6357,9 @@
|
|
|
6399
6357
|
"Return Red Hat (non-custom) products only": [
|
|
6400
6358
|
""
|
|
6401
6359
|
],
|
|
6360
|
+
"Return a list of installed debs distinct by name": [
|
|
6361
|
+
""
|
|
6362
|
+
],
|
|
6402
6363
|
"Return a list of installed packages distinct by name": [
|
|
6403
6364
|
""
|
|
6404
6365
|
],
|
|
@@ -6579,6 +6540,9 @@
|
|
|
6579
6540
|
"Save": [
|
|
6580
6541
|
"儲存"
|
|
6581
6542
|
],
|
|
6543
|
+
"Save Environments": [
|
|
6544
|
+
""
|
|
6545
|
+
],
|
|
6582
6546
|
"Saving alternate content source...": [
|
|
6583
6547
|
""
|
|
6584
6548
|
],
|
|
@@ -6825,10 +6789,13 @@
|
|
|
6825
6789
|
"Service Level (SLA)": [
|
|
6826
6790
|
""
|
|
6827
6791
|
],
|
|
6792
|
+
"Service level": [
|
|
6793
|
+
""
|
|
6794
|
+
],
|
|
6828
6795
|
"Service level of host": [
|
|
6829
6796
|
""
|
|
6830
6797
|
],
|
|
6831
|
-
"Service level
|
|
6798
|
+
"Service level, e.g. SELF-SUPPORT": [
|
|
6832
6799
|
""
|
|
6833
6800
|
],
|
|
6834
6801
|
"Set content overrides": [
|
|
@@ -6855,9 +6822,6 @@
|
|
|
6855
6822
|
"Sets the system purpose usage": [
|
|
6856
6823
|
""
|
|
6857
6824
|
],
|
|
6858
|
-
"Sets whether the Host will autoheal subscriptions upon checkin": [
|
|
6859
|
-
""
|
|
6860
|
-
],
|
|
6861
6825
|
"Setting 'default_location_subscribed_hosts' is not set to a valid location.": [
|
|
6862
6826
|
""
|
|
6863
6827
|
],
|
|
@@ -7008,6 +6972,9 @@
|
|
|
7008
6972
|
"Smart proxy name": [
|
|
7009
6973
|
""
|
|
7010
6974
|
],
|
|
6975
|
+
"Smart proxy verify content checksum has started in the background": [
|
|
6976
|
+
""
|
|
6977
|
+
],
|
|
7011
6978
|
"Sockets": [
|
|
7012
6979
|
"插槽"
|
|
7013
6980
|
],
|
|
@@ -7122,7 +7089,7 @@
|
|
|
7122
7089
|
"Something went wrong while refreshing alternate content sources: ": [
|
|
7123
7090
|
""
|
|
7124
7091
|
],
|
|
7125
|
-
"Something went wrong while refreshing content counts: ${getResponseErrorMsgs(error
|
|
7092
|
+
"Something went wrong while refreshing content counts: ${getResponseErrorMsgs(error?.response)}": [
|
|
7126
7093
|
""
|
|
7127
7094
|
],
|
|
7128
7095
|
"Something went wrong while removing a filter rule! ${getResponseErrorMsgs(error.response)}": [
|
|
@@ -7191,6 +7158,9 @@
|
|
|
7191
7158
|
"Something went wrong while updating the content source. See the logs for more information": [
|
|
7192
7159
|
""
|
|
7193
7160
|
],
|
|
7161
|
+
"Something went wrong while verifying content checksums: ${getResponseErrorMsgs(error?.response)}": [
|
|
7162
|
+
""
|
|
7163
|
+
],
|
|
7194
7164
|
"Something went wrong! Please check server logs!": [
|
|
7195
7165
|
""
|
|
7196
7166
|
],
|
|
@@ -7278,9 +7248,6 @@
|
|
|
7278
7248
|
"Subscription Details": [
|
|
7279
7249
|
"訂閱詳細資訊"
|
|
7280
7250
|
],
|
|
7281
|
-
"Subscription ID": [
|
|
7282
|
-
"訂閱 ID"
|
|
7283
|
-
],
|
|
7284
7251
|
"Subscription Info": [
|
|
7285
7252
|
"訂閱服務資訊"
|
|
7286
7253
|
],
|
|
@@ -7296,12 +7263,6 @@
|
|
|
7296
7263
|
"Subscription Name": [
|
|
7297
7264
|
""
|
|
7298
7265
|
],
|
|
7299
|
-
"Subscription Pool id": [
|
|
7300
|
-
"訂閱集區 ID"
|
|
7301
|
-
],
|
|
7302
|
-
"Subscription Pool uuid": [
|
|
7303
|
-
"訂閱集區的 UUID"
|
|
7304
|
-
],
|
|
7305
7266
|
"Subscription UUID": [
|
|
7306
7267
|
""
|
|
7307
7268
|
],
|
|
@@ -7470,6 +7431,9 @@
|
|
|
7470
7431
|
"Synced Content": [
|
|
7471
7432
|
"已同步內容"
|
|
7472
7433
|
],
|
|
7434
|
+
"Synced container images content": [
|
|
7435
|
+
""
|
|
7436
|
+
],
|
|
7473
7437
|
"Synchronize": [
|
|
7474
7438
|
"同步"
|
|
7475
7439
|
],
|
|
@@ -7719,9 +7683,6 @@
|
|
|
7719
7683
|
"The selected/Inherited Content View is not available for this Lifecycle Environment": [
|
|
7720
7684
|
""
|
|
7721
7685
|
],
|
|
7722
|
-
"The specified organization is in Simple Content Access mode. Attaching subscriptions is disabled": [
|
|
7723
|
-
""
|
|
7724
|
-
],
|
|
7725
7686
|
"The subscription cannot be found upstream": [
|
|
7726
7687
|
""
|
|
7727
7688
|
],
|
|
@@ -7863,12 +7824,6 @@
|
|
|
7863
7824
|
"This host is associated with multiple content view environments. If you assign a lifecycle environment and content view here, the host will be removed from the other environments.": [
|
|
7864
7825
|
""
|
|
7865
7826
|
],
|
|
7866
|
-
"This host's organization is in Simple Content Access mode. Attaching subscriptions is disabled.": [
|
|
7867
|
-
""
|
|
7868
|
-
],
|
|
7869
|
-
"This host's organization is in Simple Content Access mode. Auto-attach is disabled": [
|
|
7870
|
-
""
|
|
7871
|
-
],
|
|
7872
7827
|
"This is disabled because a manifest task is in progress": [
|
|
7873
7828
|
""
|
|
7874
7829
|
],
|
|
@@ -7947,6 +7902,9 @@
|
|
|
7947
7902
|
"To change content view environments, a specific organization must be selected from the organization context.": [
|
|
7948
7903
|
""
|
|
7949
7904
|
],
|
|
7905
|
+
"To continue with Red Hat Flatpak remote, you need to generate your username and password in": [
|
|
7906
|
+
""
|
|
7907
|
+
],
|
|
7950
7908
|
"To enable the synced content option, this host must use a content source, content view, and lifecycle environment which contain synced kickstart repositories for the selected architecture and operating system.": [
|
|
7951
7909
|
""
|
|
7952
7910
|
],
|
|
@@ -8022,12 +7980,6 @@
|
|
|
8022
7980
|
"Traffic for all alternate content sources associated with this smart proxy will go through the chosen HTTP proxy.": [
|
|
8023
7981
|
""
|
|
8024
7982
|
],
|
|
8025
|
-
"Trigger an auto-attach of subscriptions": [
|
|
8026
|
-
"觸發自動連接訂閱服務"
|
|
8027
|
-
],
|
|
8028
|
-
"Trigger an auto-attach of subscriptions on one or more hosts": [
|
|
8029
|
-
""
|
|
8030
|
-
],
|
|
8031
7983
|
"Try changing your search criteria.": [
|
|
8032
7984
|
""
|
|
8033
7985
|
],
|
|
@@ -8181,9 +8133,6 @@
|
|
|
8181
8133
|
"Unapplied Errata": [
|
|
8182
8134
|
"未套用的勘誤"
|
|
8183
8135
|
],
|
|
8184
|
-
"Unattach a subscription": [
|
|
8185
|
-
"取消訂閱的連結"
|
|
8186
|
-
],
|
|
8187
8136
|
"Unfiltered params array: %s.": [
|
|
8188
8137
|
""
|
|
8189
8138
|
],
|
|
@@ -8538,6 +8487,9 @@
|
|
|
8538
8487
|
"Value must either be a boolean or 'default' for 'enabled'": [
|
|
8539
8488
|
""
|
|
8540
8489
|
],
|
|
8490
|
+
"Verify Content Checksum": [
|
|
8491
|
+
""
|
|
8492
|
+
],
|
|
8541
8493
|
"Verify SSL": [
|
|
8542
8494
|
"驗證 SSL"
|
|
8543
8495
|
],
|
|
@@ -8622,6 +8574,9 @@
|
|
|
8622
8574
|
"View by": [
|
|
8623
8575
|
""
|
|
8624
8576
|
],
|
|
8577
|
+
"View container images in the local registry using the Synced tab. View container images booted by image mode hosts using the Booted tab. The Booted tab also shows images outside of the local container registry.": [
|
|
8578
|
+
""
|
|
8579
|
+
],
|
|
8625
8580
|
"View content views": [
|
|
8626
8581
|
""
|
|
8627
8582
|
],
|
|
@@ -8910,9 +8865,6 @@
|
|
|
8910
8865
|
"attempted to sync without a feed URL": [
|
|
8911
8866
|
"試圖在沒有 feed URL 的情況下同步"
|
|
8912
8867
|
],
|
|
8913
|
-
"auto attach subscriptions upon registration": [
|
|
8914
|
-
"註冊後自動連接訂閱"
|
|
8915
|
-
],
|
|
8916
8868
|
"base url to perform repo discovery on": [
|
|
8917
8869
|
"進行軟體庫復原的基礎網址"
|
|
8918
8870
|
],
|
|
@@ -9549,9 +9501,6 @@
|
|
|
9549
9501
|
"start datetime of synchronization": [
|
|
9550
9502
|
"開始同步的日期與時間"
|
|
9551
9503
|
],
|
|
9552
|
-
"subscriptions not specified": [
|
|
9553
|
-
"未指定訂閱服務"
|
|
9554
|
-
],
|
|
9555
9504
|
"sync plan description": [
|
|
9556
9505
|
"同步計畫的描述"
|
|
9557
9506
|
],
|
|
@@ -7,6 +7,7 @@ module Katello
|
|
|
7
7
|
skip_before_action :authorize
|
|
8
8
|
before_action :optional_authorize, only: [:token, :catalog]
|
|
9
9
|
before_action :registry_authorize, except: [:token, :v1_search, :catalog, :static_index]
|
|
10
|
+
before_action :static_index_authorize, only: [:static_index]
|
|
10
11
|
before_action :authorize_repository_read, only: [:pull_manifest, :tags_list, :check_blob, :pull_blob]
|
|
11
12
|
before_action :container_push_prop_validation, only: [:start_upload_blob, :upload_blob, :finish_upload_blob, :push_manifest]
|
|
12
13
|
before_action :create_container_repo_if_needed, only: [:start_upload_blob, :upload_blob, :finish_upload_blob, :push_manifest]
|
|
@@ -63,7 +64,7 @@ module Katello
|
|
|
63
64
|
"scope=\"repository:registry:pull,push\""
|
|
64
65
|
end
|
|
65
66
|
|
|
66
|
-
def
|
|
67
|
+
def authenticate_from_request(token, redirect_on_failure = true)
|
|
67
68
|
if token
|
|
68
69
|
token_type, token = token.split
|
|
69
70
|
if token_type == 'Bearer' && token
|
|
@@ -94,7 +95,7 @@ module Katello
|
|
|
94
95
|
if @repository && (@repository.environment.registry_unauthenticated_pull || ssl_client_authorized?(@repository.organization.label))
|
|
95
96
|
true
|
|
96
97
|
elsif params['action'] == 'catalog'
|
|
97
|
-
|
|
98
|
+
authenticate_from_request(request.headers['Authorization'], false)
|
|
98
99
|
elsif (params['action'] == 'token' && params['scope'].blank? && params['account'].blank?)
|
|
99
100
|
true
|
|
100
101
|
else
|
|
@@ -106,13 +107,26 @@ module Katello
|
|
|
106
107
|
@repository = find_readable_repository
|
|
107
108
|
return true if ['GET', 'HEAD'].include?(request.method) && @repository && !require_user_authorization?
|
|
108
109
|
|
|
109
|
-
|
|
110
|
+
return true if authenticate_from_request(request.headers['Authorization'])
|
|
110
111
|
|
|
111
|
-
|
|
112
|
+
unauthorized
|
|
113
|
+
end
|
|
112
114
|
|
|
115
|
+
def static_index_authorize
|
|
116
|
+
authenticate_from_request(request.headers['Authorization'])
|
|
117
|
+
find_host_by_ip unless @host
|
|
118
|
+
true
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def find_host_by_ip
|
|
122
|
+
host_ip = request.remote_ip
|
|
123
|
+
@host = ::Host.joins(:primary_interface).where("nics.ip = :host_ip OR nics.ip6 = :host_ip", host_ip: host_ip)&.first
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def unauthorized
|
|
113
127
|
redirect_authorization_headers
|
|
114
128
|
render_error('unauthorized', :status => :unauthorized)
|
|
115
|
-
|
|
129
|
+
false
|
|
116
130
|
end
|
|
117
131
|
|
|
118
132
|
def container_push_prop_validation(props = nil)
|
|
@@ -416,7 +430,12 @@ module Katello
|
|
|
416
430
|
)
|
|
417
431
|
end
|
|
418
432
|
|
|
419
|
-
|
|
433
|
+
# Fetch version PRN from Pulp API
|
|
434
|
+
# FIXME: Remove this workaround when https://github.com/pulp/pulpcore/issues/7008 is resolved
|
|
435
|
+
version_response = pulp_api.repository_versions_api.read(latest_version_href, {fields: 'prn'})
|
|
436
|
+
latest_version_prn = version_response&.prn
|
|
437
|
+
|
|
438
|
+
instance_repo.update!(version_href: latest_version_href, version_prn: latest_version_prn)
|
|
420
439
|
# The Pulp repository should not change after first creation
|
|
421
440
|
if root_repository.repository_references.empty?
|
|
422
441
|
::Katello::Pulp3::RepositoryReference.where(root_repository_id: instance_repo.root_id,
|
|
@@ -432,6 +451,7 @@ module Katello
|
|
|
432
451
|
instance_repo = root_repository&.library_instance
|
|
433
452
|
distribution_api_response = pulp_api.container_push_distribution_for_repository(pulp_repo_href)
|
|
434
453
|
pulp_distribution_href = distribution_api_response&.pulp_href
|
|
454
|
+
pulp_distribution_prn = distribution_api_response&.prn
|
|
435
455
|
|
|
436
456
|
if pulp_distribution_href.empty?
|
|
437
457
|
return render_podman_error(
|
|
@@ -445,11 +465,12 @@ module Katello
|
|
|
445
465
|
repository_id: instance_repo.id).first
|
|
446
466
|
if dist
|
|
447
467
|
if dist.href != pulp_distribution_href
|
|
448
|
-
dist.update(href: pulp_distribution_href)
|
|
468
|
+
dist.update(href: pulp_distribution_href, prn: pulp_distribution_prn)
|
|
449
469
|
end
|
|
450
470
|
else
|
|
451
471
|
::Katello::Pulp3::DistributionReference.create!(path: @container_path_input,
|
|
452
472
|
href: pulp_distribution_href,
|
|
473
|
+
prn: pulp_distribution_prn,
|
|
453
474
|
repository_id: instance_repo.id)
|
|
454
475
|
end
|
|
455
476
|
end
|
|
@@ -851,12 +872,20 @@ module Katello
|
|
|
851
872
|
end
|
|
852
873
|
|
|
853
874
|
def static_index
|
|
854
|
-
host_ip = request.remote_ip
|
|
855
|
-
@host ||= ::Host.joins(:primary_interface).where("nics.ip = :host_ip OR nics.ip6 = :host_ip", host_ip: host_ip)&.first
|
|
856
|
-
flatpak_index = (redirect_client { Resources::Registry::Proxy.get(@_request.fullpath, headers) })
|
|
857
|
-
flatpak_index_json = JSON.parse(flatpak_index)
|
|
858
875
|
repos = Repository.readable_docker_catalog(@host)
|
|
859
|
-
|
|
876
|
+
return render json: { 'Registry' => request_url, 'Results' => [] } if repos.empty?
|
|
877
|
+
|
|
878
|
+
available_container_repo_names = repos.map(&:container_repository_name).compact
|
|
879
|
+
|
|
880
|
+
flatpak_index = (redirect_client { Resources::Registry::Proxy.get(@_request.fullpath, headers) })
|
|
881
|
+
|
|
882
|
+
begin
|
|
883
|
+
flatpak_index_json = JSON.parse(flatpak_index)
|
|
884
|
+
rescue JSON::ParserError => e
|
|
885
|
+
Rails.logger.error("Failed to parse flatpak index JSON: #{e.message}")
|
|
886
|
+
return render json: { 'Registry' => request_url, 'Results' => [] }
|
|
887
|
+
end
|
|
888
|
+
|
|
860
889
|
flatpak_index_json['Results'] = flatpak_index_json['Results'].select do |result|
|
|
861
890
|
available_container_repo_names.include?(result['Name'])
|
|
862
891
|
end
|
|
@@ -447,7 +447,7 @@ module Katello
|
|
|
447
447
|
end
|
|
448
448
|
|
|
449
449
|
def rhsm_params
|
|
450
|
-
params.slice(:name, :type, :facts, :installedProducts, :
|
|
450
|
+
params.slice(:name, :type, :facts, :installedProducts, :releaseVer, :usage, :role, :serviceLevel, :uuid, :capabilities, :guestIds, :lastCheckin).to_h
|
|
451
451
|
end
|
|
452
452
|
|
|
453
453
|
def logger
|
|
@@ -7,13 +7,11 @@ module Katello
|
|
|
7
7
|
before_action :find_optional_organization, :only => [:index, :create, :show]
|
|
8
8
|
before_action :find_authorized_katello_resource, :only => [:show, :update, :destroy, :available_releases,
|
|
9
9
|
:available_host_collections, :add_host_collections, :remove_host_collections,
|
|
10
|
-
:content_override, :
|
|
11
|
-
:subscriptions]
|
|
10
|
+
:content_override, :subscriptions]
|
|
12
11
|
before_action :find_content_view_environments, :only => [:create, :update]
|
|
13
|
-
before_action :verify_simple_content_access_disabled, :only => [:add_subscriptions]
|
|
14
12
|
before_action :validate_release_version, :only => [:create, :update]
|
|
15
13
|
|
|
16
|
-
wrap_parameters :include => (ActivationKey.attribute_names + %w(host_collection_ids service_level
|
|
14
|
+
wrap_parameters :include => (ActivationKey.attribute_names + %w(host_collection_ids service_level purpose_role purpose_usage content_view_environments))
|
|
17
15
|
|
|
18
16
|
def_param_group :activation_key do
|
|
19
17
|
param :organization_id, :number, :desc => N_("organization identifier"), :required => true
|
|
@@ -22,7 +20,6 @@ module Katello
|
|
|
22
20
|
param :unlimited_hosts, :bool, :desc => N_("can the activation key have unlimited hosts")
|
|
23
21
|
param :release_version, String, :desc => N_("content release version")
|
|
24
22
|
param :service_level, String, :desc => N_("service level")
|
|
25
|
-
param :auto_attach, :bool, :desc => N_("auto attach subscriptions upon registration"), deprecated: true
|
|
26
23
|
param :purpose_usage, String, :desc => N_("Sets the system purpose usage")
|
|
27
24
|
param :purpose_role, String, :desc => N_("Sets the system purpose usage")
|
|
28
25
|
|
|
@@ -125,8 +122,7 @@ module Katello
|
|
|
125
122
|
@new_activation_key.reload
|
|
126
123
|
sync_task(::Actions::Katello::ActivationKey::Update, @new_activation_key,
|
|
127
124
|
:service_level => @activation_key.service_level,
|
|
128
|
-
:release_version => @activation_key.release_version
|
|
129
|
-
:auto_attach => @activation_key.auto_attach
|
|
125
|
+
:release_version => @activation_key.release_version
|
|
130
126
|
)
|
|
131
127
|
@activation_key.pools.each do |pool|
|
|
132
128
|
@new_activation_key.subscribe(pool[:id])
|
|
@@ -181,46 +177,6 @@ module Katello
|
|
|
181
177
|
respond_for_show(:resource => @activation_key)
|
|
182
178
|
end
|
|
183
179
|
|
|
184
|
-
def deprecate_entitlement_mode_endpoint
|
|
185
|
-
::Foreman::Deprecation.api_deprecation_warning(N_("This endpoint is deprecated and will be removed in an upcoming release. Simple Content Access is the only supported content access mode."))
|
|
186
|
-
end
|
|
187
|
-
|
|
188
|
-
api :PUT, "/activation_keys/:id/add_subscriptions", N_("Attach a subscription"), deprecated: true
|
|
189
|
-
param :id, :number, :desc => N_("ID of the activation key"), :required => true
|
|
190
|
-
param :subscription_id, :number, :desc => N_("Subscription identifier"), :required => false
|
|
191
|
-
param :quantity, :number, :desc => N_("Quantity of this subscription to add"), :required => false
|
|
192
|
-
param :subscriptions, Array, :desc => N_("Array of subscriptions to add"), :required => false do
|
|
193
|
-
param :id, String, :desc => N_("Subscription Pool uuid"), :required => false
|
|
194
|
-
param :quantity, :number, :desc => N_("Quantity of this subscriptions to add"), :required => false
|
|
195
|
-
end
|
|
196
|
-
def add_subscriptions
|
|
197
|
-
deprecate_entitlement_mode_endpoint
|
|
198
|
-
if params[:subscriptions]
|
|
199
|
-
params[:subscriptions].each { |subscription| @activation_key.subscribe(subscription[:id], subscription[:quantity]) }
|
|
200
|
-
elsif params[:subscription_id]
|
|
201
|
-
@activation_key.subscribe(params[:subscription_id], params[:quantity])
|
|
202
|
-
end
|
|
203
|
-
|
|
204
|
-
respond_for_index(:collection => subscription_index, :template => 'subscriptions')
|
|
205
|
-
end
|
|
206
|
-
|
|
207
|
-
api :PUT, "/activation_keys/:id/remove_subscriptions", N_("Unattach a subscription"), deprecated: true
|
|
208
|
-
param :id, :number, :desc => N_("ID of the activation key"), :required => true
|
|
209
|
-
param :subscription_id, String, :desc => N_("Subscription ID"), :required => false
|
|
210
|
-
param :subscriptions, Array, :desc => N_("Array of subscriptions to add"), :required => false do
|
|
211
|
-
param :id, String, :desc => N_("Subscription Pool uuid"), :required => false
|
|
212
|
-
end
|
|
213
|
-
def remove_subscriptions
|
|
214
|
-
deprecate_entitlement_mode_endpoint
|
|
215
|
-
if params[:subscriptions]
|
|
216
|
-
params[:subscriptions].each { |subscription| @activation_key.unsubscribe(subscription[:id]) }
|
|
217
|
-
elsif params[:subscription_id]
|
|
218
|
-
@activation_key.unsubscribe(params[:subscription_id])
|
|
219
|
-
end
|
|
220
|
-
|
|
221
|
-
respond_for_index(:collection => subscription_index, :template => 'subscriptions')
|
|
222
|
-
end
|
|
223
|
-
|
|
224
180
|
api :PUT, "/activation_keys/:id/content_override", N_("Override content for activation_key")
|
|
225
181
|
param :id, :number, :desc => N_("ID of the activation key"), :required => true
|
|
226
182
|
param :content_overrides, Array, :desc => N_("Array of Content override parameters to be added in bulk") do
|
|
@@ -273,17 +229,6 @@ module Katello
|
|
|
273
229
|
|
|
274
230
|
private
|
|
275
231
|
|
|
276
|
-
def subscription_index
|
|
277
|
-
subs = @activation_key.subscriptions
|
|
278
|
-
{
|
|
279
|
-
:results => subs,
|
|
280
|
-
:subtotal => subs.count,
|
|
281
|
-
:total => subs.count,
|
|
282
|
-
:page => 1,
|
|
283
|
-
:per_page => subs.count,
|
|
284
|
-
}
|
|
285
|
-
end
|
|
286
|
-
|
|
287
232
|
def find_cve_for_single
|
|
288
233
|
environment_id = params.dig(:environment, :id) || params[:environment_id]
|
|
289
234
|
content_view_id = params.dig(:content_view, :id) || params[:content_view_id]
|
|
@@ -379,7 +324,6 @@ module Katello
|
|
|
379
324
|
:content_view_id,
|
|
380
325
|
:release_version,
|
|
381
326
|
:service_level,
|
|
382
|
-
:auto_attach,
|
|
383
327
|
:max_hosts,
|
|
384
328
|
:unlimited_hosts,
|
|
385
329
|
:purpose_role,
|
|
@@ -408,12 +352,6 @@ module Katello
|
|
|
408
352
|
key_params
|
|
409
353
|
end
|
|
410
354
|
|
|
411
|
-
def verify_simple_content_access_disabled
|
|
412
|
-
if @activation_key.organization.simple_content_access?
|
|
413
|
-
fail HttpErrors::BadRequest, _("The specified organization is in Simple Content Access mode. Attaching subscriptions is disabled")
|
|
414
|
-
end
|
|
415
|
-
end
|
|
416
|
-
|
|
417
355
|
def validate_release_version
|
|
418
356
|
@organization ||= find_organization
|
|
419
357
|
if params[:release_version].present? && !@organization.library.available_releases.include?(params[:release_version])
|