自分用メモ
berks initを実行した際にできるファイルとその中身です。
berksはバージョン3系
$ touch metadata.rb $ berks init . create Berksfile create Thorfile create chefignore create .gitignore create Gemfile create Vagrantfile Successfully initialized $ ll 合計 36 drwxrwxr-x 3 foo foo 4096 9月 23 03:56 ./ drwxrwxr-x 6 foo foo 4096 9月 23 03:55 ../ drwxrwxr-x 7 foo foo 4096 9月 23 03:56 .git/ -rw-rw-r-- 1 foo foo 126 9月 23 03:56 .gitignore -rw-rw-r-- 1 foo foo 51 9月 23 03:56 Berksfile -rw-rw-r-- 1 foo foo 408 9月 23 03:56 Gemfile -rw-rw-r-- 1 foo foo 86 9月 23 03:56 Thorfile -rw-rw-r-- 1 foo foo 3403 9月 23 03:56 Vagrantfile -rw-rw-r-- 1 foo foo 960 9月 23 03:56 chefignore -rw-rw-r-- 1 foo foo 0 9月 23 03:56 metadata.rb
.gitignore
*~ *# .#* \#*# .*.sw[a-z] *.un~ pkg/ # Berkshelf .vagrant /cookbooks Berksfile.lock # Bundler Gemfile.lock bin/* .bundle/*
Berksfile
source "https://supermarket.getchef.com" metadata
Gemfile
source 'https://rubygems.org' gem 'berkshelf' # Uncomment these lines if you want to live on the Edge: # # group :development do # gem "berkshelf", github: "berkshelf/berkshelf" # gem "vagrant", github: "mitchellh/vagrant", tag: "v1.6.3" # end # # group :plugins do # gem "vagrant-berkshelf", github: "berkshelf/vagrant-berkshelf" # gem "vagrant-omnibus", github: "schisamo/vagrant-omnibus" # end
Thorfile
# encoding: utf-8 require 'bundler' require 'bundler/setup' require 'berkshelf/thor'
Vagrantfile
# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" Vagrant.require_version ">= 1.5.0" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com. config.vm.hostname = "test-berkshelf" # Set the version of chef to install using the vagrant-omnibus plugin config.omnibus.chef_version = :latest # Every Vagrant virtual environment requires a box to build off of. # If this value is a shorthand to a box in Vagrant Cloud then # config.vm.box_url doesn't need to be specified. config.vm.box = "chef/ubuntu-14.04" # The url from where the 'config.vm.box' box will be fetched if it # is not a Vagrant Cloud box and if it doesn't already exist on the # user's system. # config.vm.box_url = "https://vagrantcloud.com/chef/ubuntu-14.04/version/1/provider/virtualbox.box" # Assign this VM to a host-only network IP, allowing you to access it # via the IP. Host-only networks can talk to the host machine as well as # any other machines on the same network, but cannot be accessed (through this # network interface) by any external networks. config.vm.network :private_network, type: "dhcp" # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. # Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data" # Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. # Example for VirtualBox: # # config.vm.provider :virtualbox do |vb| # # Don't boot with headless mode # vb.gui = true # # # Use VBoxManage to customize the VM. For example to change memory: # vb.customize ["modifyvm", :id, "--memory", "1024"] # end # # View the documentation for the provider you're using for more # information on available options. # The path to the Berksfile to use with Vagrant Berkshelf # config.berkshelf.berksfile_path = "./Berksfile" # Enabling the Berkshelf plugin. To enable this globally, add this configuration # option to your ~/.vagrant.d/Vagrantfile file config.berkshelf.enabled = true # An array of symbols representing groups of cookbook described in the Vagrantfile # to exclusively install and copy to Vagrant's shelf. # config.berkshelf.only = [] # An array of symbols representing groups of cookbook described in the Vagrantfile # to skip installing and copying to Vagrant's shelf. # config.berkshelf.except = [] config.vm.provision :chef_solo do |chef| chef.json = { mysql: { server_root_password: 'rootpass', server_debian_password: 'debpass', server_repl_password: 'replpass' } } chef.run_list = [ "recipe[test::default]" ] end end
chefignore
# Put files/directories that should be ignored in this file when uploading # or sharing to the community site. # Lines that start with '# ' are comments. # OS generated files # ###################### .DS_Store Icon? nohup.out ehthumbs.db Thumbs.db # SASS # ######## .sass-cache # EDITORS # ########### \#* .#* *~ *.sw[a-z] *.bak REVISION TAGS* tmtags *_flymake.* *_flymake *.tmproj .project .settings mkmf.log ## COMPILED ## ############## a.out *.o *.pyc *.so *.com *.class *.dll *.exe */rdoc/ # Testing # ########### .watchr .rspec spec/* spec/fixtures/* test/* features/* Guardfile Procfile # SCM # ####### .git */.git .gitignore .gitmodules .gitconfig .gitattributes .svn */.bzr/* */.hg/* */.svn/* # Berkshelf # ############# cookbooks/* tmp # Cookbooks # ############# CONTRIBUTING CHANGELOG* # Strainer # ############ Colanderfile Strainerfile .colander .strainer # Vagrant # ########### .vagrant Vagrantfile # Travis # ########## .travis.yml