chef_cap 0.0.5 → 0.0.7
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/.gitignore +1 -0
- data/.rvmrc +1 -1
- data/Capfile +16 -0
- data/Gemfile +2 -1
- data/README.rdoc +1 -3
- data/Rakefile +3 -0
- data/chef/node.json +41 -0
- data/lib/chef_cap/version.rb +1 -1
- data/lib/chef_cap.rb +1 -1
- data/recipes/chef_cap.rb +4 -1
- data/recipes/lib/chef_cap_helper.rb +17 -1
- data/spec/chef_cap_helper_spec.rb +31 -0
- data/spec/chef_cap_spec.rb +2 -1
- metadata +5 -4
- data/Gemfile.lock +0 -37
    
        data/.gitignore
    CHANGED
    
    
    
        data/.rvmrc
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            rvm 1.9.2- | 
| 1 | 
            +
            rvm 1.9.2-p136@chef_cap
         | 
    
        data/Capfile
    ADDED
    
    | @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            require 'rubygems'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # Set up gems listed in the Gemfile.
         | 
| 4 | 
            +
            gemfile = File.expand_path('Gemfile', __FILE__)
         | 
| 5 | 
            +
            begin
         | 
| 6 | 
            +
              ENV['BUNDLE_GEMFILE'] = gemfile
         | 
| 7 | 
            +
              require 'bundler'
         | 
| 8 | 
            +
              Bundler.setup
         | 
| 9 | 
            +
            rescue Bundler::GemNotFound => e
         | 
| 10 | 
            +
              STDERR.puts e.message
         | 
| 11 | 
            +
              STDERR.puts "Try running `bundle install`."
         | 
| 12 | 
            +
              exit!
         | 
| 13 | 
            +
            end if File.exist?(gemfile)
         | 
| 14 | 
            +
            require File.join(File.dirname(__FILE__), "lib/chef_cap")
         | 
| 15 | 
            +
            load 'deploy' if respond_to?(:namespace) # cap2 differentiator
         | 
| 16 | 
            +
            ::ChefCap::Capistrano.load_recipes(self)
         | 
    
        data/Gemfile
    CHANGED
    
    
    
        data/README.rdoc
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    
    
        data/chef/node.json
    ADDED
    
    | @@ -0,0 +1,41 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "application": {
         | 
| 3 | 
            +
                "name": "your-app-name",
         | 
| 4 | 
            +
                "repository": "your-repo"
         | 
| 5 | 
            +
              },
         | 
| 6 | 
            +
              "upload": [
         | 
| 7 | 
            +
              ],
         | 
| 8 | 
            +
              "environments": {
         | 
| 9 | 
            +
                "defaults": {
         | 
| 10 | 
            +
                  "user": "deploy",
         | 
| 11 | 
            +
                  "branch": "master"
         | 
| 12 | 
            +
                },
         | 
| 13 | 
            +
                "production": {
         | 
| 14 | 
            +
                  "rails_env": "production",
         | 
| 15 | 
            +
                  "database": {
         | 
| 16 | 
            +
                    "user": "production-db-user",
         | 
| 17 | 
            +
                    "host": "production-db-host"
         | 
| 18 | 
            +
                  },
         | 
| 19 | 
            +
                  "servers": [
         | 
| 20 | 
            +
                    {
         | 
| 21 | 
            +
                      "hostname": "some.fq.dn",
         | 
| 22 | 
            +
                      "roles": ["web", "app", "db"],
         | 
| 23 | 
            +
                      "primary": ["web", "app", "db"]
         | 
| 24 | 
            +
                    }
         | 
| 25 | 
            +
                  ]
         | 
| 26 | 
            +
                }
         | 
| 27 | 
            +
              },
         | 
| 28 | 
            +
              "shared": {
         | 
| 29 | 
            +
                "gems": [
         | 
| 30 | 
            +
                  { "name": "bundler" },
         | 
| 31 | 
            +
                  { "name": "chef", "version": ">=0.9.12" }
         | 
| 32 | 
            +
                ],
         | 
| 33 | 
            +
                "run_list": ["gems"]
         | 
| 34 | 
            +
              },
         | 
| 35 | 
            +
              "roles": {
         | 
| 36 | 
            +
                "web": {},
         | 
| 37 | 
            +
                "app": {},
         | 
| 38 | 
            +
                "db": {}
         | 
| 39 | 
            +
              }
         | 
| 40 | 
            +
              // "deploy_recipe": "yourcustomdeployrecipe",
         | 
| 41 | 
            +
            }
         | 
    
        data/lib/chef_cap/version.rb
    CHANGED
    
    
    
        data/lib/chef_cap.rb
    CHANGED
    
    
    
        data/recipes/chef_cap.rb
    CHANGED
    
    | @@ -134,7 +134,9 @@ end | |
| 134 134 | 
             
            namespace :chef do
         | 
| 135 135 | 
             
              desc "Setup chef solo on the server(s)"
         | 
| 136 136 | 
             
              task :setup do
         | 
| 137 | 
            -
                 | 
| 137 | 
            +
                gem_check_for_chef_cmd = "gem specification --version '>=0.9.12' chef 2>&1 | awk 'BEGIN { s = 0 } /^name:/ { s = 1; exit }; END { if(s == 0) exit 1 }'"
         | 
| 138 | 
            +
                install_chef_cmd = "sudo rvm default exec gem install chef --no-ri --no-rdoc"
         | 
| 139 | 
            +
                sudo "rvm default exec #{gem_check_for_chef_cmd} || #{install_chef_cmd} && echo 'Chef Solo already on this server.'"
         | 
| 138 140 | 
             
                sudo "rvm default exec which chef-solo"
         | 
| 139 141 | 
             
              end
         | 
| 140 142 |  | 
| @@ -165,6 +167,7 @@ namespace :chef do | |
| 165 167 | 
             
                    env_settings.each { |k, v| ChefCapHelper.recursive_merge(json_to_modify["environment"] || {}, k, v) }
         | 
| 166 168 |  | 
| 167 169 | 
             
                    json_to_modify["environment"]["revision"] = ChefCapHelper.set_revision if ChefCapHelper.has_revision?
         | 
| 170 | 
            +
                    json_to_modify["environment"]["branch"] = ChefCapHelper.set_branch if ChefCapHelper.has_branch?
         | 
| 168 171 | 
             
                    json_to_modify["environment"]["servers"] = ChefCapHelper.intialize_primary_values(json_to_modify["environment"]["servers"])
         | 
| 169 172 |  | 
| 170 173 | 
             
                    should_not_deploy = no_deploy rescue false
         | 
| @@ -49,7 +49,23 @@ class ChefCapHelper | |
| 49 49 | 
             
                end
         | 
| 50 50 |  | 
| 51 51 | 
             
                def set_revision
         | 
| 52 | 
            -
                   | 
| 52 | 
            +
                  ["rev", "tag", "revision"].each do |word|
         | 
| 53 | 
            +
                    [word, word.upcase, "-S#{word}"].each do |variable|
         | 
| 54 | 
            +
                      return ENV[variable] if ENV[variable]
         | 
| 55 | 
            +
                    end
         | 
| 56 | 
            +
                  end
         | 
| 57 | 
            +
                  nil
         | 
| 58 | 
            +
                end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                def set_branch
         | 
| 61 | 
            +
                  ["branch", "BRANCH", "-Sbranch"].each do |variable|
         | 
| 62 | 
            +
                    return ENV[variable] if ENV[variable]
         | 
| 63 | 
            +
                  end
         | 
| 64 | 
            +
                  nil
         | 
| 65 | 
            +
                end
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                def has_branch?
         | 
| 68 | 
            +
                  !set_branch.nil?
         | 
| 53 69 | 
             
                end
         | 
| 54 70 |  | 
| 55 71 | 
             
                def has_revision?
         | 
| @@ -123,4 +123,35 @@ describe ChefDnaParser do | |
| 123 123 | 
             
                  ChefCapHelper.intialize_primary_values(array_of_servers_hash).should == array_of_servers_hash
         | 
| 124 124 | 
             
                end
         | 
| 125 125 | 
             
              end
         | 
| 126 | 
            +
             | 
| 127 | 
            +
              describe ".set_revision" do
         | 
| 128 | 
            +
                ["rev", "tag", "revision"].each do |word|
         | 
| 129 | 
            +
                  [word, word.upcase, "-S#{word}"].each do |variable|
         | 
| 130 | 
            +
                    it "returns the value of ENV['#{variable}']" do
         | 
| 131 | 
            +
                      value = Time.now.to_f.to_s
         | 
| 132 | 
            +
                      ENV["#{variable}"] = value
         | 
| 133 | 
            +
                      ChefCapHelper.set_revision.should == value
         | 
| 134 | 
            +
                    end
         | 
| 135 | 
            +
             | 
| 136 | 
            +
                    after :each do
         | 
| 137 | 
            +
                      ENV["#{variable}"] = nil
         | 
| 138 | 
            +
                    end
         | 
| 139 | 
            +
                  end
         | 
| 140 | 
            +
                end
         | 
| 141 | 
            +
              end
         | 
| 142 | 
            +
             | 
| 143 | 
            +
              describe ".set_branch" do
         | 
| 144 | 
            +
                ["branch", "BRANCH", "-Sbranch"].each do |variable|
         | 
| 145 | 
            +
                  it "returns the value of ENV['#{variable}']" do
         | 
| 146 | 
            +
                    value = Time.now.to_f.to_s
         | 
| 147 | 
            +
                    ENV["#{variable}"] = value
         | 
| 148 | 
            +
                    ChefCapHelper.set_branch.should == value
         | 
| 149 | 
            +
                  end
         | 
| 150 | 
            +
             | 
| 151 | 
            +
                  after :each do
         | 
| 152 | 
            +
                    ENV["#{variable}"] = nil
         | 
| 153 | 
            +
                  end
         | 
| 154 | 
            +
                end
         | 
| 155 | 
            +
              end
         | 
| 156 | 
            +
             | 
| 126 157 | 
             
            end
         | 
    
        data/spec/chef_cap_spec.rb
    CHANGED
    
    | @@ -785,6 +785,7 @@ describe "chef_cap" do | |
| 785 785 |  | 
| 786 786 | 
             
                it "shoves the value into the node json alongside branch" do
         | 
| 787 787 | 
             
                  ENV['rev'] = "123"
         | 
| 788 | 
            +
                  ENV['branch'] = "somebranch"
         | 
| 788 789 | 
             
                  chef_cap.stub!(:put => "stubbed")
         | 
| 789 790 | 
             
                  chef_cap.stub!(:upload => "stubbed")
         | 
| 790 791 | 
             
                  chef_cap.stub!(:sudo => "stubbed")
         | 
| @@ -798,7 +799,7 @@ describe "chef_cap" do | |
| 798 799 | 
             
                       "something"=>"other", "foo"=>"bar",
         | 
| 799 800 | 
             
                       "chef"=>{"root"=>"path_to_cookbooks"},
         | 
| 800 801 | 
             
                       "run_list"=>nil, "shared"=>{"foo"=>"bar"},
         | 
| 801 | 
            -
                       "environment"=> {"revision"=>"123", "servers"=>[{"primary" => [], "hostname"=>"localhost", "roles"=>["role1", "role2"]}]}, "roles"=>{"role1"=>{"something"=>"other"}}}
         | 
| 802 | 
            +
                       "environment"=> {"revision"=>"123", "branch" => "somebranch", "servers"=>[{"primary" => [], "hostname"=>"localhost", "roles"=>["role1", "role2"]}]}, "roles"=>{"role1"=>{"something"=>"other"}}}
         | 
| 802 803 | 
             
                    )
         | 
| 803 804 | 
             
                  }
         | 
| 804 805 | 
             
                  chef_cap.cap_task["chef:deploy"].call
         | 
    
        metadata
    CHANGED
    
    | @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version | |
| 5 5 | 
             
              segments: 
         | 
| 6 6 | 
             
              - 0
         | 
| 7 7 | 
             
              - 0
         | 
| 8 | 
            -
              -  | 
| 9 | 
            -
              version: 0.0. | 
| 8 | 
            +
              - 7
         | 
