pupcap 0.1.0 → 0.2.0

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.
@@ -39,6 +39,7 @@ module Pupcap::Action
39
39
  end
40
40
 
41
41
  def cap_load_and_run_task(cap, task)
42
+ cap.load "deploy"
42
43
  cap.load "#{lib_root}/#{task}/Capfile"
43
44
  cap.trigger(:load)
44
45
  cap.find_and_execute_task(task, :before => :start, :after => :finish)
@@ -54,11 +55,18 @@ module Pupcap::Action
54
55
  cap.set :pupcap_root, File.dirname(File.expand_path __FILE__)
55
56
  cap.set :provision_key, "#{cap.local_root}/.keys/provision"
56
57
  cap.set :provision_key_pub, "#{cap.local_root}/.keys/provision.pub"
57
- cap.set :deploy_to, "/tmp/puppet"
58
+ cap.set :deploy_to, "/tmp/pupcap"
58
59
  cap.set :pupcap_options, parsed_options
59
60
  cap.ssh_options[:keys] = cap.provision_key
60
61
  cap.ssh_options[:forward_agent] = true
61
62
  cap.default_run_options[:pty] = true
63
+
64
+ cap.set :deploy_via, :copy
65
+ cap.set :copy_cache, true
66
+ cap.set :copy_exclude, [".git", ".keys"]
67
+ cap.set :repository, "."
68
+ cap.set :keep_releases, 2
69
+ cap.set :use_sudo, false
62
70
  cap
63
71
  end
64
72
  end
@@ -42,7 +42,7 @@ class Pupcap::Action::Apply < Pupcap::Action::Base
42
42
 
43
43
  def default_options
44
44
  {
45
- :file => File.expand_path("Capfile"),
45
+ :file => File.expand_path("Pupcapfile"),
46
46
  :debug => false,
47
47
  :noop => false
48
48
  }
@@ -1,23 +1,32 @@
1
1
  require 'erb'
2
2
 
3
+ namespace :deploy do
4
+ task :finalize_update do
5
+ run("ln -sf #{shared_path}/librarian-puppet-cache #{release_path}/puppet/.tmp")
6
+ run("cd #{release_path}/puppet && test -f #{release_path}/puppet/Puppetfile && /usr/local/bin/librarian-puppet install ; true")
7
+ end
8
+
9
+ task :restart do
10
+ end
11
+ end
12
+
3
13
  namespace :apply do
4
14
  task :default do
5
- rsync
15
+ try_create_dirs
16
+ find_and_execute_task("deploy")
17
+ find_and_execute_task("deploy:cleanup")
6
18
  puppet
7
- cleanup
8
19
  end
9
20
 
10
- task :rsync do
11
- from = "#{local_root}/puppet"
12
- to = deploy_to
13
- upload(from, to, :recursive => true, :via => :scp)
21
+ task :try_create_dirs do
22
+ run("mkdir -p #{deploy_to}/releases ; mkdir -p #{deploy_to}/shared/librarian-puppet-cache ; chmod 0700 #{deploy_to}")
14
23
  end
15
24
 
16
25
  task :puppet do
17
26
  remote_command = "#{deploy_to}/apply.sh"
18
27
 
19
28
  puppet = "/usr/local/bin/puppet"
20
- modules = "--modulepath=#{deploy_to}/modules:#{deploy_to}/site-modules"
29
+ modules = "--modulepath=#{current_path}/puppet/modules:#{current_path}/puppet/site-modules"
21
30
  nook = pupcap_options[:noop] ? " --noop" : ""
22
31
  debug = pupcap_options[:debug] ? " --debug --verbose" : ""
23
32
 
@@ -3,6 +3,6 @@ set -e
3
3
  for role in $(echo "${1}" | tr "," "\n")
4
4
  do
5
5
  echo "*** Role: ${role} ***"
6
- <%= puppet %> apply <%= nook + debug %> --detailed-exitcodes <%= modules %> <%= deploy_to %>/manifests/${role}.pp || true
6
+ <%= puppet %> apply <%= nook + debug %> --detailed-exitcodes <%= modules %> <%= current_path %>/puppet/manifests/${role}.pp || true
7
7
  done
8
8
 
@@ -29,9 +29,9 @@ class Pupcap::Action::Init < Pupcap::Action::Base
29
29
  end
30
30
 
31
31
  def create_capfile
32
- out = "#{work_dir}/Capfile"
32
+ out = "#{work_dir}/Pupcapfile"
33
33
  if !File.exists?(out) || force?
34
- erb = ERB.new(File.read("#{lib_root}/init/Capfile.erb"))
34
+ erb = ERB.new(File.read("#{lib_root}/init/Pupcapfile.erb"))
35
35
  rs = erb.result(binding)
36
36
  File.open(out, "w+"){ |io| io.write rs }
37
37
  puts "\t create Capfile"
@@ -46,7 +46,7 @@ class Pupcap::Action::Prepare < Pupcap::Action::Base
46
46
 
47
47
  def default_options
48
48
  {
49
- :file => File.expand_path("Capfile"),
49
+ :file => File.expand_path("Pupcapfile"),
50
50
  :force => false,
51
51
  :upgrade => false
52
52
  }
@@ -34,7 +34,7 @@ class Pupcap::Action::Ssh < Pupcap::Action::Base
34
34
 
35
35
  def default_options
36
36
  {
37
- :file => File.expand_path("Capfile"),
37
+ :file => File.expand_path("Pupcapfile"),
38
38
  }
39
39
  end
40
40
  end
@@ -4,7 +4,7 @@ module Pupcap
4
4
  class Version
5
5
 
6
6
  MAJOR = 0
7
- MINOR = 1
7
+ MINOR = 2
8
8
  PATCH = 0
9
9
 
10
10
  def self.to_s
@@ -23,14 +23,17 @@ Gem::Specification.new do |s|
23
23
  s.add_runtime_dependency(%q<capistrano>, [">= 2.12.0"])
24
24
  s.add_runtime_dependency(%q<vagrant>, [">= 1.0.0"])
25
25
  s.add_runtime_dependency(%q<librarian-puppet>, [">= 0.9.7"])
26
+ s.add_runtime_dependency(%q<net-ssh-multi>, [">= 1.1.0"])
26
27
  else
27
28
  s.add_dependency(%q<capistrano>, [">= 2.12.0"])
28
29
  s.add_dependency(%q<vagrant>, [">= 1.0.0"])
29
30
  s.add_dependency(%q<librarian-puppet>, [">= 0.9.7"])
31
+ s.add_dependency(%q<net-ssh-multi>, [">= 1.1.0"])
30
32
  end
31
33
  else
32
34
  s.add_dependency(%q<capistrano>, [">= 2.12.0"])
33
35
  s.add_dependency(%q<vagrant>, [">= 1.0.0"])
34
36
  s.add_dependency(%q<librarian-puppet>, [">= 0.9.7"])
37
+ s.add_dependency(%q<net-ssh-multi>, [">= 1.1.0"])
35
38
  end
36
39
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pupcap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -59,6 +59,22 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.9.7
62
+ - !ruby/object:Gem::Dependency
63
+ name: net-ssh-multi
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 1.1.0
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.1.0
62
78
  description: under development description
63
79
  email:
64
80
  - dima.exe@gmail.com
@@ -78,7 +94,7 @@ files:
78
94
  - lib/pupcap/action/apply/Capfile
79
95
  - lib/pupcap/action/apply/puppet.sh.erb
80
96
  - lib/pupcap/action/init.rb
81
- - lib/pupcap/action/init/Capfile.erb
97
+ - lib/pupcap/action/init/Pupcapfile.erb
82
98
  - lib/pupcap/action/init/Vagrantfile.erb
83
99
  - lib/pupcap/action/init/gitignore
84
100
  - lib/pupcap/action/init/site.pp.erb