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 +4 -4
- data/.github/dependabot.yml +13 -0
- data/.travis.yml +6 -5
- data/README.md +14 -0
- data/capistrano-systemd-multiservice.gemspec +2 -2
- data/lib/capistrano/systemd/multiservice.rb +13 -2
- data/lib/capistrano/systemd/multiservice/system_service.rb +4 -4
- data/lib/capistrano/systemd/multiservice/user_service.rb +28 -0
- data/lib/capistrano/systemd/multiservice/version.rb +1 -1
- metadata +11 -10
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 726e8687fd294f14c8ed7195517956cc76bb10fd1e9bd8f04c15b1fd186b6f4c
         | 
| 4 | 
            +
              data.tar.gz: d0b7b77144a8cc0d82fd41569d4675e2b9fc32bed0de06b46b884af59ac723c4
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 832a682e621ef833e0e7d7df21a58743bf659e713258a2b0c6bbee96072f48f0128cdf6ab507adf32978fa268c78b474252ce86b06c8e8d1d31076e37f5e0a8d
         | 
| 7 | 
            +
              data.tar.gz: 18ded94ca09b014d6a95d716ff6fda3656277a87fbb98125e358987381940dcee9f217aafb945356c56d5c8ae848740cfda369c66fdcf15e0d356a9b9ffbbf6b
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        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. | 
| 25 | 
            -
              spec.add_development_dependency "bundler" | 
| 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 | 
            -
                   | 
| 8 | 
            -
             | 
| 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
         | 
    
        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. | 
| 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:  | 
| 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. | 
| 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. | 
| 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: ' | 
| 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: ' | 
| 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 | 
            -
             | 
| 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
         |