Skip to content
This repository was archived by the owner on Sep 5, 2025. It is now read-only.
This repository was archived by the owner on Sep 5, 2025. It is now read-only.

[RFC] "raw" pulp api providers. #253

@LadyNamedLaura

Description

@LadyNamedLaura

Hej,

I have some time coming up where I can invest some time and energy into pulp puppet code.
I would like to get https://github.com/SimonPe/puppet-pulpapi merged into puppet-pulp in some way/shape/form.

These providers map 1-on-1 to the pulp api. The idea is that once the objects in the rest api can be managed by the providers, we can build our own abstraction layers in defined types. (Once we have a solid ruby base, other people can stick to normal puppet code)

The main issue here is what to do with the current types/providers and their users. If we start using the straight api calls with these low-level types, we can no longer decently combine them with the existing pulp-admin types.

To ease the migration there are a couple of options.

  • put a big fat WARNING in the readme (that everybody will ignore) not to combine these 2 types of types
  • put a deprecation warning on the old types
  • build defined types that mirrors the current native types as close as possible (though they will need to use a different name due to the module scope)
    ofc, we also should probably have a major version release.

I would also love to have some feedback on authentication.
Currently these types and providers use credentials (user/password) stored by puppet in a little json file in $vardir.
This has always looked sub-ideal to me, but I'm not sure what the better way to go is. Any ideas wrt this are welcome.

Any feedback welcome.

ps: cc'ing ~ anybody i can find here with interest in these types providers.
cc: @ehelms @ekohl @joshuabaird @cristifalcas @rgarrigue

pps: wrt the defined types to replace the current native types: I don't plan on reducing any functionality.
ppps: yes, the whole code will get a thorough cleanup before i post a pr.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions