rubber 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +41 -0
 - data/VERSION +1 -1
 - data/generators/vulcanize/templates/base/config/rubber/deploy-setup.rb +1 -1
 - data/generators/vulcanize/templates/base/config/rubber/rubber.yml +1 -1
 - data/generators/vulcanize/templates/jetty/config/rubber/deploy-jetty.rb +1 -1
 - data/generators/vulcanize/templates/mysql/config/rubber/deploy-mysql.rb +2 -2
 - data/generators/vulcanize/templates/passenger/config/rubber/role/passenger/passenger.conf +25 -0
 - data/lib/rubber/recipes/rubber/setup.rb +15 -2
 - metadata +4 -16
 
    
        data/CHANGELOG
    CHANGED
    
    | 
         @@ -1,3 +1,44 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            1.3.0
         
     | 
| 
      
 2 
     | 
    
         
            +
            -----
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            fix release process <4e1243b> [Matt Conway]
         
     | 
| 
      
 5 
     | 
    
         
            +
            more tests <6a70bb5> [Matt Conway]
         
     | 
| 
      
 6 
     | 
    
         
            +
            Merge branch 'master' into zerigo_api_1_1 <9d5fb10> [Matt Conway]
         
     | 
| 
      
 7 
     | 
    
         
            +
            Merge branch 'master' into canonical_ami <b40f95a> [Matt Conway]
         
     | 
| 
      
 8 
     | 
    
         
            +
            preserver backwards compatbility with sysklog in older ubuntu images <daf3283> [Matt Conway]
         
     | 
| 
      
 9 
     | 
    
         
            +
            Bump rubygems version. <60509fb> [Kevin Menard]
         
     | 
| 
      
 10 
     | 
    
         
            +
            Redis version bump. <89ca8ee> [Kevin Menard]
         
     | 
| 
      
 11 
     | 
    
         
            +
            Merge branch 'master' into canonical_ami <fc62f2e> [Matt Conway]
         
     | 
| 
      
 12 
     | 
    
         
            +
            ruby 1.9 fix for to_a (thanks to rlewis) <19fa3c1> [Matt Conway]
         
     | 
| 
      
 13 
     | 
    
         
            +
            Fixed compatibility issues with Ruby 1.9.x <d037136> [Matt Conway]
         
     | 
| 
      
 14 
     | 
    
         
            +
            Merge branch 'jrhicks/master' <b28fa6a> [Matt Conway]
         
     | 
| 
      
 15 
     | 
    
         
            +
            disable debian.cnf copy <fdbbf8c> [Matt Conway]
         
     | 
| 
      
 16 
     | 
    
         
            +
            prevent backups when generating apparmor config file <2cc50b6> [Matt Conway]
         
     | 
| 
      
 17 
     | 
    
         
            +
            cleanup remote ruby script execution <86da61e> [Matt Conway]
         
     | 
| 
      
 18 
     | 
    
         
            +
            fix force flag, add backup flag for disabling backups (e.g. in /etc/*.d directories) <9e749fd> [Matt Conway]
         
     | 
| 
      
 19 
     | 
    
         
            +
            prevent ubuntu 9.10 ec2-init script from changing hostname <739a495> [Matt Conway]
         
     | 
| 
      
 20 
     | 
    
         
            +
            fix monit config for new version in ubuntu 9.10 <6df5a33> [Matt Conway]
         
     | 
| 
      
 21 
     | 
    
         
            +
            move mysql reconfigure to common mysql bootstrap <4ce6255> [Matt Conway]
         
     | 
| 
      
 22 
     | 
    
         
            +
            fix mysql deploy for new ubuntu <7ef0ae7> [Matt Conway]
         
     | 
| 
      
 23 
     | 
    
         
            +
            Ubuntu using rsyslog now <904f225> [Matt Conway]
         
     | 
| 
      
 24 
     | 
    
         
            +
            update to latest rubygems <7722ba6> [Matt Conway]
         
     | 
| 
      
 25 
     | 
    
         
            +
            use sudo everywhere in case users don't want to run as root <8b19367> [Matt Conway]
         
     | 
| 
      
 26 
     | 
    
         
            +
            allow root login to canonical amis <d04b7f1> [Matt Conway]
         
     | 
| 
      
 27 
     | 
    
         
            +
            Switch to canonical AMIs <4cd540e> [Matt Conway]
         
     | 
| 
      
 28 
     | 
    
         
            +
            fix 404, use zone.id <2219de4> [Matt Conway]
         
     | 
| 
      
 29 
     | 
    
         
            +
            Merge branch 'zerigo_api_1_1' of github.com:wr0ngway/rubber into zerigo_api_1_1 <23f7b70> [Matt Conway]
         
     | 
| 
      
 30 
     | 
    
         
            +
            no need for customer id in new zerigo api <e91589a> [Matt Conway]
         
     | 
| 
      
 31 
     | 
    
         
            +
            using zerigo api v1.1 <1aecee3> [Matt Conway]
         
     | 
| 
      
 32 
     | 
    
         
            +
            no need for customer id in new zerigo api <45c4258> [Matt Conway]
         
     | 
| 
      
 33 
     | 
    
         
            +
            using zerigo api v1.1 <8784286> [Matt Conway]
         
     | 
| 
      
 34 
     | 
    
         
            +
            Only proxy app roles since mongrel may be used by non-app roles. <3dd218d> [Kevin Menard]
         
     | 
| 
      
 35 
     | 
    
         
            +
            Only proxy app roles since passenger may be used for non-app roles, too. <13a7f49> [Kevin Menard]
         
     | 
| 
      
 36 
     | 
    
         
            +
            Add capistrano task to move data from deploy client to production server.  cap rubber:mysql:local_to_ec2 <628920d> [Jeffrey Hicks]
         
     | 
| 
      
 37 
     | 
    
         
            +
            Added mysql cap commands rubber:mysql:backup and rubber:mysql:restore_s3 <2f3c535> [Jeffrey Hicks]
         
     | 
| 
      
 38 
     | 
    
         
            +
            Added mysql client headers to mysql package to allow compilation of mysql <89c5a38> [Jeffrey Hicks]
         
     | 
| 
      
 39 
     | 
    
         
            +
            Passenger bump. <d09934e> [Kevin Menard]
         
     | 
| 
      
 40 
     | 
    
         
            +
            Use full path to ruby in case munin's path doesn't work due to non-login shell. <c9ec151> [Kevin Menard]
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
       1 
42 
     | 
    
         
             
            1.2.1
         
     | 
| 
       2 
43 
     | 
    
         
             
            -----
         
     | 
| 
       3 
44 
     | 
    
         | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            1.3. 
     | 
| 
      
 1 
     | 
    
         
            +
            1.3.1
         
     | 
| 
         @@ -140,7 +140,7 @@ ruby_prefix: "#{use_enterprise_ruby ? '/usr/local' : '/usr'}" 
     | 
|
| 
       140 
140 
     | 
    
         
             
            # OPTIONAL: The packages to install on all instances
         
     | 
| 
       141 
141 
     | 
    
         
             
            # You can install a specific version of a package by using a sub-array of pkg, version
         
     | 
| 
       142 
142 
     | 
    
         
             
            # For example, packages: [[rake, 0.7.1], irb]
         
     | 
| 
       143 
     | 
    
         
            -
            packages: [postfix, build-essential, ruby-full, ruby1.8-dev, rake, irb, git-core]
         
     | 
| 
      
 143 
     | 
    
         
            +
            packages: [postfix, build-essential, ruby-full, ruby1.8-dev, rake, irb, git-core, ec2-ami-tools]
         
     | 
| 
       144 
144 
     | 
    
         | 
| 
       145 
145 
     | 
    
         
             
            # OPTIONAL: gem sources to setup for rubygems
         
     | 
| 
       146 
146 
     | 
    
         
             
            # gemsources: ["http://rubygems.org", "http://gems.github.com"]
         
     | 
| 
         @@ -10,7 +10,7 @@ namespace :rubber do 
     | 
|
| 
       10 
10 
     | 
    
         
             
                task :custom_install, :roles => :jetty do
         
     | 
| 
       11 
11 
     | 
    
         
             
                  rubber.sudo_script 'install_jetty', <<-ENDSCRIPT
         
     | 
| 
       12 
12 
     | 
    
         
             
                    if [[ -z `ls #{rubber_env.jetty_prefix}/jetty-hightide-#{rubber_env.jetty_version} 2> /dev/null` ]]; then
         
     | 
| 
       13 
     | 
    
         
            -
                      wget - 
     | 
| 
      
 13 
     | 
    
         
            +
                      wget -qN http://dist.codehaus.org/jetty/jetty-hightide-7.0.0/jetty-hightide-#{rubber_env.jetty_version}.tar.gz
         
     | 
| 
       14 
14 
     | 
    
         
             
                      tar -zxf jetty-hightide-#{rubber_env.jetty_version}.tar.gz
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                      # Install to appropriate location.
         
     | 
| 
         @@ -132,8 +132,8 @@ namespace :rubber do 
     | 
|
| 
       132 
132 
     | 
    
         
             
                task :custom_install_munin, :roles => [:mysql_master, :mysql_slave] do
         
     | 
| 
       133 
133 
     | 
    
         
             
                  rubber.sudo_script 'install_munin_mysql', <<-ENDSCRIPT
         
     | 
| 
       134 
134 
     | 
    
         
             
                    if [ ! -f /usr/share/munin/plugins/mysql_ ]; then
         
     | 
| 
       135 
     | 
    
         
            -
                      wget - 
     | 
| 
       136 
     | 
    
         
            -
                      wget - 
     | 
| 
      
 135 
     | 
    
         
            +
                      wget -qN -O /usr/share/munin/plugins/mysql_ http://github.com/kjellm/munin-mysql/raw/master/mysql_
         
     | 
| 
      
 136 
     | 
    
         
            +
                      wget -qN -O /etc/munin/plugin-conf.d/mysql_.conf http://github.com/kjellm/munin-mysql/raw/master/mysql_.conf
         
     | 
| 
       137 
137 
     | 
    
         
             
                    fi
         
     | 
| 
       138 
138 
     | 
    
         
             
                  ENDSCRIPT
         
     | 
| 
       139 
139 
     | 
    
         
             
                end
         
     | 
| 
         @@ -7,4 +7,29 @@ PassengerRoot <%= rubber_env.passenger_root %> 
     | 
|
| 
       7 
7 
     | 
    
         
             
            PassengerRuby <%= rubber_env.passenger_ruby %>
         
     | 
| 
       8 
8 
     | 
    
         
             
            PassengerUseGlobalQueue on
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
            # max number of rails instances per appserver
         
     | 
| 
       10 
11 
     | 
    
         
             
            PassengerMaxPoolSize <%= rubber_env.max_app_connections %>
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            # Use PassengerMaxPoolSize for limit as we only have 1 app
         
     | 
| 
      
 14 
     | 
    
         
            +
            PassengerMaxInstancesPerApp 0
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            # For performances sake, never shutdown rails instances when idle
         
     | 
| 
      
 17 
     | 
    
         
            +
            PassengerPoolIdleTime 0
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            # For performances sake, never shutdown a rails instance after N requests
         
     | 
| 
      
 20 
     | 
    
         
            +
            PassengerMaxRequests 0
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            # Passenger checks stuff like restart.txt on every request when this is 0
         
     | 
| 
      
 23 
     | 
    
         
            +
            PassengerStatThrottleRate <%= RUBBER_ENV == 'production' ? '60' : '0' %>
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            # Turning this on breaks mod_rewrite
         
     | 
| 
      
 26 
     | 
    
         
            +
            PassengerHighPerformance off
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            # Cache framework code per application
         
     | 
| 
      
 29 
     | 
    
         
            +
            RailsSpawnMethod smart-lv2
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            # For performances sake, don't ever unload framework spawner
         
     | 
| 
      
 32 
     | 
    
         
            +
            RailsFrameworkSpawnerIdleTime 0
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            # For performances sake, don't ever unload app spawner
         
     | 
| 
      
 35 
     | 
    
         
            +
            RailsAppSpawnerIdleTime 0
         
     | 
| 
         @@ -9,6 +9,7 @@ namespace :rubber do 
     | 
|
| 
       9 
9 
     | 
    
         
             
              task :bootstrap do
         
     | 
| 
       10 
10 
     | 
    
         
             
                link_bash
         
     | 
| 
       11 
11 
     | 
    
         
             
                set_timezone
         
     | 
| 
      
 12 
     | 
    
         
            +
                enable_multiverse
         
     | 
| 
       12 
13 
     | 
    
         
             
                upgrade_packages
         
     | 
| 
       13 
14 
     | 
    
         
             
                install_packages
         
     | 
| 
       14 
15 
     | 
    
         
             
                setup_volumes
         
     | 
| 
         @@ -196,7 +197,7 @@ namespace :rubber do 
     | 
|
| 
       196 
197 
     | 
    
         
             
                  # Setup hostname on instance so shell, etcs have nice display
         
     | 
| 
       197 
198 
     | 
    
         
             
                  sudo "sh -c 'echo $CAPISTRANO:HOST$ > /etc/hostname && hostname $CAPISTRANO:HOST$'"
         
     | 
| 
       198 
199 
     | 
    
         
             
                  # Newer ubuntus ec2-init script always resets hostname, so prevent it
         
     | 
| 
       199 
     | 
    
         
            -
                  sudo "sh -c 'echo compat=0 > /etc/ec2-init/is-compat-env'"
         
     | 
| 
      
 200 
     | 
    
         
            +
                  sudo "sh -c 'mkdir -p/etc/ec2-init && echo compat=0 > /etc/ec2-init/is-compat-env'"
         
     | 
| 
       200 
201 
     | 
    
         
             
                end
         
     | 
| 
       201 
202 
     | 
    
         | 
| 
       202 
203 
     | 
    
         
             
                # TODO
         
     | 
| 
         @@ -348,6 +349,18 @@ namespace :rubber do 
     | 
|
| 
       348 
349 
     | 
    
         
             
                ENDSCRIPT
         
     | 
| 
       349 
350 
     | 
    
         
             
              end
         
     | 
| 
       350 
351 
     | 
    
         | 
| 
      
 352 
     | 
    
         
            +
              desc <<-DESC
         
     | 
| 
      
 353 
     | 
    
         
            +
                Enable the ubuntu multiverse source for getting packages like
         
     | 
| 
      
 354 
     | 
    
         
            +
                ec2-ami-tools used for bundling images
         
     | 
| 
      
 355 
     | 
    
         
            +
              DESC
         
     | 
| 
      
 356 
     | 
    
         
            +
              task :enable_multiverse do
         
     | 
| 
      
 357 
     | 
    
         
            +
                sudo_script 'enable_multiverse', <<-ENDSCRIPT
         
     | 
| 
      
 358 
     | 
    
         
            +
                  if ! grep -qc multiverse /etc/apt/sources.list /etc/apt/sources.list.d/* &> /dev/null; then
         
     | 
| 
      
 359 
     | 
    
         
            +
                    cat /etc/apt/sources.list | sed 's/main universe/multiverse/' > /etc/apt/sources.list.d/rubber-multiverse-source.list
         
     | 
| 
      
 360 
     | 
    
         
            +
                  fi
         
     | 
| 
      
 361 
     | 
    
         
            +
                ENDSCRIPT
         
     | 
| 
      
 362 
     | 
    
         
            +
              end
         
     | 
| 
      
 363 
     | 
    
         
            +
              
         
     | 
| 
       351 
364 
     | 
    
         
             
              def update_dyndns(instance_item)
         
     | 
| 
       352 
365 
     | 
    
         
             
                env = rubber_cfg.environment.bind(instance_item.role_names, instance_item.name)
         
     | 
| 
       353 
366 
     | 
    
         
             
                if env.dns_provider
         
     | 
| 
         @@ -395,7 +408,7 @@ namespace :rubber do 
     | 
|
| 
       395 
408 
     | 
    
         
             
                      src="#{url_base}/#{name}_#{ver}_i386.deb"
         
     | 
| 
       396 
409 
     | 
    
         
             
                    fi
         
     | 
| 
       397 
410 
     | 
    
         
             
                    src_file="${src##*/}"
         
     | 
