raspbian_bootstrap
raspbian_bootstrap copied to clipboard
chef bootstrap for raspberry pi
trafficstars
raspbian_bootstrap
UPDATE
This is no longer needed if you choose to use an up to date 64bit Raspberry Pi OS. 64 bit arm is available for Chef so you can do a standard bootstrap it should work without anything fancy.
install chef-client on raspberry pi (raspbian).
Chef doesn't offer a omnibus chef-client for raspberry pi yet. Any minute now.
This knife bootstrap script helps get around that by either building a chef omnibus from scratch or using a pre-build deb package using my chef_omnibus_build tool.
The raspbian_bootstrap.erb uses an OPT environent variable to provide provides different options to get ruby and chef.
OPT=prebuiltInstalls prebuild .deb package- Fast: Fast - uses my latest prebuilt chef
CHEF_URL=http://your_url_to/your_package.deb- specify your own prebuilt chef package.
OPT=buildchef_omnibus_builder to build a ruby, omnibus-toolchain, and then a chef package.- Slow: Takes many hours.
- Note: Creates an
omnibususer with a locked password for the build process.
Usage
Clone the repo:
git clone https://github.com/dayne/raspbian_bootstrap
cd raspbian_bootstrap
Bootstrap the pi:
knife bootstrap -t raspbian_bootstrap.erb \
--ssh-user pi --sudo PI_ADDRESS
Full build process by using OPT:
OPT=build knife bootstrap -t raspbian_bootstrap.erb \
--ssh-user pi --sudo PI_ADDRESS
Ramifications of using this script
- Chef installed
- pi's clock will be synchronized using
ntpd(network time protocol daemon). chefpackage installed with chef tools in/opt/chef
Credits and Contributors
- @tinoschroeter : Tino Schröter as original author
- @dayne : dayne updated and evolved to support Chef 12
- @in-bto : ino-bto for trusted certs forwarding to client node
- @Edubits: Edubits updated to Jessie
- @trinitronx: trinitronx Merged support for both Wheezy and Jessie
- @marcusbooyah: marcusbooyah Tested and fixed bugs in
OPT=stretch