| 9 | 
            +
              version: 0.0.7
         | 
| 10 10 | 
             
            platform: ruby
         | 
| 11 11 | 
             
            authors: 
         | 
| 12 12 | 
             
            - Case Commons, LLC
         | 
| @@ -14,7 +14,7 @@ autorequire: | |
| 14 14 | 
             
            bindir: bin
         | 
| 15 15 | 
             
            cert_chain: []
         | 
| 16 16 |  | 
| 17 | 
            -
            date: 2011-01- | 
| 17 | 
            +
            date: 2011-01-21 00:00:00 -05:00
         | 
| 18 18 | 
             
            default_executable: 
         | 
| 19 19 | 
             
            dependencies: 
         | 
| 20 20 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -45,11 +45,12 @@ files: | |
| 45 45 | 
             
            - .gitignore
         | 
| 46 46 | 
             
            - .rspec
         | 
| 47 47 | 
             
            - .rvmrc
         | 
| 48 | 
            +
            - Capfile
         | 
| 48 49 | 
             
            - Gemfile
         | 
| 49 | 
            -
            - Gemfile.lock
         | 
| 50 50 | 
             
            - LICENSE
         | 
| 51 51 | 
             
            - README.rdoc
         | 
| 52 52 | 
             
            - Rakefile
         | 
| 53 | 
            +
            - chef/node.json
         | 
| 53 54 | 
             
            - chef_cap.gemspec
         | 
| 54 55 | 
             
            - fixtures/parser.json
         | 
| 55 56 | 
             
            - fixtures/ssh_deploy_key
         | 
    
        data/Gemfile.lock
    DELETED
    
    | @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            GEM
         | 
| 2 | 
            -
              remote: http://rubygems.org/
         | 
| 3 | 
            -
              specs:
         | 
| 4 | 
            -
                capistrano (2.5.19)
         | 
| 5 | 
            -
                  highline
         | 
| 6 | 
            -
                  net-scp (>= 1.0.0)
         | 
| 7 | 
            -
                  net-sftp (>= 2.0.0)
         | 
| 8 | 
            -
                  net-ssh (>= 2.0.14)
         | 
| 9 | 
            -
                  net-ssh-gateway (>= 1.0.0)
         | 
| 10 | 
            -
                diff-lcs (1.1.2)
         | 
| 11 | 
            -
                highline (1.6.1)
         | 
| 12 | 
            -
                net-scp (1.0.4)
         | 
| 13 | 
            -
                  net-ssh (>= 1.99.1)
         | 
| 14 | 
            -
                net-sftp (2.0.5)
         | 
| 15 | 
            -
                  net-ssh (>= 2.0.9)
         | 
| 16 | 
            -
                net-ssh (2.0.23)
         | 
| 17 | 
            -
                net-ssh-gateway (1.0.1)
         | 
| 18 | 
            -
                  net-ssh (>= 1.99.1)
         | 
| 19 | 
            -
                rspec (2.1.0)
         | 
| 20 | 
            -
                  rspec-core (~> 2.1.0)
         | 
| 21 | 
            -
                  rspec-expectations (~> 2.1.0)
         | 
| 22 | 
            -
                  rspec-mocks (~> 2.1.0)
         | 
| 23 | 
            -
                rspec-core (2.1.0)
         | 
| 24 | 
            -
                rspec-expectations (2.1.0)
         | 
| 25 | 
            -
                  diff-lcs (~> 1.1.2)
         | 
| 26 | 
            -
                rspec-mocks (2.1.0)
         | 
| 27 | 
            -
                rspec-rails (2.1.0)
         | 
| 28 | 
            -
                  rspec (~> 2.1.0)
         | 
| 29 | 
            -
                wirble (0.1.3)
         | 
| 30 | 
            -
             | 
| 31 | 
            -
            PLATFORMS
         | 
| 32 | 
            -
              ruby
         | 
| 33 | 
            -
             | 
| 34 | 
            -
            DEPENDENCIES
         | 
| 35 | 
            -
              capistrano
         | 
| 36 | 
            -
              rspec-rails (= 2.1)
         | 
| 37 | 
            -
              wirble
         |