| 
       398 
     | 
    
         
            -
                    wget - 
     | 
| 
      
 411 
     | 
    
         
            +
                    wget -qNP /tmp ${src}
         
     | 
| 
       399 
412 
     | 
    
         
             
                    dpkg -i /tmp/${src_file}
         
     | 
| 
       400 
413 
     | 
    
         
             
                  fi
         
     | 
| 
       401 
414 
     | 
    
         
             
                ENDSCRIPT
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 1
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 3
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 1.3. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 1
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 1.3.1
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Matt Conway
         
     | 
| 
         @@ -14,7 +14,7 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2010-04- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2010-04-12 00:00:00 -04:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: vulcanize
         
     | 
| 
       19 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -82,7 +82,7 @@ dependencies: 
     | 
|
| 
       82 
82 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       83 
83 
     | 
    
         
             
              version_requirements: *id005
         
     | 
| 
       84 
84 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       85 
     | 
    
         
            -
              name:  
     | 
| 
      
 85 
     | 
    
         
            +
              name: rails
         
     | 
| 
       86 
86 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       87 
87 
     | 
    
         
             
              requirement: &id006 !ruby/object:Gem::Requirement 
         
     | 
| 
       88 
88 
     | 
    
         
             
                requirements: 
         
     | 
| 
         @@ -93,18 +93,6 @@ dependencies: 
     | 
|
| 
       93 
93 
     | 
    
         
             
                    version: "0"
         
     | 
| 
       94 
94 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       95 
95 
     | 
    
         
             
              version_requirements: *id006
         
     | 
| 
       96 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       97 
     | 
    
         
            -
              name: rails
         
     | 
| 
       98 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       99 
     | 
    
         
            -
              requirement: &id007 !ruby/object:Gem::Requirement 
         
     | 
| 
       100 
     | 
    
         
            -
                requirements: 
         
     | 
| 
       101 
     | 
    
         
            -
                - - ">="
         
     | 
| 
       102 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
         
     | 
| 
       103 
     | 
    
         
            -
                    segments: 
         
     | 
| 
       104 
     | 
    
         
            -
                    - 0
         
     | 
| 
       105 
     | 
    
         
            -
                    version: "0"
         
     | 
| 
       106 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       107 
     | 
    
         
            -
              version_requirements: *id007
         
     | 
| 
       108 
96 
     | 
    
         
             
            description: The rubber plugin enables relatively complex multi-instance deployments of RubyOnRails applications to Amazon's Elastic Compute Cloud (EC2).  Like capistrano, rubber is role based, so you can define a set of configuration files for a role and then assign that role to as many concrete instances as needed. One can also assign multiple roles to a single instance. This lets one start out with a single ec2 instance (belonging to all roles), and add new instances into the mix as needed to scale specific facets of your deployment, e.g. adding in instances that serve only as an 'app' role to handle increased app server load.
         
     | 
| 
       109 
97 
     | 
    
         
             
            email: matt@conwaysplace.com
         
     | 
| 
       110 
98 
     | 
    
         
             
            executables: 
         
     |