<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}]"}