Created
June 20, 2014 02:56
-
-
Save teddy-ma/ba28d9d5f0e3b4133635 to your computer and use it in GitHub Desktop.
a chef vagrant file example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
# This is a Vagrant configuration file. It can be used to set up and manage | |
# virtual machines on your local system or in the cloud. See http://downloads.vagrantup.com/ | |
# for downloads and installation instructions, and see http://docs.vagrantup.com/v2/ | |
# for more information and configuring and using Vagrant. | |
Vagrant.configure("2") 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. | |
# Every Vagrant virtual environment requires a box to build off of. | |
config.vm.box = "opscode-ubuntu-12.04-i386" | |
if Vagrant.has_plugin?("vagrant-cachier") | |
# Configure cached packages to be shared between instances of the same base box. | |
# More info on http://fgrehm.viewdocs.io/vagrant-cachier/usage | |
config.cache.scope = :box | |
# If you are using VirtualBox, you might want to use that to enable NFS for | |
# shared folders. This is also very useful for vagrant-libvirt if you want | |
# bi-directional sync | |
config.cache.synced_folder_opts = { | |
type: :nfs, | |
# The nolock option can be useful for an NFSv3 client that wants to avoid the | |
# NLM sideband protocol. Without this option, apt-get might hang if it tries | |
# to lock files needed for /var/cache/* operations. All of this can be avoided | |
# by using NFSv4 everywhere. Please note that the tcp option is not the default. | |
mount_options: ['rw', 'vers=3', 'tcp', 'nolock'] | |
} | |
# For more information please check http://docs.vagrantup.com/v2/synced-folders/basic_usage.html | |
end | |
# The url from where the 'config.vm.box' box will be fetched if it | |
# doesn't already exist on the user's system. | |
config.vm.box_url = "https://opscode-vm.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04-i386_provisionerless.box" | |
# This can be set to the host name you wish the guest machine to have. Vagrant | |
# will automatically execute the configuration necessary to make this happen. | |
config.vm.hostname = "mlc880926-starter" | |
# 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, | |
# port 8080 on the virtual machine is forwarded to port 9090 on the host. | |
# This will allow the virtual machine to communicate of the common proxy port 8080. | |
config.vm.network :forwarded_port, guest: 8080, host: 9090 | |
# Create a private network, which allows host-only access to the machine | |
# using a specific IP. | |
config.vm.network :private_network, ip: "33.33.33.10" | |
# Create a public network, which generally matched to bridged network. | |
# Bridged networks make the machine appear as another physical device on | |
# your network. | |
# config.vm.network :public_network | |
# 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. | |
# Enable provisioning with chef solo, specifying a cookbooks path, roles | |
# path, and data_bags path (all relative to this Vagrantfile), and adding | |
# some recipes and/or roles. | |
# | |
# config.vm.provision :chef_solo do |chef| | |
# chef.cookbooks_path = "cookbooks" | |
# chef.roles_path = "roles" | |
# chef.data_bags_path = "data_bags" | |
# chef.add_recipe "mysql" | |
# chef.add_role "web" | |
# | |
# # You may also specify custom JSON attributes: | |
# chef.json = { :mysql_password => "foo" } | |
# end | |
# Enable provisioning with chef server, specifying the chef server URL, | |
# and the path to the validation key (relative to this Vagrantfile). | |
# | |
config.berkshelf.enabled = true | |
config.omnibus.chef_version = :latest | |
config.vm.provision :chef_client do |chef| | |
chef.provisioning_path = "/etc/chef" | |
chef.chef_server_url = "https://api.opscode.com/organizations/javaer" | |
chef.validation_client_name = "javaer-validator" | |
chef.validation_key_path = ".chef/javaer-validator.pem" | |
chef.node_name = "server" | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment