specinfra 2.90.0 → 2.91.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 +4 -4
- data/lib/specinfra/command/module/runit.rb +11 -0
- data/lib/specinfra/command/module/service/runit.rb +24 -0
- data/lib/specinfra/command/voidlinux/base/package.rb +21 -0
- data/lib/specinfra/command/voidlinux/base/service.rb +5 -0
- data/lib/specinfra/command/voidlinux/base.rb +2 -0
- data/lib/specinfra/command/voidlinux.rb +2 -0
- data/lib/specinfra/command.rb +7 -0
- data/lib/specinfra/helper/detect_os/voidlinux.rb +11 -0
- data/lib/specinfra/helper/detect_os.rb +1 -0
- data/lib/specinfra/version.rb +1 -1
- data/spec/command/module/service/runit_spec.rb +16 -0
- data/spec/command/voidlinux/package_spec.rb +9 -0
- data/spec/command/voidlinux/service_spec.rb +24 -0
- data/specinfra.gemspec +1 -0
- metadata +28 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97394d4373eb3883902aa11db2af73d48f90fd12fcce2f232a6f343c8909b41b
|
4
|
+
data.tar.gz: a0c5cdead4225a5e8d35989a07ac009414835ff215d98bf47e5da0c2404f3caf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cee153ac43581df36767f934669cee337c5320c7dac025bb16bb538fddacee7a79877a4e95875087cb48f43de04c2accae6efcf3333f16b167ae5e386acdbf78
|
7
|
+
data.tar.gz: 3b9d90ccc47adb67253d09b4f8cb5c20b9610e0871981818222f862844008f33f625f8d8322b8c03ded7583b2d2bda33e5264c29830bfa9af06d44f942de335e
|
@@ -10,6 +10,30 @@ module Specinfra
|
|
10
10
|
def check_is_enabled_under_runit(service)
|
11
11
|
"test ! -f /etc/sv/#{escape(service)}/down"
|
12
12
|
end
|
13
|
+
|
14
|
+
def enable_under_runit(service)
|
15
|
+
"ln -s /etc/sv/#{service} /var/service/"
|
16
|
+
end
|
17
|
+
|
18
|
+
def disable_under_runit(service)
|
19
|
+
"rm /var/service/#{service}"
|
20
|
+
end
|
21
|
+
|
22
|
+
def start_under_runit(service)
|
23
|
+
"sv up /var/service/#{service}"
|
24
|
+
end
|
25
|
+
|
26
|
+
def stop_under_runit(service)
|
27
|
+
"sv down /var/service/#{service}"
|
28
|
+
end
|
29
|
+
|
30
|
+
def restart_under_runit(service)
|
31
|
+
"sv restart /var/service/#{service}"
|
32
|
+
end
|
33
|
+
|
34
|
+
def reload_under_runit(service)
|
35
|
+
"sv reload /var/service/#{service}"
|
36
|
+
end
|
13
37
|
end
|
14
38
|
end
|
15
39
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class Specinfra::Command::Voidlinux::Base::Package < Specinfra::Command::Linux::Base::Package
|
2
|
+
class << self
|
3
|
+
def check_is_installed(package, version=nil)
|
4
|
+
"xbps-query -S #{escape(package)} | grep -q 'state: installed'"
|
5
|
+
end
|
6
|
+
|
7
|
+
alias :check_is_installed_by_xbps :check_is_installed
|
8
|
+
|
9
|
+
def get_version(package, opts=nil)
|
10
|
+
"xbps-query -S #{package} | sed -nE 's/^pkgver: #{package}-([^\)+])/\1/p'"
|
11
|
+
end
|
12
|
+
|
13
|
+
def install(package, version=nil, option='')
|
14
|
+
"xbps-install --yes #{package}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def remove(package, option='')
|
18
|
+
"xbps-remove --yes #{option} #{package}"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/specinfra/command.rb
CHANGED
@@ -19,6 +19,7 @@ require 'specinfra/command/module/systemd'
|
|
19
19
|
require 'specinfra/command/module/zfs'
|
20
20
|
require 'specinfra/command/module/ss'
|
21
21
|
require 'specinfra/command/module/openrc'
|
22
|
+
require 'specinfra/command/module/runit'
|
22
23
|
|
23
24
|
# Base
|
24
25
|
require 'specinfra/command/base'
|
@@ -407,3 +408,9 @@ require 'specinfra/command/poky/base/interface'
|
|
407
408
|
require 'specinfra/command/poky/base/inventory'
|
408
409
|
require 'specinfra/command/poky/base/package'
|
409
410
|
require 'specinfra/command/poky/base/service'
|
411
|
+
|
412
|
+
# VoidLinux (inherit Linux)
|
413
|
+
require 'specinfra/command/voidlinux'
|
414
|
+
require 'specinfra/command/voidlinux/base'
|
415
|
+
require 'specinfra/command/voidlinux/base/package'
|
416
|
+
require 'specinfra/command/voidlinux/base/service'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class Specinfra::Helper::DetectOs::Voidlinux < Specinfra::Helper::DetectOs
|
2
|
+
def detect
|
3
|
+
if run_command("ls /etc/os-release").success?
|
4
|
+
line = run_command("cat /etc/os-release").stdout
|
5
|
+
|
6
|
+
if line =~ /^ID="void"/
|
7
|
+
{ :family => 'voidlinux', :release => nil }
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/lib/specinfra/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Specinfra::Command::Module::Service::Runit do
|
4
|
+
class Specinfra::Command::Module::Service::Runit::Test < Specinfra::Command::Base
|
5
|
+
extend Specinfra::Command::Module::Service::Runit
|
6
|
+
end
|
7
|
+
let(:klass) { Specinfra::Command::Module::Service::Runit::Test }
|
8
|
+
it { expect(klass.check_is_enabled_under_runit('httpd')).to eq 'test ! -f /etc/sv/httpd/down' }
|
9
|
+
it { expect(klass.check_is_running_under_runit('httpd')).to eq "sv status httpd | grep -E '^run: '" }
|
10
|
+
it { expect(klass.enable_under_runit('httpd')).to eq 'ln -s /etc/sv/httpd /var/service/' }
|
11
|
+
it { expect(klass.disable_under_runit('httpd')).to eq 'rm /var/service/httpd' }
|
12
|
+
it { expect(klass.start_under_runit('httpd')).to eq 'sv up /var/service/httpd' }
|
13
|
+
it { expect(klass.stop_under_runit('httpd')).to eq 'sv down /var/service/httpd' }
|
14
|
+
it { expect(klass.restart_under_runit('httpd')).to eq 'sv restart /var/service/httpd' }
|
15
|
+
it { expect(klass.reload_under_runit('httpd')).to eq 'sv reload /var/service/httpd' }
|
16
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'voidlinux'
|
5
|
+
|
6
|
+
describe get_command(:enable_service, 'nginx') do
|
7
|
+
it { should eq 'ln -s /etc/sv/nginx /var/service/' }
|
8
|
+
end
|
9
|
+
|
10
|
+
describe get_command(:disable_service, 'nginx') do
|
11
|
+
it { should eq 'rm /var/service/nginx' }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe get_command(:start_service, 'nginx') do
|
15
|
+
it { should eq 'sv up /var/service/nginx' }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe get_command(:stop_service, 'nginx') do
|
19
|
+
it { should eq 'sv down /var/service/nginx' }
|
20
|
+
end
|
21
|
+
|
22
|
+
describe get_command(:restart_service, 'nginx') do
|
23
|
+
it { should eq 'sv restart /var/service/nginx' }
|
24
|
+
end
|
data/specinfra.gemspec
CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
# TODO: at some point pin to a minumum version of ruby to reduce support burden in a major version bump
|
20
20
|
# spec.required_ruby_version = '>= 2.3.0'
|
21
21
|
|
22
|
+
spec.add_runtime_dependency "base64"
|
22
23
|
spec.add_runtime_dependency "net-scp"
|
23
24
|
spec.add_runtime_dependency "net-ssh", ">= 2.7"
|
24
25
|
spec.add_runtime_dependency "net-telnet" # intentionally version-unspecified for Ruby older than 2.3.0
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.91.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: base64
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: net-scp
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -320,6 +334,7 @@ files:
|
|
320
334
|
- lib/specinfra/command/linuxmint/base.rb
|
321
335
|
- lib/specinfra/command/module.rb
|
322
336
|
- lib/specinfra/command/module/openrc.rb
|
337
|
+
- lib/specinfra/command/module/runit.rb
|
323
338
|
- lib/specinfra/command/module/service/daemontools.rb
|
324
339
|
- lib/specinfra/command/module/service/delegator.rb
|
325
340
|
- lib/specinfra/command/module/service/god.rb
|
@@ -436,6 +451,10 @@ files:
|
|
436
451
|
- lib/specinfra/command/ubuntu/v15/service.rb
|
437
452
|
- lib/specinfra/command/ubuntu/v18.rb
|
438
453
|
- lib/specinfra/command/ubuntu/v18/port.rb
|
454
|
+
- lib/specinfra/command/voidlinux.rb
|
455
|
+
- lib/specinfra/command/voidlinux/base.rb
|
456
|
+
- lib/specinfra/command/voidlinux/base/package.rb
|
457
|
+
- lib/specinfra/command/voidlinux/base/service.rb
|
439
458
|
- lib/specinfra/command/vyos.rb
|
440
459
|
- lib/specinfra/command/vyos/base.rb
|
441
460
|
- lib/specinfra/command/windows.rb
|
@@ -487,6 +506,7 @@ files:
|
|
487
506
|
- lib/specinfra/helper/detect_os/redhat.rb
|
488
507
|
- lib/specinfra/helper/detect_os/solaris.rb
|
489
508
|
- lib/specinfra/helper/detect_os/suse.rb
|
509
|
+
- lib/specinfra/helper/detect_os/voidlinux.rb
|
490
510
|
- lib/specinfra/helper/docker.rb
|
491
511
|
- lib/specinfra/helper/host_inventory.rb
|
492
512
|
- lib/specinfra/helper/lxc.rb
|
@@ -581,6 +601,7 @@ files:
|
|
581
601
|
- spec/command/linux/selinux_spec.rb
|
582
602
|
- spec/command/module/service/daemontools_spec.rb
|
583
603
|
- spec/command/module/service/init_spec.rb
|
604
|
+
- spec/command/module/service/runit_spec.rb
|
584
605
|
- spec/command/module/service/systemd_spec.rb
|
585
606
|
- spec/command/module/ss_spec.rb
|
586
607
|
- spec/command/module/systemd_spec.rb
|
@@ -604,6 +625,8 @@ files:
|
|
604
625
|
- spec/command/sles15/service_spec.rb
|
605
626
|
- spec/command/solaris11/user_spec.rb
|
606
627
|
- spec/command/ubuntu/ppa_spec.rb
|
628
|
+
- spec/command/voidlinux/package_spec.rb
|
629
|
+
- spec/command/voidlinux/service_spec.rb
|
607
630
|
- spec/command/windows/registry_key_spec.rb
|
608
631
|
- spec/command/windows/service_spec.rb
|
609
632
|
- spec/configuration_spec.rb
|
@@ -732,6 +755,7 @@ test_files:
|
|
732
755
|
- spec/command/linux/selinux_spec.rb
|
733
756
|
- spec/command/module/service/daemontools_spec.rb
|
734
757
|
- spec/command/module/service/init_spec.rb
|
758
|
+
- spec/command/module/service/runit_spec.rb
|
735
759
|
- spec/command/module/service/systemd_spec.rb
|
736
760
|
- spec/command/module/ss_spec.rb
|
737
761
|
- spec/command/module/systemd_spec.rb
|
@@ -755,6 +779,8 @@ test_files:
|
|
755
779
|
- spec/command/sles15/service_spec.rb
|
756
780
|
- spec/command/solaris11/user_spec.rb
|
757
781
|
- spec/command/ubuntu/ppa_spec.rb
|
782
|
+
- spec/command/voidlinux/package_spec.rb
|
783
|
+
- spec/command/voidlinux/service_spec.rb
|
758
784
|
- spec/command/windows/registry_key_spec.rb
|
759
785
|
- spec/command/windows/service_spec.rb
|
760
786
|
- spec/configuration_spec.rb
|