Skip to content
This repository was archived by the owner on May 22, 2018. It is now read-only.
This repository was archived by the owner on May 22, 2018. It is now read-only.

Switch from Puppet to Chef or Ansible? #742

@seanknox

Description

@seanknox

Probably the biggest source of confusion for people working with Boxen is Puppet. Puppet is complicated, has its own DSL, is extremely verbose, and as an external dependency is a big pain to work with—here's one example of probably many where it took over 2 months to fix Puppet using curl insecurely over SSL. Debugging Puppet errors is extremely tedious.

While Boxen makes an developer user's life much easier, life for a Boxen maintainer (for an org or otherwise) is difficult.

Goals

I'd like a framework that is:

  • Easy to configure
  • Easy to maintain
  • Easy to extend
  • Fast/efficient
  • Used by a large community

To those ends, what does the Boxen community think of switching from Puppet as its idempotent runner to Chef or Ansible?

Chef

Pros:

  • It's Ruby. Its DSL is Ruby'esqe. If you know Ruby—which most of Boxen is written in—you can work with Chef.
  • Thus, creating custom Chef providers is easier.
  • Chef's "data-bags" can be used in place of Puppet's Hiera (I believe)
  • Can be used with OS X's system Ruby (I think?)

Cons:

  • ?

Ansible

Pros:

  • Very simple to setup and get running
  • Ansible is written Python, however modules can be in any language
  • YAML files for everything

Cons:

  • pip needs to be installed first on the system (although I suppose not a big deal, since bundler is for Boxen)

I'm surely missing lots. Obviously there would also be the tremendous work of rewriting Boxen modules for the new framework. Would love to hear folks thoughts. cc: @boxen/owners

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions