capistrano-foreman 1.2.0 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a074314158aaf705130e0fc22a91fe9cd598e70b
4
- data.tar.gz: 30cf5f1dc0b200c517247310b4de12a05e800ffe
3
+ metadata.gz: 72d27f301f00f266dfa92a4789280b467e825456
4
+ data.tar.gz: 13d23913abd8b7831cc87aab90f574ea9c281010
5
5
  SHA512:
6
- metadata.gz: 4f093dd032f43b9114beeee3939d6fce1dbef4cd33bd9e41ba9be5e8a506d972693ff45766257d96fdca7c7147af76fde745178127e88c787c036ea3c9dc5f2f
7
- data.tar.gz: 9f4997e77dd54fc68614c980b9b58ea182f4d3cbfb9e75ed40a9a62b31954d2557a256c3a19e6df0471fad2c3e8a83079129d38f3bbb9270e97a9d2b592cc44b
6
+ metadata.gz: 590652ab4c24ac7f27abf4e2b93dc1b2e7b68b963b8b661996ba0c245a065fb8adcf35ed448f42a6afd3f6466504afaa9734ca274eb5ffcb7bf2a13e1ead7e74
7
+ data.tar.gz: 2b7d6c5c9d78765b6c8bdd8ea8fbbfe80ec2a3aa0ee357983705e5d0878f3883b7f375261cb33d0c0b43c13ae3a785310e5a796e51d629e30509213c0fe7d21a
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Code Climate](https://img.shields.io/codeclimate/github/hyperoslo/capistrano-foreman.svg?style=flat)](https://codeclimate.com/github/hyperoslo/capistrano-foreman)
4
4
 
5
- Capistrano tasks for foreman and upstart.
5
+ Capistrano tasks for foreman and upstart/systemd.
6
6
 
7
7
  ## Installation
8
8
 
@@ -16,19 +16,19 @@ require 'capistrano/foreman'
16
16
  # Default settings
17
17
  set :foreman_use_sudo, false # Set to :rbenv for rbenv sudo, :rvm for rvmsudo or true for normal sudo
18
18
  set :foreman_roles, :all
19
- set :foreman_template, 'upstart'
20
- set :foreman_export_path, File.join(Dir.home, '.init')
21
- set :foreman_options, {
19
+ set :foreman_init_system, 'upstart'
20
+ set :foreman_export_path, ->{ File.join(Dir.home, '.init') }
21
+ set :foreman_options, ->{ {
22
22
  app: application,
23
23
  log: File.join(shared_path, 'log')
24
- }
24
+ } }
25
25
  ```
26
26
 
27
- See [exporting options](http://ddollar.github.io/foreman/#EXPORTING0) for an exhaustive list of foreman options.
27
+ See [exporting options](http://ddollar.github.io/foreman/#EXPORTING) for an exhaustive list of foreman options.
28
28
 
29
29
  ## Usage
30
30
 
31
- Export Procfile to upstart:
31
+ Export Procfile to upstart/systemd:
32
32
 
33
33
  $ bundle exec cap production foreman:export
34
34
 
@@ -5,8 +5,8 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  Gem::Specification.new do |gem|
6
6
  gem.authors = ["Johannes Gorset", 'John Bellone']
7
7
  gem.email = ["jgorset@gmail.com", 'jbellone@bloomberg.net']
8
- gem.description = "Capistrano tasks for foreman and upstart."
9
- gem.summary = "Capistrano tasks for foreman and upstart."
8
+ gem.description = "Capistrano tasks for foreman and upstart/systemd."
9
+ gem.summary = "Capistrano tasks for foreman and upstart/systemd."
10
10
  gem.homepage = "http://github.com/hyperoslo/capistrano-foreman"
11
11
 
12
12
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
14
14
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
15
15
  gem.name = "capistrano-foreman"
16
16
  gem.require_paths = ["lib"]
17
- gem.version = '1.2.0'
17
+ gem.version = '1.3.0'
18
18
 
19
19
  gem.add_dependency 'capistrano', '~> 3.1'
20
20
  gem.add_dependency 'capistrano-bundler', '~> 1.1'
@@ -12,11 +12,13 @@ namespace :foreman do
12
12
  log: File.join(shared_path, 'log'),
13
13
  }.merge fetch(:foreman_options, {})
14
14
 
15
+ opts.merge!(host.properties.fetch(:foreman_options) || {})
16
+
15
17
  execute(:mkdir, "-p", opts[:log])
16
18
 
17
19
  within release_path do
18
20
  foreman_exec :foreman, 'export',
19
- fetch(:foreman_template),
21
+ fetch(:foreman_init_system),
20
22
  fetch(:foreman_export_path),
21
23
  opts.map { |opt, value| "--#{opt}=\"#{value}\"" }.join(' ')
22
24
  end
@@ -26,21 +28,38 @@ namespace :foreman do
26
28
  desc 'Start the application services'
27
29
  task :start do
28
30
  on roles fetch(:foreman_roles) do
29
- foreman_exec :start, fetch(:foreman_app)
31
+ case fetch(:foreman_init_system)
32
+ when 'systemd'
33
+ foreman_exec :systemctl, :enable, fetch(:foreman_app_name_systemd)
34
+ foreman_exec :systemctl, :start, fetch(:foreman_app_name_systemd)
35
+ else
36
+ foreman_exec :start, fetch(:foreman_app)
37
+ end
30
38
  end
31
39
  end
32
40
 
33
41
  desc 'Stop the application services'
34
42
  task :stop do
35
43
  on roles fetch(:foreman_roles) do
36
- foreman_exec :stop, fetch(:foreman_app)
44
+ case fetch(:foreman_init_system)
45
+ when 'systemd'
46
+ foreman_exec :systemctl, :stop, fetch(:foreman_app_name_systemd)
47
+ foreman_exec :systemctl, :disable, fetch(:foreman_app_name_systemd)
48
+ else
49
+ foreman_exec :stop, fetch(:foreman_app)
50
+ end
37
51
  end
38
52
  end
39
53
 
40
54
  desc 'Restart the application services'
41
55
  task :restart do
42
56
  on roles fetch(:foreman_roles) do
43
- foreman_exec :restart, fetch(:foreman_app)
57
+ case fetch(:foreman_init_system)
58
+ when 'systemd'
59
+ foreman_exec :systemctl, :restart, fetch(:foreman_app_name_systemd)
60
+ else
61
+ foreman_exec :restart, fetch(:foreman_app)
62
+ end
44
63
  end
45
64
  end
46
65
 
@@ -54,6 +73,8 @@ namespace :foreman do
54
73
  execute(:rbenv, :sudo, *args)
55
74
  when 'rvm'
56
75
  execute(:rvmsudo, *args)
76
+ when 'chruby'
77
+ execute(:sudo, 'chruby-exec', fetch(:chruby_ruby), '--', *args)
57
78
  else
58
79
  sudo_type ? sudo(*args) : execute(*args)
59
80
  end
@@ -64,10 +85,11 @@ namespace :load do
64
85
  task :defaults do
65
86
  set :bundle_bins, fetch(:bundle_bins, []).push(:foreman)
66
87
  set :foreman_use_sudo, false
67
- set :foreman_template, 'upstart'
88
+ set :foreman_init_system, 'upstart'
68
89
  set :foreman_export_path, '/etc/init/sites'
69
90
  set :foreman_roles, :all
70
91
  set :foreman_app, -> { fetch(:application) }
92
+ set :foreman_app_name_systemd, -> { "#{ fetch(:foreman_app) }.target" }
71
93
 
72
94
  if !fetch(:rvm_map_bins).nil?
73
95
  set :rvm_map_bins, fetch(:rvm_map_bins).push('foreman')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-foreman
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Gorset
@@ -9,37 +9,37 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-04-03 00:00:00.000000000 Z
12
+ date: 2017-06-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - "~>"
18
+ - - ~>
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3.1'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - "~>"
25
+ - - ~>
26
26
  - !ruby/object:Gem::Version
27
27
  version: '3.1'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: capistrano-bundler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ~>
33
33
  - !ruby/object:Gem::Version
34
34
  version: '1.1'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ~>
40
40
  - !ruby/object:Gem::Version
41
41
  version: '1.1'
42
- description: Capistrano tasks for foreman and upstart.
42
+ description: Capistrano tasks for foreman and upstart/systemd.
43
43
  email:
44
44
  - jgorset@gmail.com
45
45
  - jbellone@bloomberg.net
@@ -47,7 +47,7 @@ executables: []
47
47
  extensions: []
48
48
  extra_rdoc_files: []
49
49
  files:
50
- - ".gitignore"
50
+ - .gitignore
51
51
  - Gemfile
52
52
  - LICENSE
53
53
  - LICENSE.md
@@ -66,18 +66,18 @@ require_paths:
66
66
  - lib
67
67
  required_ruby_version: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - ">="
69
+ - - '>='
70
70
  - !ruby/object:Gem::Version
71
71
  version: '0'
72
72
  required_rubygems_version: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - '>='
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
78
  rubyforge_project:
79
- rubygems_version: 2.2.2
79
+ rubygems_version: 2.0.14.1
80
80
  signing_key:
81
81
  specification_version: 4
82
- summary: Capistrano tasks for foreman and upstart.
82
+ summary: Capistrano tasks for foreman and upstart/systemd.
83
83
  test_files: []