4 ms·
Along those lines, Chef's install.sh is the most impressive install shell script I've seen: https://omnitruck.chef.io/install.sh https://omnitruck.chef.io/inst
by antoncohen 7y ago
Along those lines, Chef's install.sh is the most impressive install shell script I've seen:
https://omnitruck.chef.io/install.sh https://omnitruck.chef.io/install.sh
It works with pure sh, not just bash. It works on Red Hat, Debian, Solaris, AIX, and macOS. It works even if curl and wget aren't installed.
- richardwhiuk 7y agoTo be clear, it requires curl, or wget, or fetch, or perl, or python.
- yjftsjthsd-h 7y agoYou do need some way to download stuff, I suppose:)
- hajhatten 7y agoNot just that, just by glancing over it, the readability is very high. Shell scripting can very easily become just a big mess of special characters.
- __app_dev__ 7y agoThanks for Sharing. Is this Chef script for a specific enterprise product? It's not really clear on their repository: https://github.com/chef/omnitruck https://github.com/chef/omnitruck And I see their cheapest product is $16,500/year. The script I wrote is intended for a clean and secure install of either Apache or nginx and PHP without a complex setup or the need for third-party options so it will work on any cloud host. Currently the one I published only supports Ubuntu but I'll add more OS's in the future.
- antoncohen 7y agoThe specifics of Chef's licensing are unrelated to my appreciation for their install.sh script, I just think it is a good example of a robust cross-platform install script. That said, last year Chef changed their licensing[1]. My understanding is that their code is now all open source under Apache License 2.0 (there used to be a split between open source and commercial). But, and this is a big BUT, their distributions (installers, compiled code, etc.) are not open source. This is similar to Red Hat where all the main code in RHEL is open source, but they don't provide an ISO to install RHEL. If you are looking for server configuration management, I've used all four of the major ones (Puppet, Chef, Salt, and Ansible), I'd recommend giving SaltStack[2][3] a look. The PyObjects renderer[4] is especially interesting because it allows writing the configuration in a full programming language (Python), similar to how Chef configuration is written in Ruby. [1] https://www.chef.io/press-release/chef-open-sources-100-percent-of-its-software-under-apache-2-0-license-introduces-the-enterprise-automation-stack/ https://www.chef.io/press-release/chef-open-sources-100-perc... [2] https://www.saltstack.com/ https://www.saltstack.com/ [3] https://github.com/saltstack/salt https://github.com/saltstack/salt [4] https://docs.saltstack.com/en/master/ref/renderers/all/salt.renderers.pyobjects.html https://docs.saltstack.com/en/master/ref/renderers/all/salt....
- __app_dev__ 7y agoThanks for sharing. SaltStack does look very nice. BTW, pure sh scripts like one from Chef are much more difficult to write simply because you have fewer options to work with.