kanrisuru 0.16.5 → 0.16.9
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/CHANGELOG.md +13 -0
- data/README.md +4 -7
- data/kanrisuru.gemspec +1 -1
- data/lib/kanrisuru/core/dmi/parsers/dmi.rb +9 -9
- data/lib/kanrisuru/core/transfer/commands/upload.rb +11 -2
- data/lib/kanrisuru/mode/permission.rb +1 -1
- data/lib/kanrisuru/remote/fstab.rb +6 -0
- data/lib/kanrisuru/version.rb +1 -1
- data/logo/kanrisuru-logo.png +0 -0
- data/spec/functional/remote/fstab_spec.rb +21 -0
- data/spec/support/shared_examples/integration/core/transfer.rb +1 -1
- metadata +5 -5
- data/.rubocop_todo.yml +0 -0
- data/.travis.yml +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ffeb83d91c285f197ed82ea9faf1f2d4ed95f8394cd383354eebed18dc6ace91
|
|
4
|
+
data.tar.gz: 5b4d615c7754eb2d520f175d77cecafb774e2d841d9077c23b8ccb39d7fde059
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eac9603360b49938e188cf36babef60f57106091f93d5ad1f7e74a45e523b5f235463653ea305b34d700c728382707496662212c83e59ad629f954c695644f33
|
|
7
|
+
data.tar.gz: 2b6214a7c61f3273f226290ad87fbf3da0eb5f401a9b6923a45779beca89b1ba7e5cbece32247136fba5b24eb8c4ea38015fc136e752d3508d62845ba24e70ba
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## Kanrisuru 0.16.9 (December 27, 2021) ##
|
|
2
|
+
* Use cp intead of mv for recurisive dir overwrite on upload command.
|
|
3
|
+
|
|
4
|
+
## Kanrisuru 0.16.8 (December 27, 2021) ##
|
|
5
|
+
* Fix return value of field for dmi parser.
|
|
6
|
+
* Fix upload command to copy contents of directory when transfering directories from tmp location.
|
|
7
|
+
|
|
8
|
+
## Kanrisuru 0.16.7 (December 27, 2021) ##
|
|
9
|
+
* Update homepage to docs website.
|
|
10
|
+
|
|
11
|
+
## Kanrisuru 0.16.6 (December 26, 2021) ##
|
|
12
|
+
* Add `delete` to fstab class to delete an entry from the fstab.
|
|
13
|
+
|
|
1
14
|
## Kanrisuru 0.16.5 (December 25, 2021) ##
|
|
2
15
|
* Refactor `dmi_field_translate` to reduce complexity.
|
|
3
16
|
|
data/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<
|
|
2
|
-
<img src="
|
|
3
|
-
</
|
|
1
|
+
<h1>
|
|
2
|
+
<img src="./logo/kanrisuru-logo.png" alt="Kanrisuru" width="400" height="100%"/>
|
|
3
|
+
</h1>
|
|
4
4
|
|
|
5
|
-
<p
|
|
5
|
+
<p>
|
|
6
6
|
<a href="https://rubygems.org/gems/kanrisuru">
|
|
7
7
|
<img src="https://img.shields.io/gem/v/kanrisuru?style=flat-square" alt="Latest version" />
|
|
8
8
|
</a>
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
<img src="https://img.shields.io/codeclimate/maintainability/avamia/kanrisuru?style=flat-square" alt="Code Climate maintainability" />
|
|
16
16
|
</p>
|
|
17
17
|
|
|
18
|
-
# Kanrisuru
|
|
19
|
-
|
|
20
18
|
Kanrisuru (manage) helps you remotely control infrastructure using Ruby. This is done over SSH. I'm working on building up some basic functionality to help quickly provision, deploy and manage a single host or cluster of hosts.
|
|
21
19
|
|
|
22
20
|
The idea behind this project is not to replace the numerous other projects to manage your infrastrucutre, however, I've found there usually meant to be a standalone project that have their own ecosystem. With Kanrisuru, you essentailly plug the library directly into your ruby project.
|
|
@@ -104,7 +102,6 @@ HOSTS=ubuntu,debian,centos rspec
|
|
|
104
102
|
|
|
105
103
|
This will run tests on the ubuntu, debian and centos instances.
|
|
106
104
|
|
|
107
|
-
|
|
108
105
|
Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
109
106
|
|
|
110
107
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
data/kanrisuru.gemspec
CHANGED
|
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
|
|
|
8
8
|
gem.author = 'Ryan Mammina'
|
|
9
9
|
gem.email = 'ryan@avamia.com'
|
|
10
10
|
gem.license = 'MIT'
|
|
11
|
-
gem.homepage = 'https://
|
|
11
|
+
gem.homepage = 'https://kanrisuru.com'
|
|
12
12
|
gem.summary = 'Manage remote servers over ssh with ruby.'
|
|
13
13
|
gem.description = <<-EOF
|
|
14
14
|
Kanrisuru helps manage remote servers with objected oriented ruby.#{' '}
|
|
@@ -94,40 +94,40 @@ module Kanrisuru
|
|
|
94
94
|
|
|
95
95
|
def dmi_field_translate(struct, field)
|
|
96
96
|
field = dmi_scrub_field(field)
|
|
97
|
-
|
|
98
97
|
case struct.dmi_type
|
|
99
98
|
when 'Memory Device'
|
|
100
99
|
case field
|
|
101
100
|
when 'size'
|
|
102
|
-
'mem_size'
|
|
101
|
+
field = 'mem_size'
|
|
103
102
|
end
|
|
104
103
|
when 'System Slots'
|
|
105
104
|
case field
|
|
106
105
|
when 'length'
|
|
107
|
-
'slot_length'
|
|
106
|
+
field = 'slot_length'
|
|
108
107
|
end
|
|
109
108
|
when 'OEM Strings'
|
|
110
109
|
case field
|
|
111
110
|
when /^string/
|
|
112
|
-
'strings'
|
|
111
|
+
field = 'strings'
|
|
113
112
|
end
|
|
114
113
|
when 'Boot Integrity Services'
|
|
115
114
|
case field
|
|
116
115
|
when '16_bit_entry_point_address'
|
|
117
|
-
'sixteen_bit_entry_point_address'
|
|
116
|
+
field = 'sixteen_bit_entry_point_address'
|
|
118
117
|
when '32_bit_entry_point_address'
|
|
119
|
-
'thirty_two_bit_entry_point_address'
|
|
118
|
+
field = 'thirty_two_bit_entry_point_address'
|
|
120
119
|
end
|
|
121
|
-
else
|
|
122
|
-
field
|
|
123
120
|
end
|
|
121
|
+
|
|
122
|
+
field
|
|
124
123
|
end
|
|
125
124
|
|
|
126
125
|
def dmi_scrub_field(field)
|
|
127
126
|
field = field.downcase
|
|
128
127
|
field = field.gsub(/\s/, '_')
|
|
129
128
|
field = field.gsub('-', '_')
|
|
130
|
-
field.gsub(':', '')
|
|
129
|
+
field = field.gsub(':', '')
|
|
130
|
+
field
|
|
131
131
|
end
|
|
132
132
|
|
|
133
133
|
def dmi_type_to_struct(type)
|
|
@@ -10,9 +10,18 @@ module Kanrisuru
|
|
|
10
10
|
result = ssh.scp.upload!(local_path, tmp_path, opts)
|
|
11
11
|
raise 'Unable to upload file' unless result
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
## Need to copy internal dir contents, not the tmp dir itself
|
|
14
|
+
if opts[:recursive]
|
|
15
|
+
unless dir?(remote_path)
|
|
16
|
+
mkdir(remote_path, silent: true)
|
|
17
|
+
end
|
|
15
18
|
|
|
19
|
+
result = cp("#{tmp_path}/*", remote_path, recursive: true)
|
|
20
|
+
else
|
|
21
|
+
result = mv(tmp_path, remote_path)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
raise "Unable to move file to remote path - #{result.command.raw_result}" unless result.success?
|
|
16
25
|
stat(remote_path)
|
|
17
26
|
ensure
|
|
18
27
|
rm(tmp_path, force: true) if inode?(tmp_path)
|
data/lib/kanrisuru/version.rb
CHANGED
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
RSpec.describe Kanrisuru::Remote::Fstab do
|
|
6
|
+
before(:all) do
|
|
7
|
+
StubNetwork.stub!
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
after(:all) do
|
|
11
|
+
StubNetwork.unstub!
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
let(:host) do
|
|
15
|
+
Kanrisuru::Remote::Host.new(
|
|
16
|
+
host: 'localhost',
|
|
17
|
+
username: 'ubuntu',
|
|
18
|
+
keys: ['id_rsa']
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kanrisuru
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.16.
|
|
4
|
+
version: 0.16.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Mammina
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-12-
|
|
11
|
+
date: 2021-12-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: parallel_tests
|
|
@@ -149,8 +149,6 @@ files:
|
|
|
149
149
|
- ".gitignore"
|
|
150
150
|
- ".rspec"
|
|
151
151
|
- ".rubocop.yml"
|
|
152
|
-
- ".rubocop_todo.yml"
|
|
153
|
-
- ".travis.yml"
|
|
154
152
|
- CHANGELOG.md
|
|
155
153
|
- CODE_OF_CONDUCT.md
|
|
156
154
|
- Gemfile
|
|
@@ -442,6 +440,7 @@ files:
|
|
|
442
440
|
- lib/kanrisuru/util/os_family.rb
|
|
443
441
|
- lib/kanrisuru/util/signal.rb
|
|
444
442
|
- lib/kanrisuru/version.rb
|
|
443
|
+
- logo/kanrisuru-logo.png
|
|
445
444
|
- spec/functional/core/apt_spec.rb
|
|
446
445
|
- spec/functional/core/archive_spec.rb
|
|
447
446
|
- spec/functional/core/disk_spec.rb
|
|
@@ -470,6 +469,7 @@ files:
|
|
|
470
469
|
- spec/functional/remote/cluster_spec.rb
|
|
471
470
|
- spec/functional/remote/cpu_spec.rb
|
|
472
471
|
- spec/functional/remote/env_spec.rb
|
|
472
|
+
- spec/functional/remote/fstab_spec.rb
|
|
473
473
|
- spec/functional/result_spec.rb
|
|
474
474
|
- spec/helper/expect_helpers.rb
|
|
475
475
|
- spec/helper/hosts.json
|
|
@@ -683,7 +683,7 @@ files:
|
|
|
683
683
|
- spec/unit/remote/fstab_spec.rb
|
|
684
684
|
- spec/unit/template_spec.rb
|
|
685
685
|
- spec/unit/util_spec.rb
|
|
686
|
-
homepage: https://
|
|
686
|
+
homepage: https://kanrisuru.com
|
|
687
687
|
licenses:
|
|
688
688
|
- MIT
|
|
689
689
|
metadata:
|
data/.rubocop_todo.yml
DELETED
|
File without changes
|