-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #31 from preston/master
Configuration files for automated provisioning with Vagrant and Chef Solo.
- Loading branch information
Showing
163 changed files
with
11,547 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,3 +3,9 @@ | |
*.log | ||
*.log* | ||
nohup.out | ||
.DS_Store | ||
|
||
# Vagrant stuff. | ||
.vagrant | ||
/vagrant/build | ||
/vagrant/chef/tmp |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# -*- 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.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. | ||
|
||
# Every Vagrant virtual environment requires a box to build off of. | ||
config.vm.box = "ubuntu/trusty64" | ||
|
||
# Disable automatic box update checking. If you disable this, then | ||
# boxes will only be checked for updates when the user runs | ||
# `vagrant box outdated`. This is not recommended. | ||
# config.vm.box_check_update = false | ||
|
||
# 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. | ||
# config.vm.network "forwarded_port", guest: 80, host: 8080 | ||
|
||
# Create a private network, which allows host-only access to the machine | ||
# using a specific IP. | ||
# config.vm.network "private_network", ip: "192.168.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" | ||
|
||
# If true, then any SSH connections made will enable agent forwarding. | ||
# Default value: false | ||
config.ssh.forward_agent = true | ||
|
||
# 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", '/data' | ||
config.vm.synced_folder "build", '/build' | ||
|
||
# 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", "2048"] | ||
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 = "./chef/cookbooks" | ||
chef.roles_path = "./chef/roles" | ||
chef.data_bags_path = "./chef/data_bags" | ||
|
||
chef.add_recipe 'nmap' | ||
chef.add_recipe 'mysql::server' | ||
chef.add_recipe 'mysql::client' | ||
chef.add_recipe 'tomcat' | ||
chef.add_recipe 'tomcat::users' # Currently broken :( https://github.com/opscode-cookbooks/tomcat/pull/79 | ||
pw = "MySQLpassword" | ||
chef.json = { | ||
java: { | ||
install_flavor: 'oracle', | ||
jdk_version: 8, | ||
oracle: { | ||
accept_oracle_download_terms: true | ||
} | ||
}, | ||
tomcat: { | ||
base_version: 7, | ||
proxy_port: 80, | ||
# ssl_port: 443, | ||
authbind: 'yes' | ||
}, | ||
mysql: { | ||
version: '5.6', | ||
server_root_password: pw, | ||
server_debian_password: pw, | ||
server_repl_password: pw, | ||
allow_remote_root: true | ||
} | ||
} | ||
end | ||
|
||
require 'fileutils' | ||
build_dir = 'build' | ||
# Remove existing cached artifacts. | ||
Dir.glob(File.join(build_dir, '*.war')).each do |f| | ||
FileUtils.rm(f) | ||
end | ||
# Cache new copies. | ||
Dir.glob(File.join('..', '**', 'target', '*.war')).each do |f| | ||
FileUtils.cp(f, 'build') | ||
end | ||
|
||
# puts "Deploying any/all built .war files."" | ||
config.vm.provision 'shell', inline: 'cp /build/*.war /var/lib/tomcat7/webapps' | ||
|
||
# puts "Setting MySQL to start automatically at boot, and (re)starting the daemon." | ||
config.vm.provision 'shell', inline: 'update-rc.d mysql defaults' | ||
config.vm.provision 'shell', inline: 'service mysql restart' | ||
|
||
# puts "The VM network interfaces are configured as follows..." | ||
config.vm.provision 'shell', inline: 'ifconfig' | ||
|
||
end |
Empty file.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/usr/bin/env ruby | ||
#^syntax detection | ||
|
||
site 'https://supermarket.getchef.com/api/v1' | ||
|
||
# cookbook 'emacs24-nox' | ||
cookbook 'nmap' | ||
cookbook 'java' | ||
cookbook 'mysql' | ||
cookbook 'tomcat' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
SITE | ||
remote: https://supermarket.getchef.com/api/v1 | ||
specs: | ||
chef-sugar (2.3.0) | ||
java (1.28.0) | ||
mysql (5.5.3) | ||
yum-mysql-community (>= 0.0.0) | ||
nmap (0.1.0) | ||
openssl (2.0.0) | ||
chef-sugar (>= 0.0.0) | ||
tomcat (0.16.2) | ||
java (>= 0.0.0) | ||
openssl (>= 0.0.0) | ||
yum (3.3.2) | ||
yum-mysql-community (0.1.10) | ||
yum (>= 3.0) | ||
|
||
DEPENDENCIES | ||
java (>= 0) | ||
mysql (>= 0) | ||
nmap (>= 0) | ||
tomcat (>= 0) | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
Chef Sugar Changelog | ||
========================= | ||
This file is used to list changes made in each version of the chef-sugar cookbook and gem. | ||
|
||
v2.3.0 (2014-09-24) | ||
------------------- | ||
### Improvements | ||
- Add `vmware?` matcher | ||
- Allow the attribute DSL to access parent attributes | ||
|
||
### Bug Fixes | ||
- Return `true` or `false` from all Boolean methods (instead of `nil` or truthy values) | ||
|
||
v2.2.0 (2014-08-20) | ||
------------------- | ||
### Improvements | ||
- Add `smartos?` matcher | ||
- Add `omnios?` matcher | ||
|
||
v2.1.0 (2014-06-26) | ||
------------------- | ||
### Improvements | ||
- Add `solaris2?` matcher | ||
- Add `aix?` matcher | ||
- Add 'lxc?' matcher | ||
|
||
### Bug Fixes | ||
- Fix a bug in namespace memoization during attribute initialization | ||
|
||
v2.0.0 (2014-06-16) | ||
------------------- | ||
### Breaking | ||
- Remove `not_linux?` method | ||
- Remove `not_windows?` method | ||
|
||
### Improvements | ||
- Miscellaneous spelling fixes | ||
- Update a failing unit test for `installed?` | ||
- Add Mac OS X to the list of platforms (Yosemite) | ||
- Upgrade to RSpec 3 | ||
- Fix `which` (and `installed?` and `installed_at_version?`) when given an absolute path | ||
- Fix `linux?` check to only return true on real linuxes | ||
|
||
v1.3.0 (2014-05-05) | ||
------------------- | ||
- Check both `$stdout` and `$stderr` in `version_for` | ||
- Add additional platform versions | ||
- Make `includes_recipe?` a top-level API (instead of just Node) | ||
- Match on the highest version number instead of direct equality checking on platform versions | ||
- Define `Object#blank?` as a core extension | ||
- Define `String#flush` as a core extension | ||
- Remove Stove | ||
|
||
v1.2.6 (2014-03-16) | ||
------------------- | ||
- Fix a bug in `vagrant?` returning false on newer Vagrant versions | ||
- Remove Coveralls | ||
|
||
v1.2.4 (2014-03-13) | ||
------------------- | ||
- See (1.2.2), but I botched the release | ||
|
||
v1.2.2 (2014-03-13) | ||
------------------- | ||
- Fix a critical bug with `encrypted_data_bag_item` using the wrong key | ||
|
||
v1.2.0 (2014-03-09) | ||
------------------- | ||
- Add `namespace` functionality for specifying attributes in a DSL | ||
- Add constraints helpers for comparing version strings | ||
- Add `require_chef_gem` to safely require and degrade if a gem is not installed | ||
- Add `deep_fetch` and `deep_fetch!` to fetch deeply nested keys | ||
- Accept an optional secret key in `encrypted_data_bag_item` helper and raise a helpful error if one is not set (NOTE: this changes the airity of the method, but it's backward-compatible because Ruby is magic) | ||
- Add Stove for releasing | ||
- Updated copyrights for 2014 | ||
|
||
v1.1.0 (2013-12-10) | ||
------------------- | ||
- Add `cloudstack?` helper | ||
- Add data bag helpers | ||
- Remove foodcritic checks | ||
- Upgrade development gem versions | ||
- Randomize spec order | ||
|
||
v1.0.1 (2013-10-15) | ||
------------------- | ||
- Add development recipe | ||
- Add `compile_time`, `before`, and `after` filters | ||
|
||
v1.0.0 (2013-10-15) | ||
------------------- | ||
- First public release |
Oops, something went wrong.