a lightweight remote chef-solo runner
Before you can start using mofa please create a config file:
mkdir ~/.mofa cat <<EOF > ~/.mofa/config.yaml # global mofa settings # Admin User Account that should be used for all mofa tasks. # The user has to be able to login passwordless # and has tohave passwordless sudo permissions. ssh_user: vagrant ssh_port: 2222 ssh_keyfile: ~/.ssh/id_rsa_vagrant_insecure # A REST-Webservice that returns a list of hosts that are potentially # manageable with this mofa. #service_hostlist_url: http://a-real-server:9292/hosts # You can also have a json-file somewhere. See the test-file in the rspec-folder service_hostlist_url: file:///Users/<yourname>/.mofa/example_hostlist.json service_hostlist_default_filter: "localhost" service_hostlist_api_key: <a api key used to access the above service> # where to build tmporary cookbook packages and so on tmp_dir: /var/tmp # The cookbook architectural pattern should becodified by following # a cookbook naming schema: # * Cookbooks beginning with "env_*" are Envrionment Cookbooks # * Cookbooks haven a prefix like "<organisation_name>_*" are # so-called Wrapper Cookbooks # * Cookbooks having a "base_" Prefix are Base Cookbooks cookbook_type_indicator: env: "^env_.*" wrapper: "^(<your_org>_|<another_pattern>_).*" base: ".*_base$" # Binrepo for released cookbooks binrepo_base_url: http://binrepo-server/cookbooks/ # Releasing into binrepo binrepo_host: localhost binrepo_ssh_user: berkshelf binrepo_ssh_port: 2222 binrepo_ssh_keyfile: ~/.ssh/id_rsa_vagrant_insecure binrepo_import_dir: /var/berks-api-binrepo/cookbooks EOF
$ git clone https://github.com/pingworks/mofa.git $ cd mofa $ bundle install $ cd ../somewhere_chef-env_some_cookbook $ export BUNDLE_GEMFILE=../mofa/Gemfile $ bundle exec $ ../mofa/bin/mofa provision .