Managing Embedded Devices with Chef?

Ohai everybody,

in $CURRENT_PROJECT we have quite a number of devices running an embedded linux for which no omnibus chef client is available.

Is there a way to manage these devices with Chef? E.g. I have heard people are manaing their network devices with Chef, which might pose a quite similar problem

This is one of the cases where I really miss something like Ansible’s clientless mode which requires only ssh, but nothing else. But maybe there is way to handle that with Chef too, and I just don’t see it yet…

Any ideas or suggestions?


Hi Torben,

A while back, I did follow instructions similar to to build Ruby and install Chef on a Raspberry Pi. I found Ruby (in general) to be a bit slow for the task when running on something low powered, but maybe your network/embedded devices have more processing power than a Raspberry Pi :slightly_smiling:



If I remember well a ‘managed machine’ configuration for chef was discussed and abandoned for various reasons, mainly the problem to gather ohai data and how to manage things on an unknown environment.

related topic which gives clues on how to do it.

Another list topic about it:

And a blog post about crowbar, with broken links to old inside:

I would like to ping @coderanger in case he has a better source of information about managed nodes than my faulty memory.

Hey @Tensibai and @martinb3, thanks for the suggestions!

Looks like “managed node” seems to be the right term for what I’m looking for. Let me dig through this a bit more…

We seem to have culturally forgotten that before omnibus builds that people were still installing and using chef-client through bootstrap scripts that installed the system ruby and just gem installed chef.

We were never able to support RHEL5 that way and got a flood of segfault issues on RHEL6 and other older distro rubies so it became unsupportable, so that led to omnibus-chef. But the old way always worked fine on recent versions of Ubuntu and other distros with recently enough rubies.

The instructions in could easily be converted into a bootstrap script for the raspberry pi for example.