/raspbian_bootstrap

chef bootstrap for raspberry pi

Primary LanguageHTML

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=prebuilt Installs 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=build chef_omnibus_builder to build a ruby, omnibus-toolchain, and then a chef package.
    • Slow: Takes many hours.
    • Note: Creates an omnibus user 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).
  • chef package installed with chef tools in /opt/chef

Credits and Contributors