opswalrus 1.0.70 → 1.0.73
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/Gemfile.lock +1 -1
- data/lib/opswalrus/bootstrap.sh +8 -15
- data/lib/opswalrus/invocation.rb +9 -0
- data/lib/opswalrus/ops_file_script.rb +0 -76
- data/lib/opswalrus/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad2d52c1a9f3f3f041ca0768f62f91fa85c84470de6442e90139aff6cae3944c
|
4
|
+
data.tar.gz: 9d05add771cd5f6f828bfd051710cef71525a1a562cfb47073993b60b14e5302
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15c43c38639432b2c684f9df85545e53bedaaa6c9051d929bbed266bfdce071c0dd2e68d40c643f07996f967714135217eb24029557dcbd7cbdab814c3366663
|
7
|
+
data.tar.gz: 4eef5d3a3f8c6982308e43ffa1cea08de1e5b141200492c741c4b2988f8d7437efb04b44e2be64d6bd866804da9a7c552bbe0f868945e10f9d96acb2e359d478
|
data/Gemfile.lock
CHANGED
data/lib/opswalrus/bootstrap.sh
CHANGED
@@ -54,9 +54,8 @@ if echo $OS | grep -q 'ubuntu'; then
|
|
54
54
|
sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq build-essential procps curl file git
|
55
55
|
|
56
56
|
# restart services that need it
|
57
|
-
sudo needrestart -q -
|
58
|
-
sudo needrestart -q -r a
|
59
|
-
sudo needrestart -q -r a
|
57
|
+
(sudo needrestart -b | grep -q 'NEEDRESTART-KSTA: 1') || (echo 'Reboot needed. Exiting.'; exit 1;)
|
58
|
+
# sudo needrestart -q -r a
|
60
59
|
elif echo $OS | grep -q 'fedora'; then
|
61
60
|
sudo dnf groupinstall -y 'Development Tools'
|
62
61
|
sudo dnf -yq install procps-ng curl file git
|
@@ -104,10 +103,8 @@ if echo $OS | grep -q 'ubuntu'; then
|
|
104
103
|
# update package list
|
105
104
|
sudo apt update -qy
|
106
105
|
|
107
|
-
|
108
|
-
|
109
|
-
exit 1
|
110
|
-
fi
|
106
|
+
# reboot if needed
|
107
|
+
(sudo needrestart -b | grep -q 'NEEDRESTART-KSTA: 1') || (echo 'Reboot needed. Exiting.'; exit 1;)
|
111
108
|
|
112
109
|
# install ruby dependencies
|
113
110
|
# see https://github.com/rbenv/ruby-build/wiki#suggested-build-environment
|
@@ -117,10 +114,8 @@ if echo $OS | grep -q 'ubuntu'; then
|
|
117
114
|
fi
|
118
115
|
sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq autoconf patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm-dev libdb-dev uuid-dev
|
119
116
|
|
120
|
-
#
|
121
|
-
sudo needrestart -q -
|
122
|
-
sudo needrestart -q -r a
|
123
|
-
sudo needrestart -q -r a
|
117
|
+
# reboot if needed
|
118
|
+
(sudo needrestart -b | grep -q 'NEEDRESTART-KSTA: 1') || (echo 'Reboot needed. Exiting.'; exit 1;)
|
124
119
|
elif echo $OS | grep -q 'fedora'; then
|
125
120
|
# from https://github.com/rbenv/ruby-build/wiki#suggested-build-environment
|
126
121
|
sudo yum install -y gcc patch bzip2 openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel
|
@@ -145,10 +140,8 @@ if echo $OS | grep -q 'ubuntu'; then
|
|
145
140
|
# update package list
|
146
141
|
sudo apt update -qy
|
147
142
|
|
148
|
-
|
149
|
-
|
150
|
-
exit 1
|
151
|
-
fi
|
143
|
+
# reboot if needed
|
144
|
+
(sudo needrestart -b | grep -q 'NEEDRESTART-KSTA: 1') || (echo 'Reboot needed. Exiting.'; exit 1;)
|
152
145
|
|
153
146
|
sudo DEBIAN_FRONTEND=noninteractive apt install -yq age
|
154
147
|
|
data/lib/opswalrus/invocation.rb
CHANGED
@@ -23,6 +23,15 @@ module OpsWalrus
|
|
23
23
|
def _non_bang_method(name)
|
24
24
|
name.to_s.sub(/!$/, '')
|
25
25
|
end
|
26
|
+
|
27
|
+
# define methods that exist on kernel and forward them to the method_missing call because
|
28
|
+
# we want method_missing to handle the calls that may result from navigating through a package's
|
29
|
+
# directory structure (e.g. we include clone here to handle core.git.clone which conflicts with Kernel#clone)
|
30
|
+
[:clone].each do |symbol_name|
|
31
|
+
define_method(symbol_name) do |*args, **kwargs, &block|
|
32
|
+
method_missing(symbol_name, *args, **kwargs, &block)
|
33
|
+
end
|
34
|
+
end
|
26
35
|
end
|
27
36
|
|
28
37
|
class RemoteImportInvocationContext < ImportInvocationContext
|
@@ -5,82 +5,6 @@ require_relative 'ops_file_script_dsl'
|
|
5
5
|
|
6
6
|
module OpsWalrus
|
7
7
|
|
8
|
-
# class ArrayOrHashNavigationProxy
|
9
|
-
# extend Forwardable
|
10
|
-
|
11
|
-
# def initialize(array_or_hash)
|
12
|
-
# @obj = array_or_hash
|
13
|
-
# end
|
14
|
-
|
15
|
-
# def_delegators :@obj, :[], :to_s, :inspect, :hash, :===, :eql?, :kind_of?, :is_a?, :instance_of?, :respond_to?, :<=>
|
16
|
-
|
17
|
-
# # def [](index, *args, **kwargs, &block)
|
18
|
-
# # @obj.method(:[]).call(index, *args, **kwargs, &block)
|
19
|
-
# # end
|
20
|
-
# def respond_to_missing?(method, *)
|
21
|
-
# @obj.is_a?(Hash) && @obj.respond_to?(method)
|
22
|
-
# end
|
23
|
-
# def method_missing(name, *args, **kwargs, &block)
|
24
|
-
# case @obj
|
25
|
-
# when Array
|
26
|
-
# @obj.method(name).call(*args, **kwargs, &block)
|
27
|
-
# when Hash
|
28
|
-
# if @obj.respond_to?(name)
|
29
|
-
# @obj.method(name).call(*args, **kwargs, &block)
|
30
|
-
# else
|
31
|
-
# value = self[name.to_s]
|
32
|
-
# case value
|
33
|
-
# when Array, Hash
|
34
|
-
# ArrayOrHashNavigationProxy.new(value)
|
35
|
-
# else
|
36
|
-
# value
|
37
|
-
# end
|
38
|
-
# end
|
39
|
-
# end
|
40
|
-
# end
|
41
|
-
# end
|
42
|
-
|
43
|
-
# class InvocationParams
|
44
|
-
# # @params : Hash
|
45
|
-
|
46
|
-
# # params : Hash | ArrayOrHashNavigationProxy
|
47
|
-
# def initialize(hashlike_params)
|
48
|
-
# # this doesn't seem to make any difference
|
49
|
-
# @params = hashlike_params.to_h
|
50
|
-
# # @params = hashlike_params
|
51
|
-
# end
|
52
|
-
|
53
|
-
# def [](key)
|
54
|
-
# @params[key]
|
55
|
-
# end
|
56
|
-
|
57
|
-
# def dig(*keys, default: nil)
|
58
|
-
# # keys = keys.map {|key| key.is_a?(Integer) ? key : key.to_s }
|
59
|
-
# @params.dig(*keys) || default
|
60
|
-
# end
|
61
|
-
|
62
|
-
# def method_missing(name, *args, **kwargs, &block)
|
63
|
-
# if @params.respond_to?(name)
|
64
|
-
# @params.method(name).call(*args, **kwargs, &block)
|
65
|
-
# else
|
66
|
-
# value = self[name]
|
67
|
-
# case value
|
68
|
-
# when Array, Hash
|
69
|
-
# ArrayOrHashNavigationProxy.new(value)
|
70
|
-
# else
|
71
|
-
# value
|
72
|
-
# end
|
73
|
-
# end
|
74
|
-
# end
|
75
|
-
# end
|
76
|
-
|
77
|
-
# class EnvParams < InvocationParams
|
78
|
-
# # params : Hash | ArrayOrHashNavigationProxy
|
79
|
-
# def initialize(hashlike_params = ENV)
|
80
|
-
# super(hashlike_params)
|
81
|
-
# end
|
82
|
-
# end
|
83
|
-
|
84
8
|
class OpsFileScript
|
85
9
|
|
86
10
|
def self.define_for(ops_file, ruby_script)
|
data/lib/opswalrus/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opswalrus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.73
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Ellis
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|