a ton of updates on things
This commit is contained in:
parent
2853d23d3a
commit
cdccad6183
@ -61,7 +61,7 @@ Capistrano::Configuration.instance.load do
|
|||||||
|
|
||||||
desc "Rename the server"
|
desc "Rename the server"
|
||||||
task :rename do
|
task :rename do
|
||||||
hostname = fetch(:hostname, nil) || Capistrano::CLI.ui.ask("Hostname: ")
|
hostname = ENV['HOSTNAME'] || fetch(:hostname, nil) || Capistrano::CLI.ui.ask("Hostname: ")
|
||||||
|
|
||||||
top.copy_skel
|
top.copy_skel
|
||||||
run "cd #{puppet_dir} && #{sudo} ./rename #{hostname}"
|
run "cd #{puppet_dir} && #{sudo} ./rename #{hostname}"
|
||||||
|
12
lib/puppet-standalone-mashup/cucumber.rb
Normal file
12
lib/puppet-standalone-mashup/cucumber.rb
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Before do
|
||||||
|
# thanks dave. thave.
|
||||||
|
@sugarpuck = {
|
||||||
|
:username => 'vagrant',
|
||||||
|
:password => 'vagrant',
|
||||||
|
:port => 2222
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
require 'puppet-standalone-mashup/cucumber/via_ssh'
|
||||||
|
require 'puppet-standalone-mashup/cucumber/vagrant'
|
||||||
|
|
12
lib/puppet-standalone-mashup/cucumber/vagrant.rb
Normal file
12
lib/puppet-standalone-mashup/cucumber/vagrant.rb
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
def vagrant(*args)
|
||||||
|
system %{vagrant #{args.collect(&:to_s).join(' ')}}
|
||||||
|
end
|
||||||
|
|
||||||
|
def cap(*args)
|
||||||
|
system %{cap vagrant #{args.collect(&:to_s).join(' ')}}
|
||||||
|
end
|
||||||
|
|
||||||
|
def bootstrap(hostname = ENV['HOSTNAME'])
|
||||||
|
ENV['HOSTNAME'] = hostname
|
||||||
|
system %{cap vagrant bootstrap}
|
||||||
|
end
|
13
lib/puppet-standalone-mashup/cucumber/via_ssh.rb
Normal file
13
lib/puppet-standalone-mashup/cucumber/via_ssh.rb
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
require 'net/ssh'
|
||||||
|
|
||||||
|
def via_ssh(&block)
|
||||||
|
result = nil
|
||||||
|
|
||||||
|
Net::SSH.start('localhost', @sugarpuck[:username], :password => @sugarpuck[:password], :port => @sugarpuck[:port]) do |ssh|
|
||||||
|
result = block.call(ssh)
|
||||||
|
result = result.strip if result.respond_to?(:strip)
|
||||||
|
end
|
||||||
|
|
||||||
|
result
|
||||||
|
end
|
||||||
|
|
@ -18,12 +18,13 @@ Gem::Specification.new do |s|
|
|||||||
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
||||||
s.require_paths = ["lib"]
|
s.require_paths = ["lib"]
|
||||||
|
|
||||||
# specify any dependencies here; for example:
|
s.add_runtime_dependency 'vagrant'
|
||||||
# s.add_development_dependency "rspec"
|
|
||||||
# s.add_runtime_dependency "rest-client"
|
|
||||||
|
|
||||||
s.add_runtime_dependency 'guard'
|
|
||||||
s.add_runtime_dependency 'guard-shell'
|
|
||||||
s.add_runtime_dependency 'capistrano'
|
s.add_runtime_dependency 'capistrano'
|
||||||
s.add_runtime_dependency 'capistrano-ext'
|
s.add_runtime_dependency 'capistrano-ext'
|
||||||
|
|
||||||
|
s.add_runtime_dependency 'net-ssh'
|
||||||
|
s.add_runtime_dependency 'rspec'
|
||||||
|
s.add_runtime_dependency 'cucumber'
|
||||||
|
s.add_runtime_dependency 'guard'
|
||||||
|
s.add_runtime_dependency 'guard-cucumber'
|
||||||
end
|
end
|
||||||
|
6
shared/additional-modules/debian/manifests/init.pp
Normal file
6
shared/additional-modules/debian/manifests/init.pp
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
class debian {
|
||||||
|
group { web:
|
||||||
|
gid => 30010
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -47,6 +47,8 @@ start() {
|
|||||||
stop() {
|
stop() {
|
||||||
echo -n "Stopping $DESC: "
|
echo -n "Stopping $DESC: "
|
||||||
kill `cat $PID_PATH`
|
kill `cat $PID_PATH`
|
||||||
|
rm $PID_PATH
|
||||||
|
killall -9 god
|
||||||
RETVAL=$?
|
RETVAL=$?
|
||||||
echo "$NAME."
|
echo "$NAME."
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,15 @@ class nginx-debian {
|
|||||||
owner => root,
|
owner => root,
|
||||||
group => web,
|
group => web,
|
||||||
mode => 2775,
|
mode => 2775,
|
||||||
ensure => directory
|
ensure => directory,
|
||||||
|
require => Group['web']
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "$log_root/sites":
|
file { "$log_root/sites":
|
||||||
owner => root,
|
owner => root,
|
||||||
group => web,
|
group => web,
|
||||||
mode => 2775,
|
mode => 2775,
|
||||||
require => File[$log_root],
|
require => [ File[$log_root], Group['web'] ],
|
||||||
ensure => directory
|
ensure => directory
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,4 +24,9 @@ class nginx-debian {
|
|||||||
pattern => "/var/log/nginx/*/access.log /var/log/nginx/*/error.log",
|
pattern => "/var/log/nginx/*/access.log /var/log/nginx/*/error.log",
|
||||||
require => Class['nginx']
|
require => Class['nginx']
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bash_rc_d { 'nginx':
|
||||||
|
ensure => present,
|
||||||
|
path => $base::local_path
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,10 +24,12 @@ class nginx($version, $max_pool_size = 20) {
|
|||||||
$config_file = "${base::config_path}/nginx.conf"
|
$config_file = "${base::config_path}/nginx.conf"
|
||||||
$config_path = "${base::config_path}/nginx"
|
$config_path = "${base::config_path}/nginx"
|
||||||
|
|
||||||
|
$nginx_start = "${sbin_path}/nginx -c ${config_file}"
|
||||||
|
$nginx_stop = "${sbin_path}/nginx -s stop -c ${config_file}"
|
||||||
god_init { $name:
|
god_init { $name:
|
||||||
start => "${sbin_path}/nginx -c ${config_file}",
|
start => $nginx_start,
|
||||||
stop => "${sbin_path}/nginx -s stop -c ${config_file}",
|
stop => $nginx_stop,
|
||||||
restart => "${sbin_path}/nginx -s reload -c ${config_file}",
|
restart => "${nginx_stop} ; ${nginx_start}",
|
||||||
pid_file => $pid_file,
|
pid_file => $pid_file,
|
||||||
ensure => present,
|
ensure => present,
|
||||||
notify => Service['god'],
|
notify => Service['god'],
|
||||||
@ -61,16 +63,16 @@ class nginx($version, $max_pool_size = 20) {
|
|||||||
require => File[$config_file]
|
require => File[$config_file]
|
||||||
}
|
}
|
||||||
|
|
||||||
file { '/var/www': ensure => directory }
|
file { '/var/www':
|
||||||
|
ensure => directory,
|
||||||
|
group => web,
|
||||||
|
mode => 2775,
|
||||||
|
require => Group['web']
|
||||||
|
}
|
||||||
|
|
||||||
file { $symlink_path:
|
file { $symlink_path:
|
||||||
ensure => $install_path,
|
ensure => $install_path,
|
||||||
require => Exec['install-passenger']
|
require => Exec['install-passenger']
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "${base::install_path}/bin/new-site":
|
|
||||||
content => template('nginx/new-site'),
|
|
||||||
mode => 755
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if [ $UID -ne 0 ]; then
|
|
||||||
sudo $0 $@
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd /var/www
|
|
||||||
mkdir $1
|
|
||||||
chown :www-data $1
|
|
||||||
chmod 2775 $1
|
|
||||||
|
|
@ -9,8 +9,7 @@ class ruby-debian {
|
|||||||
|
|
||||||
bash_rc_d { 'ruby':
|
bash_rc_d { 'ruby':
|
||||||
ensure => present,
|
ensure => present,
|
||||||
path => $base::local_path,
|
path => $base::local_path
|
||||||
require => Build_and_install['ruby']
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,12 +5,12 @@ class ruby($version) {
|
|||||||
build_and_install { $name:
|
build_and_install { $name:
|
||||||
version => $version,
|
version => $version,
|
||||||
source => "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-<%= version %>.tar.gz",
|
source => "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-<%= version %>.tar.gz",
|
||||||
|
configure => "--disable-install-doc"
|
||||||
}
|
}
|
||||||
|
|
||||||
gem { 'bundler':
|
gem { 'bundler':
|
||||||
require => Build_and_install[$name],
|
require => Build_and_install[$name],
|
||||||
path => $with_ruby_path,
|
path => $with_ruby_path,
|
||||||
options => '--pre',
|
|
||||||
ensure => present
|
ensure => present
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ Puppet::Type.type(:bash_rc_d).provide(:install) do
|
|||||||
desc "Configure a new directory to be added to every user's PATH"
|
desc "Configure a new directory to be added to every user's PATH"
|
||||||
|
|
||||||
def create
|
def create
|
||||||
file.open('wb') { |fh| fh.puts "export PATH=#{@resource[:path]}/#{@resource[:name]}/bin:$PATH" }
|
file.open('wb') { |fh| fh.puts content }
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
@ -10,10 +10,14 @@ Puppet::Type.type(:bash_rc_d).provide(:install) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def exists?
|
def exists?
|
||||||
file.file?
|
file.file? && file.read == content
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
def content
|
||||||
|
"export PATH=#{@resource[:path]}/#{@resource[:name]}/sbin:#{@resource[:path]}/#{@resource[:name]}/bin:$PATH"
|
||||||
|
end
|
||||||
|
|
||||||
def file
|
def file
|
||||||
Pathname("/etc/bash.bashrc.d/#{@resource[:name]}.sh")
|
Pathname("/etc/bash.bashrc.d/#{@resource[:name]}.sh")
|
||||||
end
|
end
|
||||||
|
@ -35,7 +35,7 @@ Puppet::Type.type(:gem).provide(:install) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def gem_command(what)
|
def gem_command(what)
|
||||||
command = %{bash -c 'PATH=#{@resource[:path]} gem #{what} #{@resource[:name]} #{options} #{version}'}.tap { |o| p o }
|
command = %{bash -c 'PATH=#{@resource[:path]} gem #{what} #{@resource[:name]} #{options} #{version}'}
|
||||||
command
|
command
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -53,7 +53,7 @@ God.watch do |w|
|
|||||||
w.start = lambda { system("<%= start %>") }
|
w.start = lambda { system("<%= start %>") }
|
||||||
|
|
||||||
<% if !stop.empty? %>
|
<% if !stop.empty? %>
|
||||||
w.stop = lambda { system("<%= stop %>") }
|
w.stop = lambda { system("<%= stop %>") ; system("killall -9 <%= name %>") }
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if !restart.empty? %>
|
<% if !restart.empty? %>
|
||||||
|
@ -9,8 +9,11 @@ export DEBIAN_FRONTEND=noninteractive
|
|||||||
export PAGER=cat
|
export PAGER=cat
|
||||||
|
|
||||||
apt-get --force-yes update
|
apt-get --force-yes update
|
||||||
apt-get --force-yes -y upgrade
|
apt-get --force-yes -y remove x11-common xserver-xorg-video-all xserver-xorg-core xserver-xorg-video-radeon libgl1-mesa-dri mutt libdrm-intel1 libdrm-radeon1
|
||||||
|
apt-get --force-yes -y install deborphan
|
||||||
|
apt-get --force-yes -y remove `deborphan`
|
||||||
apt-get --force-yes -y dist-upgrade
|
apt-get --force-yes -y dist-upgrade
|
||||||
|
apt-get --force-yes -y upgrade
|
||||||
apt-get install --force-yes -y rubygems1.8 puppet
|
apt-get install --force-yes -y rubygems1.8 puppet
|
||||||
apt-get remove --force-yes -y puppet facter
|
apt-get remove --force-yes -y puppet facter
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user