specinfra 2.84.1 → 2.85.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/specinfra/command/guix/base/service.rb +31 -0
- data/lib/specinfra/command/guix/base.rb +2 -0
- data/lib/specinfra/command/guix.rb +1 -0
- data/lib/specinfra/command/neon/base.rb +2 -0
- data/lib/specinfra/command/neon.rb +1 -0
- data/lib/specinfra/command.rb +9 -0
- data/lib/specinfra/helper/detect_os/guix.rb +10 -0
- data/lib/specinfra/helper/detect_os.rb +1 -0
- data/lib/specinfra/version.rb +1 -1
- data/spec/command/guix/service_spec.rb +24 -0
- data/spec/helper/detect_os/guix_spec.rb +15 -0
- data/spec/host_inventory/guix/filesystem_spec.rb +50 -0
- metadata +14 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4d95326df395f0dc227c42c60374f4ff6cdfa87
|
4
|
+
data.tar.gz: 962f068198272e29bb5ef4595ce2526797f33201
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aae0d43151afbedeb361280fc7331eaf383259167aaa622d79a707dc4376723703616665376589c635f6e23bf075898fc40eea0d96de3e93ca03c44053ebcc0c
|
7
|
+
data.tar.gz: ca998bf4525bfc02ee240f6e63cd652b32e6aa7fb75191b093678c89c6fc8ac09d2b81d966913265c08b9a968467b85666f761086b28bbc66f30689b6af499be
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class Specinfra::Command::Guix::Base::Service < Specinfra::Command::Linux::Base::Service
|
2
|
+
class << self
|
3
|
+
def check_is_enabled(service, level=nil)
|
4
|
+
"herd status #{escape(service)} | grep 'It is enabled.'"
|
5
|
+
end
|
6
|
+
|
7
|
+
def check_is_running(service)
|
8
|
+
"herd status #{escape(service)} | grep 'It is started.'"
|
9
|
+
end
|
10
|
+
|
11
|
+
def enable(service)
|
12
|
+
"herd enable #{escape(service)}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def disable(service)
|
16
|
+
"herd disable #{escape(service)}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def start(service)
|
20
|
+
"herd start #{escape(service)}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def stop(service)
|
24
|
+
"herd stop #{escape(service)}"
|
25
|
+
end
|
26
|
+
|
27
|
+
def restart(service)
|
28
|
+
"herd restart #{escape(service)}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
class Specinfra::Command::Guix; end
|
@@ -0,0 +1 @@
|
|
1
|
+
class Specinfra::Command::Neon; end
|
data/lib/specinfra/command.rb
CHANGED
@@ -223,6 +223,10 @@ require 'specinfra/command/linuxmint/base'
|
|
223
223
|
require 'specinfra/command/elementary'
|
224
224
|
require 'specinfra/command/elementary/base'
|
225
225
|
|
226
|
+
# Neon (inherit Ubuntu)
|
227
|
+
require 'specinfra/command/neon'
|
228
|
+
require 'specinfra/command/neon/base'
|
229
|
+
|
226
230
|
# Cumulus Networks (inherit Debian)
|
227
231
|
require 'specinfra/command/cumulus'
|
228
232
|
require 'specinfra/command/cumulus/base'
|
@@ -235,6 +239,11 @@ require 'specinfra/command/gentoo/base'
|
|
235
239
|
require 'specinfra/command/gentoo/base/package'
|
236
240
|
require 'specinfra/command/gentoo/base/service'
|
237
241
|
|
242
|
+
# Guix (inherit Linux)
|
243
|
+
require 'specinfra/command/guix'
|
244
|
+
require 'specinfra/command/guix/base'
|
245
|
+
require 'specinfra/command/guix/base/service'
|
246
|
+
|
238
247
|
# Plamo (inherit Linux)
|
239
248
|
require 'specinfra/command/plamo'
|
240
249
|
require 'specinfra/command/plamo/base'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class Specinfra::Helper::DetectOs::Guix < 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
|
+
if line =~ /ID=guix/
|
6
|
+
{ :family => 'guix', :release => nil }
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -31,6 +31,7 @@ require 'specinfra/helper/detect_os/esxi'
|
|
31
31
|
require 'specinfra/helper/detect_os/eos'
|
32
32
|
require 'specinfra/helper/detect_os/freebsd'
|
33
33
|
require 'specinfra/helper/detect_os/gentoo'
|
34
|
+
require 'specinfra/helper/detect_os/guix'
|
34
35
|
require 'specinfra/helper/detect_os/nixos'
|
35
36
|
require 'specinfra/helper/detect_os/openbsd'
|
36
37
|
require 'specinfra/helper/detect_os/photon'
|
data/lib/specinfra/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
property[:os] = nil
|
4
|
+
set :os, :family => 'guix'
|
5
|
+
|
6
|
+
describe get_command(:enable_service, 'nginx') do
|
7
|
+
it { should eq 'herd enable nginx' }
|
8
|
+
end
|
9
|
+
|
10
|
+
describe get_command(:disable_service, 'nginx') do
|
11
|
+
it { should eq 'herd disable nginx' }
|
12
|
+
end
|
13
|
+
|
14
|
+
describe get_command(:start_service, 'nginx') do
|
15
|
+
it { should eq 'herd start nginx' }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe get_command(:stop_service, 'nginx') do
|
19
|
+
it { should eq 'herd stop nginx' }
|
20
|
+
end
|
21
|
+
|
22
|
+
describe get_command(:restart_service, 'nginx') do
|
23
|
+
it { should eq 'herd restart nginx' }
|
24
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'specinfra/helper/detect_os/guix'
|
3
|
+
|
4
|
+
describe Specinfra::Helper::DetectOs::Guix do
|
5
|
+
guix = Specinfra::Helper::DetectOs::Guix.new(:exec)
|
6
|
+
it 'Should return guix when Guix is installed.' do
|
7
|
+
allow(guix).to receive(:run_command) {
|
8
|
+
CommandResult.new(:stdout => "NAME=\"Guix System\" \nID=guix\nPRETTY_NAME=\"Guix System\" \nLOGO=guix-icon\nHOME_URL=\"https://guix.gnu.org\" \nDOCUMENTATION_URL=\"https://guix.gnu.org/en/manual\" \nSUPPORT_URL=\"https://guix.gnu.org/en/help\" \nBUG_REPORT_URL=\"https://lists.gnu.org/mailman/listinfo/bug-guix\"", :exit_status => 0)
|
9
|
+
}
|
10
|
+
expect(guix.detect).to include(
|
11
|
+
:family => 'guix',
|
12
|
+
:release => nil
|
13
|
+
)
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
## Output from 'df -k'
|
4
|
+
str = <<-EOH
|
5
|
+
Filesystem 1K-blocks Used Available Use% Mounted on
|
6
|
+
none 4015168 0 4015168 0% /dev
|
7
|
+
/dev/sda3 235797392 184584640 39162064 83% /
|
8
|
+
/dev/sda1 523248 3640 519608 1% /boot/efi
|
9
|
+
tmpfs 4025296 1052 4024244 1% /dev/shm
|
10
|
+
none 4025292 44 4025248 1% /run/systemd
|
11
|
+
none 4025292 0 4025292 0% /run/user
|
12
|
+
cgroup 4025292 0 4025292 0% /sys/fs/cgroup
|
13
|
+
none 4025292 0 4025292 0% /var/cache/fontconfig
|
14
|
+
none 4025292 684 4024608 1% /var/lib/gdm
|
15
|
+
tmpfs 805056 44 805012 1% /run/user/1000
|
16
|
+
EOH
|
17
|
+
|
18
|
+
describe Specinfra::HostInventory::Filesystem do
|
19
|
+
let(:host_inventory) { nil }
|
20
|
+
describe 'Example of Guix' do
|
21
|
+
ret = Specinfra::HostInventory::Filesystem.new(host_inventory).parse(str)
|
22
|
+
example "/dev/sda3" do
|
23
|
+
expect(ret["/dev/sda3"]).to include(
|
24
|
+
"kb_available" => "39162064",
|
25
|
+
"kb_size" => "235797392",
|
26
|
+
"mount" => "/",
|
27
|
+
"percent_used" => "83%",
|
28
|
+
"kb_used" => "184584640"
|
29
|
+
)
|
30
|
+
end
|
31
|
+
example "/dev/sda1" do
|
32
|
+
expect(ret["/dev/sda1"]).to include(
|
33
|
+
"kb_available" => "519608",
|
34
|
+
"kb_size" => "523248",
|
35
|
+
"mount" => "/boot/efi",
|
36
|
+
"percent_used" => "1%",
|
37
|
+
"kb_used" => "3640"
|
38
|
+
)
|
39
|
+
end
|
40
|
+
example "cgroup" do
|
41
|
+
expect(ret["cgroup"]).to include(
|
42
|
+
"kb_available" => "4025292",
|
43
|
+
"kb_size" => "4025292",
|
44
|
+
"mount" => "/sys/fs/cgroup",
|
45
|
+
"percent_used" => "0%",
|
46
|
+
"kb_used" => "0"
|
47
|
+
)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.85.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-scp
|
@@ -290,6 +290,9 @@ files:
|
|
290
290
|
- lib/specinfra/command/gentoo/base.rb
|
291
291
|
- lib/specinfra/command/gentoo/base/package.rb
|
292
292
|
- lib/specinfra/command/gentoo/base/service.rb
|
293
|
+
- lib/specinfra/command/guix.rb
|
294
|
+
- lib/specinfra/command/guix/base.rb
|
295
|
+
- lib/specinfra/command/guix/base/service.rb
|
293
296
|
- lib/specinfra/command/linux.rb
|
294
297
|
- lib/specinfra/command/linux/base.rb
|
295
298
|
- lib/specinfra/command/linux/base/bond.rb
|
@@ -327,6 +330,8 @@ files:
|
|
327
330
|
- lib/specinfra/command/module/ss.rb
|
328
331
|
- lib/specinfra/command/module/systemd.rb
|
329
332
|
- lib/specinfra/command/module/zfs.rb
|
333
|
+
- lib/specinfra/command/neon.rb
|
334
|
+
- lib/specinfra/command/neon/base.rb
|
330
335
|
- lib/specinfra/command/nixos.rb
|
331
336
|
- lib/specinfra/command/nixos/base.rb
|
332
337
|
- lib/specinfra/command/nixos/base/package.rb
|
@@ -468,6 +473,7 @@ files:
|
|
468
473
|
- lib/specinfra/helper/detect_os/esxi.rb
|
469
474
|
- lib/specinfra/helper/detect_os/freebsd.rb
|
470
475
|
- lib/specinfra/helper/detect_os/gentoo.rb
|
476
|
+
- lib/specinfra/helper/detect_os/guix.rb
|
471
477
|
- lib/specinfra/helper/detect_os/nixos.rb
|
472
478
|
- lib/specinfra/helper/detect_os/openbsd.rb
|
473
479
|
- lib/specinfra/helper/detect_os/photon.rb
|
@@ -557,6 +563,7 @@ files:
|
|
557
563
|
- spec/command/freebsd/interface_spec.rb
|
558
564
|
- spec/command/freebsd/package_spec.rb
|
559
565
|
- spec/command/freebsd/service_spec.rb
|
566
|
+
- spec/command/guix/service_spec.rb
|
560
567
|
- spec/command/linux/bond_spec.rb
|
561
568
|
- spec/command/linux/bridge_spec.rb
|
562
569
|
- spec/command/linux/file_spec.rb
|
@@ -600,6 +607,7 @@ files:
|
|
600
607
|
- spec/helper/detect_os/eos_spec.rb
|
601
608
|
- spec/helper/detect_os/esxi_spec.rb
|
602
609
|
- spec/helper/detect_os/freebsd_spec.rb
|
610
|
+
- spec/helper/detect_os/guix_spec.rb
|
603
611
|
- spec/helper/detect_os/openbsd_spec.rb
|
604
612
|
- spec/helper/detect_os/suse_spec.rb
|
605
613
|
- spec/helper/os_spec.rb
|
@@ -611,6 +619,7 @@ files:
|
|
611
619
|
- spec/host_inventory/darwin/filesystem_spec.rb
|
612
620
|
- spec/host_inventory/darwin/kernel_spec.rb
|
613
621
|
- spec/host_inventory/freebsd/filesystem_spec.rb
|
622
|
+
- spec/host_inventory/guix/filesystem_spec.rb
|
614
623
|
- spec/host_inventory/linux/block_device_spec.rb
|
615
624
|
- spec/host_inventory/linux/cpu_spec.rb
|
616
625
|
- spec/host_inventory/linux/filesystem_spec.rb
|
@@ -704,6 +713,7 @@ test_files:
|
|
704
713
|
- spec/command/freebsd/interface_spec.rb
|
705
714
|
- spec/command/freebsd/package_spec.rb
|
706
715
|
- spec/command/freebsd/service_spec.rb
|
716
|
+
- spec/command/guix/service_spec.rb
|
707
717
|
- spec/command/linux/bond_spec.rb
|
708
718
|
- spec/command/linux/bridge_spec.rb
|
709
719
|
- spec/command/linux/file_spec.rb
|
@@ -747,6 +757,7 @@ test_files:
|
|
747
757
|
- spec/helper/detect_os/eos_spec.rb
|
748
758
|
- spec/helper/detect_os/esxi_spec.rb
|
749
759
|
- spec/helper/detect_os/freebsd_spec.rb
|
760
|
+
- spec/helper/detect_os/guix_spec.rb
|
750
761
|
- spec/helper/detect_os/openbsd_spec.rb
|
751
762
|
- spec/helper/detect_os/suse_spec.rb
|
752
763
|
- spec/helper/os_spec.rb
|
@@ -758,6 +769,7 @@ test_files:
|
|
758
769
|
- spec/host_inventory/darwin/filesystem_spec.rb
|
759
770
|
- spec/host_inventory/darwin/kernel_spec.rb
|
760
771
|
- spec/host_inventory/freebsd/filesystem_spec.rb
|
772
|
+
- spec/host_inventory/guix/filesystem_spec.rb
|
761
773
|
- spec/host_inventory/linux/block_device_spec.rb
|
762
774
|
- spec/host_inventory/linux/cpu_spec.rb
|
763
775
|
- spec/host_inventory/linux/filesystem_spec.rb
|