capistrano-systemd-multiservice 0.1.0.beta6 → 0.1.0.beta11

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
  SHA256:
3
- metadata.gz: 2047d118d3aa56c85a22f1a77c68d26e735e5d9c082393b2a460a6718047f26d
4
- data.tar.gz: 3652b1dd931ad5207dd404934224671a6cadfa2b231f9c7865652fb3b709af45
3
+ metadata.gz: 726e8687fd294f14c8ed7195517956cc76bb10fd1e9bd8f04c15b1fd186b6f4c
4
+ data.tar.gz: d0b7b77144a8cc0d82fd41569d4675e2b9fc32bed0de06b46b884af59ac723c4
5
5
  SHA512:
6
- metadata.gz: ec6a1ea1067b9b55667a105b03631e32f6e227729dad674822fb45d9c828db4c133d4cb9c52de7f7f1e498b007a37081b189d862c6b6f53bcc08f597dc389592
7
- data.tar.gz: ff2e0e40974270950668461097a0a00bf022079c2fc940f20c7fe7263b6f238a2d00072bc6ca0b0d83dbc4127303cddd3fa9c63ca27a5013478c3441cfcb4e4c
6
+ metadata.gz: 832a682e621ef833e0e7d7df21a58743bf659e713258a2b0c6bbee96072f48f0128cdf6ab507adf32978fa268c78b474252ce86b06c8e8d1d31076e37f5e0a8d
7
+ data.tar.gz: 18ded94ca09b014d6a95d716ff6fda3656277a87fbb98125e358987381940dcee9f217aafb945356c56d5c8ae848740cfda369c66fdcf15e0d356a9b9ffbbf6b
@@ -0,0 +1,13 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ time: '10:00'
8
+ timezone: Asia/Tokyo
9
+ open-pull-requests-limit: 10
10
+ reviewers:
11
+ - minimum2scp
12
+ - nagachika
13
+ - akm
data/.travis.yml CHANGED
@@ -1,8 +1,9 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.2.9
5
- - 2.3.7
6
- - 2.4.4
7
- - 2.5.1
8
- before_install: gem install bundler -v 1.16.2
4
+ - 2.3.8
5
+ - 2.4.5
6
+ - 2.5.3
7
+ - 2.6.0
8
+ - 2.7.1
9
+ before_install: gem install bundler -v 2.1.4
data/README.md CHANGED
@@ -68,6 +68,20 @@ cap STAGE systemd:example1:setup systemd:example2:setup
68
68
  cap STAGE deploy
69
69
  ```
70
70
 
71
+ ### User services
72
+
73
+ To have the service installed under your own user rather than root
74
+
75
+ ```ruby
76
+ require "capistrano/systemd/multiservice"
77
+ install_plugin Capistrano::Systemd::MultiService.new_service("example1", service_type: 'user')
78
+ install_plugin Capistrano::Systemd::MultiService.new_service("example2", service_type: 'user')
79
+ ```
80
+
81
+ If using the user service type services will be installed in your users home directory under ``` /.config/systemd/user ```.
82
+ Systemd commands on those services can be run by passing a `--user` flag, e.g. ```systemctl --user list-unit-files```
83
+ Nothing else in setup should require change and Capistrano tasks should remain the same as when installing system services.
84
+
71
85
  ## Capistrano Tasks
72
86
 
73
87
  With `install_plugin Capistrano::Systemd::MultiService.new_service("example1")`,
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_dependency "capistrano", ">= 3.7.0", "< 3.12.0"
25
- spec.add_development_dependency "bundler", "~> 1.13"
24
+ spec.add_dependency "capistrano", ">= 3.7.0", "< 3.16.0"
25
+ spec.add_development_dependency "bundler"
26
26
  spec.add_development_dependency "rake"
27
27
  spec.add_development_dependency "rspec", "~> 3.0"
28
28
  spec.add_development_dependency "mocha", "~> 1.2"
@@ -1,11 +1,22 @@
1
1
  require "capistrano/systemd/multiservice/version"
2
2
  require "capistrano/systemd/multiservice/system_service"
3
+ require "capistrano/systemd/multiservice/user_service"
3
4
 
4
5
  module Capistrano
5
6
  module Systemd
6
7
  module MultiService
7
- def self.new_service(app)
8
- SystemService.new(app)
8
+ SERVICE_TYPES = %w[system user].freeze
9
+
10
+ class ServiceTypeError < RuntimeError; end
11
+
12
+ def self.new_service(app, service_type: 'system')
13
+ service_type = service_type.to_s
14
+ unless SERVICE_TYPES.include?(service_type)
15
+ raise ServiceTypeError,
16
+ "Service type has to be one of #{SERVICE_TYPES}"
17
+ end
18
+
19
+ const_get("#{service_type.capitalize}Service").new(app)
9
20
  end
10
21
  end
11
22
  end
@@ -71,6 +71,10 @@ module Capistrano
71
71
  }
72
72
  end
73
73
 
74
+ def default_units_dir
75
+ "/etc/systemd/system"
76
+ end
77
+
74
78
  def setup
75
79
  fetch(:"#{prefix}_units_src").zip(fetch(:"#{prefix}_units_dest")).each do |src, dest|
76
80
  buf = StringIO.new(ERB.new(File.read(src), nil, 2).result(binding))
@@ -106,10 +110,6 @@ module Capistrano
106
110
  backend.execute(*args)
107
111
  end
108
112
 
109
- def default_units_dir
110
- "/etc/systemd/system"
111
- end
112
-
113
113
  private
114
114
 
115
115
  def setup_service(buf, src, dest)
@@ -0,0 +1,28 @@
1
+ require_relative './system_service'
2
+
3
+ module Capistrano
4
+ module Systemd
5
+ module MultiService
6
+ class UserService < SystemService
7
+ def systemctl(*args)
8
+ args.unshift :systemctl, '--user'
9
+ backend.execute(*args)
10
+ end
11
+
12
+ def remove
13
+ backend.execute :rm, '-f', '--', fetch(:"#{prefix}_units_dest")
14
+ end
15
+
16
+ def default_units_dir
17
+ "/home/#{fetch(:user)}/.config/systemd/user"
18
+ end
19
+
20
+ protected
21
+
22
+ def setup_service(buf, src, dest)
23
+ backend.upload! buf, dest
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,7 +1,7 @@
1
1
  module Capistrano
2
2
  module Systemd
3
3
  module MultiService
4
- VERSION = "0.1.0.beta6"
4
+ VERSION = "0.1.0.beta11"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-systemd-multiservice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.beta6
4
+ version: 0.1.0.beta11
5
5
  platform: ruby
6
6
  authors:
7
7
  - YAMADA Tsuyoshi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-19 00:00:00.000000000 Z
11
+ date: 2021-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capistrano
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 3.7.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 3.12.0
22
+ version: 3.16.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,21 +29,21 @@ dependencies:
29
29
  version: 3.7.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 3.12.0
32
+ version: 3.16.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '1.13'
39
+ version: '0'
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: '1.13'
46
+ version: '0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -93,6 +93,7 @@ executables: []
93
93
  extensions: []
94
94
  extra_rdoc_files: []
95
95
  files:
96
+ - ".github/dependabot.yml"
96
97
  - ".gitignore"
97
98
  - ".rspec"
98
99
  - ".travis.yml"
@@ -105,6 +106,7 @@ files:
105
106
  - capistrano-systemd-multiservice.gemspec
106
107
  - lib/capistrano/systemd/multiservice.rb
107
108
  - lib/capistrano/systemd/multiservice/system_service.rb
109
+ - lib/capistrano/systemd/multiservice/user_service.rb
108
110
  - lib/capistrano/systemd/multiservice/version.rb
109
111
  - lib/capistrano/tasks/systemd/multiservice/system_service.rake
110
112
  homepage: https://github.com/groovenauts/capistrano-systemd-multiservice
@@ -126,8 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
128
  - !ruby/object:Gem::Version
127
129
  version: 1.3.1
128
130
  requirements: []
129
- rubyforge_project:
130
- rubygems_version: 2.7.6
131
+ rubygems_version: 3.2.9
131
132
  signing_key:
132
133
  specification_version: 4
133
134
  summary: Capistrano Plugin to control services by systemd