<style> .reveal { font-size: 20px; } </style> # An Independent use case for Pulp3! slide: https://hackmd.io/@7B48TX6MTduCbbsXEfjveg/rJxMYkQvK --- A brief presentation around - Why we chose Pulp to manage our RPM content - What we were looking for - Where we have got to --- ## Who am I? - Linux admin with 20+ years of experience - Transitioned to Python development within the Systems Administration space --- ### What I dealt with in the past - 3rd party products that just didn't get it or - Reposync to pull content down - Dumb directories, with elaborate hardlinks - createrepo and rsync - RPM's only --- ### What we were looking to achieve - An organic solution that will grow with us - Something that was flexible and would fit in with our existing process - Can work with our existing tooling - Efficient use of storage - Extensible - Provides Authentication and Authorisation - Facilitate the patching of our estate --- ### Pulp2 - Our first attempt - I don't like mongo (sorry mongo devs) - Time taken to publish repositories, and when that publishing occurred - This resulted in compromises as to how we merged in our changes - Even with these compromises, creating a release started at 2 hours, but grew to 6 by the time we migrated away from Pulp2 - Write our own tooling to find the differences between release A and release B --- ### Pulp3 - What we got for free - Pulp3 did a really good job of giving us a relatively blank canvas for RPM repository management. - Native python3 bindings for us to use in our tooling - Each repository is versioned, this was a big thing. - Efficient use of storage (as with pulp2) - Single tool change to work with multiple content types (as with pulp2) - Everything you'd expect when it comes to content syncing and publishing - An exceptionally (long may it stay) supportive team --- ### Pulp3 - What we had to do A lot more than I thought at first. - Learn new terminology - Re-implment things we had got for free with pulp-admin - Everything else --- #### Repositories - Creating all the different types of repositories - Deleting, listing, updating - Controlling their synchronisation --- #### Content - Adding locally created content - Moving content between repositories - Deleting content (and artefacts) - Finding content --- #### Tasks - Monitoring - Cancelling - Getting task details --- #### Release Management - Creating a releases - Merging into a releases - Reviewing what is in a release - Global distribution --- ### Pulp3 - Problems - Authentication and Authorisation - Time to generate reports - Confidently removing "bad" content for good --- ### What next - An organic solution that will grow with us - Support for additional plugins like File and Container - Writing our own plugins e.g. lxd images - General tooling improvements - House keeping --- ### Questions? --- ### Thank you You can find me on - Pulp IRC (matrix) as Wibbit
{"metaMigratedAt":"2023-06-16T13:56:17.493Z","metaMigratedFrom":"YAML","title":"An independent use case for Pulp3","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"ec1e3c4d-7e8c-4ddb-826d-bb1711f8ef7a\",\"add\":5542,\"del\":5568}]"}
    294 views