pulp / pulpcore

Pulp 3 pulpcore package https://pypi.org/project/pulpcore/
GNU General Public License v2.0
302 stars 116 forks source link

Provide basic gpg public key management #3024

Closed mdellweg closed 4 weeks ago

mdellweg commented 2 years ago

Is your feature request related to a problem? Please describe. Pulp needs to handle public keys in some places. They are used for verifying uploaded or synced artifacts, and they may be exposed as part of a publication.

Describe the solution you'd like

Describe alternatives you've considered We discussed whether keys should be content or a standalone generic model. But the benefits from handling keys as content is overwhelming.

Additional context This is not about private keys. Pulp will never set out to handle anything as sensitive as a private key. For signing we introduced the signing service already to handle all cases including the ones where you never get hold of the key itself.

bmbouter commented 2 years ago

The upside of having them be content is that they can be associated with repositories themselves if that is what plugin writers want. Also you get import/export and RBAC at low-cost then too.

The big benefit I see for this is the deduplication of the keys. Users wouldn't have to keep providing them over and over, and then if they ever change (rotation, perhaps?) you can update 1 object instead of N.

Overall (and without more details) this is all sounding good.

ipanova commented 2 years ago

@rochacbruno PTAL when you have time.

pedro-psb commented 4 months ago

(just connecting the dots, because I was reading this comment). This feature request should benefit from the proposal here.

netsandbox commented 2 weeks ago

@mdellweg where can I find the documentation for this new feature?

mdellweg commented 1 week ago

There is none yet. Also work is meant as an enabler for other ideas. What is currently possible: Create and distribute a "keyring" repository. Upload public keys into it. Download them through the distribution again. Reupload the same keys with additional signatures.