Skip to content

Conversation

@hstct
Copy link
Contributor

@hstct hstct commented Nov 14, 2025

What are the changes introduced in this pull request?

  1. Extends Alternate Content Sources with Debian Content
  2. Updates the UI and Creation Wizard to include Debian
  3. Add tests

Considerations taken when implementing this change?

  • Debian Remotes require a distributions parameter. So it has been added to the creation process.
  • components and architectures fields have been included to match sync.
  • The ACS provides a subpaths parameter and is not used by debian ACS.
    • It's not showing up in the UI for debian.
    • There is no validation however, because it's validated directly in pulp.

What are the testing steps for this pull request?

  • Create a new ACS with debian content
  • (more to come)

Summary by Sourcery

Add full Debian content support for Alternate Content Sources by extending the database schema, model validations, API, UI wizard, and Pulp3 orchestration workflows, accompanied by extensive test coverage.

New Features:

  • Add Debian support to Alternate Content Sources including custom and simplified deb types
  • Enhance the ACS creation wizard and finish step UI to configure Debian distributions, components, and architectures
  • Implement Pulp3 backend service support for creating, updating, refreshing, and deleting Debian ACS remotes

Enhancements:

  • Add model validations, normalization, and Rails migration for deb-specific fields (distributions, components, architectures)
  • Extend API controller and parameter preprocessing to handle Debian fields
  • Update smart proxy cleanup logic to include deb ACS deletion

Tests:

  • Add comprehensive tests covering controller actions, orchestration workflows, model validations, UI wizard interactions, and content view deb filters and rules
  • Add integration test for apt sync with Debian ACS

param :description, String, desc: N_("Description for the alternate content source"), required: false
param :base_url, String, desc: N_('Base URL for finding alternate content'), required: false
param :subpaths, Array, desc: N_('Path suffixes for finding alternate content'), required: false
param :deb_releases, String, desc: N_('Debian releases/distributions (e.g., bookworm, bullseye)'), required: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
param :deb_releases, String, desc: N_('Debian releases/distributions (e.g., bookworm, bullseye)'), required: false
param :deb_releases, String, desc: N_('Debian releases/distributions (e.g., trixie, bookworm)'), required: false

suggestion to use latest two codenames as example.

@quba42
Copy link
Contributor

quba42 commented Nov 26, 2025

Just adding some ToDo reminders for ourselves:

  • hammer-cli-katello PR
  • foreman-documentation PR
  • pulp_deb side feature: Part of pulp_deb 3.8.0, requires pulpcore>=3.75.0,<3.100, pulpcore 3.85 is part of Katello 4.19
    • foreman-packaging PR (rubygem client)
    • pulpcore-packaging PR

@hstct
Copy link
Contributor Author

hstct commented Nov 26, 2025

once pulp_deb 3.8.0 is available in foreman-packaging we need to re-record the vcr tests also

Fix assertion. We changed the naming of Deb fields like Distributions
some time before merging and this wasn't adapted.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants