feat: custom repositories. - #319
Conversation
|
Thanks for your contribution @oxpa. Slices in a given release form a coupled set, ensuring no conflicts exists between any two slices. For that the release is validated by Chisel. On a regular basis the release is also validated against the actual content of packages coming from the archive. Opening this mechanism to third-party repositories would require careful consideration, regardless of the difficulty of the implementation, to ensure Chisel can still keep the strong promises it makes. You may solve you problem by setting up an archive mirror/proxy where you would host your version of nginx. See #135 (comment) for a related discussion. Supporting mirror in a nice way is also considered for our next roadmap. |
|
I don't quite get how the "Slices in a given release form a coupled set" idea is related to what I'm trying to achieve. Nor do I understand how #135 answers my concerns. Let's assume that I'm a software vendor and I provide a piece of software to customers. I package it into an ubuntu package and I host it in a repository. It's not an ubuntu mirror, it's a good old apt repository. And any paying customer gets access to this repository. A customer comes to me, tells me that they are building a docker image using chisel and would like to install my piece of software into an image. What do I tell my customer? How do they install my piece of software into a chisel "carved" ubuntu image? In my head a reasonable approach would be: I provide them with a chisel release or a guide on how to configure chisel + a set of slices. Now let's assume I have a mirror of archive.ubuntu.com. How does it help me to distribute my software? |
This PR adds (rather crude) support for third party repositories.
I'm trying to build a custom image for nginx (and later - nginx-plus).
Chisel seems like a good tool for the task. But it doesn't support third party repositories.
To work around this issue I added 'url' field into chisel.yaml. This allows one to add an archive like this:
And then add some slices into chisel-release to install from the new repository.
I'm not sure if I have to bump any versions. I would appreciate help with this.