-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possibility of allowing Chef's omnitruck to install community distibutions #409
Comments
Ramereth pointed out mixlib-install's PRODUCT_MATRIX ( https://github.com/chef/mixlib-install/blob/e930c83b0ee9fe594194dd40ae83c7af9f026fe2/lib/mixlib/install/product.rb#L197 ) as something else that would need to be addressed. It looks like it already supports overriding the source, so we could make it a Dist constant too. Perhaps we could go so far as to externalize the product matrix and feed it in as JSON or something. I'm mentioning it here to minimize the "surface" of this issue but let me know if you prefer I open a separate issue against that repo |
You are struggling with years of software architecture that was never designed or implemented to meet the use case of multiple distributions. I personally have a lot of empathy for that challenge. |
Just wanted to jump in and add some more context to what @cscobie said. I believe the best way forward here would be:
At this current time Chef Software doesn't have the capacity to take on this work. |
If Chef's got time to review our PRs we should be able to cook up solutions! We've started looking into options to host our own omnitruck too FWIW |
Partial workaround by monkey-patching mixlib-install:
I've an idea to make mixlib-install a bit more versatile without breaking changes, I'll try to bake a PR this week on it. |
As a community member, I would like to be able to use
knife bootstrap
,test-kitchen
and other tools that install Chef Infra and Chef products transparently whether I'm using the official Chef Infra or a community distribution.Describe the problem
Currently, many tools in the ecosystem makes hard coded calls to omnitruck when it's time to install Chef Infra. Since the URLs are often hardcoded that means there's a lot of surface to cover to allow those tools to individually select a distro. This would also lead to consistency issues where cooks would need to edit the distro they want in many different configuration files.
Software Version
All currently supported OSes!
Replication Case
N/A
Stacktrace
N/A
Possible Solution
I see two broad options (there could be more!): Go through all of these tools and add support for alternate distribution channels, or add support to Omnitruck itself (which would imply that Chef also managed the infrastructure used to deploy alternate distributions).
This support could come in the form of an additonal parameter exposed to the users called "distribution" or perhaps "binary_source", and adding this parameter explicitly would output a warning that while you are using Chef's Omnitruck, you're getting your binaries from a 3rd party source along with any other appropriate disclaimer.
Assuming Chef is comfortable with that notion, I'd be willing to draft a PR.
The text was updated successfully, but these errors were encountered: