pero 0.5.7 → 0.5.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f292ef6092bf2aadcccca0a70fbf2257d273f0e2fded39752b8817d6920c334
4
- data.tar.gz: 31d236c3533a6981aedf8d90d60b835561b64e50cfb5b643755f572e68003613
3
+ metadata.gz: 404024b412a97d7b4b6b604eded9e626b5b49c8b576665c1179622b1ffb97fb5
4
+ data.tar.gz: 5ea5b20e499ae2e0bc713e8851c7e3a389398412443d507fee52c9775cc4b4ea
5
5
  SHA512:
6
- metadata.gz: eccbb2a3cdf32be14329cc7e2386151c6943519cd5123066e35d04b7032206d6c066623fa87af0a6cf350e7a7b9027df0bf6320a1fac674bd3107c40fa66a9b4
7
- data.tar.gz: 8e179117e5ee50dc539a8f67d8308f9fe2928b6f1036eeddddd1f43e882e0784d8695c9aafa0d32c637953226dd9bb65091921bb7d0fe2a97c40a0d97b6b815d
6
+ metadata.gz: 882bb7cde6f980696c20bd182340d8818a80fc0eac3288fdef8ebeb1a3a2cc9a8429881918a40b8806aec04fed788b36cea1686b6753828f8cc897bb06c9ec9b
7
+ data.tar.gz: e7bf15713b9679f3df5da7055e97a34e6fb78e277b0980767698a4246e7605a6d4292262c8cb9f4424698eec8eacaf6cdf87344353def6186797101bcd8d3b22
@@ -0,0 +1,11 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "bundler" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
data/lib/pero/cli.rb CHANGED
@@ -1,6 +1,6 @@
1
- require "pero"
2
- require "thor"
3
- require "parallel"
1
+ require 'pero'
2
+ require 'thor'
3
+ require 'parallel'
4
4
 
5
5
  module Pero
6
6
  class CLI < Thor
@@ -17,41 +17,38 @@ module Pero
17
17
 
18
18
  def self.shared_options
19
19
  option :log_level, type: :string, aliases: ['-l'], default: 'info'
20
- option :user, type: :string, aliases: ['-x'], desc: "ssh user"
21
- option :key, type: :string, aliases: ['-i'], desc: "ssh private key"
22
- option :port, type: :numeric, aliases: ['-p'], desc: "ssh port"
23
- option "timeout", default: 10, type: :numeric, desc: "ssh connect timeout"
24
- option :ssh_config, type: :string, desc: "ssh config path"
25
- option :environment, type: :string, desc: "puppet environment"
26
- option :ask_password, type: :boolean, default: false, desc: "ask ssh or sudo password"
27
- option :vagrant, type: :boolean, default: false, desc: "use vagrarant"
28
- option :sudo, type: :boolean, default: true, desc: "use sudo"
29
- option "concurrent", aliases: '-C',default: 3, type: :numeric, desc: "running concurrent"
20
+ option :user, type: :string, aliases: ['-x'], desc: 'ssh user'
21
+ option :key, type: :string, aliases: ['-i'], desc: 'ssh private key'
22
+ option :port, type: :numeric, aliases: ['-p'], desc: 'ssh port'
23
+ option 'timeout', default: 10, type: :numeric, desc: 'ssh connect timeout'
24
+ option :ssh_config, type: :string, desc: 'ssh config path'
25
+ option :environment, type: :string, desc: 'puppet environment'
26
+ option :ask_password, type: :boolean, default: false, desc: 'ask ssh or sudo password'
27
+ option :vagrant, type: :boolean, default: false, desc: 'use vagrarant'
28
+ option :sudo, type: :boolean, default: true, desc: 'use sudo'
29
+ option 'concurrent', aliases: '-C', default: 3, type: :numeric, desc: 'running concurrent'
30
30
  end
31
31
 
32
- desc "versions", "show support version"
32
+ desc 'versions', 'show support version'
33
33
  def versions
34
- begin
35
- Pero::Puppet::Redhat.show_versions
36
- rescue => e
37
- Pero.log.error e.inspect
38
- end
34
+ Pero::Puppet::Redhat.show_versions
35
+ rescue StandardError => e
36
+ Pero.log.error e.inspect
39
37
  end
40
38
 
41
- desc "apply", "puppet apply"
39
+ desc 'apply', 'puppet apply'
42
40
  shared_options
43
- option "server-version", type: :string
44
- option "image-name", type: :string
41
+ option 'server-version', type: :string
42
+ option 'image-name', type: :string
45
43
  option :noop, aliases: '-n', default: false, type: :boolean
46
44
  option :test, aliases: '-t', default: false, type: :boolean
47
45
  option :verbose, aliases: '-v', default: true, type: :boolean
48
46
  option :tags, default: nil, type: :array
49
47
  option :volumes, default: nil, type: :array
50
- option "one-shot", default: false, type: :boolean, desc: "stop puppet server after run"
48
+ option 'one-shot', default: false, type: :boolean, desc: 'stop puppet server after run'
51
49
  def apply(name_regexp)
52
-
53
- if !options["image-name"] && !options["server-version"]
54
- Pero.log.error "image-name or server-version are required"
50
+ if !options['image-name'] && !options['server-version']
51
+ Pero.log.error 'image-name or server-version are required'
55
52
  return
56
53
  end
57
54
 
@@ -64,64 +61,60 @@ module Pero
64
61
  m = Mutex.new
65
62
 
66
63
  begin
67
- Parallel.each(nodes, in_threads: options["concurrent"]) do |n|
64
+ Parallel.each(nodes, in_threads: options['concurrent']) do |n|
68
65
  opt = merge_options(n, options)
69
- puppet = Pero::Puppet.new(opt["host"], opt, m)
66
+ puppet = Pero::Puppet.new(opt['host'], opt, m)
70
67
  puppet.apply
71
68
  end
72
- rescue => e
69
+ rescue StandardError => e
73
70
  Pero.log.error e.backtrace.join("\n")
74
71
  Pero.log.error e.inspect
75
-
76
72
  ensure
77
- if options["one-shot"]
78
- Pero.log.info "stop puppet master container"
79
- Parallel.each(nodes, in_threads: options["concurrent"]) do |n|
80
- opt = merge_options(n, options)
81
- Pero::Puppet.new(opt["host"], opt, m).stop_master
82
- end
73
+ if options['one-shot']
74
+ Pero.log.info 'stop puppet master container'
75
+ opt = merge_options(nodes.first, options)
76
+ Pero::Puppet.new(opt['host'], opt, m).stop_master
83
77
  else
84
- Pero.log.info "puppet master container keep running"
78
+ Pero.log.info 'puppet master container keep running'
85
79
  end
86
80
  end
87
81
  end
88
82
 
89
- desc "bootstrap", "bootstrap pero"
83
+ desc 'bootstrap', 'bootstrap pero'
90
84
  shared_options
91
- option "agent-version", type: :string
92
- option "node-name", aliases: '-N', default: "", type: :string, desc: "json node name(default hostname)"
85
+ option 'agent-version', type: :string
86
+ option 'node-name', aliases: '-N', default: '', type: :string, desc: 'json node name(default hostname)'
93
87
  def bootstrap(*hosts)
94
- begin
95
- options["environment"] = "production" if options["environment"].nil? || options["environment"].empty?
96
- m = Mutex.new
97
- Parallel.each(hosts, in_threads: options["concurrent"]) do |host|
98
- raise "unknown option #{host}" if host =~ /^-/
99
- puppet = Pero::Puppet.new(host, options, m)
88
+ options['environment'] = 'production' if options['environment'].nil? || options['environment'].empty?
89
+ m = Mutex.new
90
+ Parallel.each(hosts, in_threads: options['concurrent']) do |host|
91
+ raise "unknown option #{host}" if host =~ /^-/
100
92
 
101
- Pero.log.info "bootstrap pero #{host}"
102
- puppet.install
103
- end
104
- rescue => e
105
- Pero.log.error e.backtrace.join("\n")
106
- Pero.log.error e.inspect
93
+ puppet = Pero::Puppet.new(host, options, m)
94
+
95
+ Pero.log.info "bootstrap pero #{host}"
96
+ puppet.install
107
97
  end
98
+ rescue StandardError => e
99
+ Pero.log.error e.backtrace.join("\n")
100
+ Pero.log.error e.inspect
108
101
  end
109
102
 
110
103
  no_commands do
111
104
  def merge_options(node, options)
112
- opt = node["last_options"].merge(options)
113
- opt["environment"] = "production" if opt["environment"].nil? || opt["environment"].empty?
114
- if options["image-name"]
115
- opt.delete("server-version")
105
+ opt = node['last_options'].merge(options)
106
+ opt['environment'] = 'production' if opt['environment'].nil? || opt['environment'].empty?
107
+ if options['image-name']
108
+ opt.delete('server-version')
116
109
  else
117
- opt.delete("image-name")
110
+ opt.delete('image-name')
118
111
  end
119
112
  opt
120
113
  end
121
114
 
122
115
  def prepare
123
- `bundle install` if File.exist?("Gemfile")
124
- `bundle exec librarian-puppet install` if File.exist?("Puppetfile")
116
+ `bundle install` if File.exist?('Gemfile')
117
+ `bundle exec librarian-puppet install` if File.exist?('Puppetfile')
125
118
  end
126
119
  end
127
120
  end
data/lib/pero/docker.rb CHANGED
@@ -141,8 +141,10 @@ module Pero
141
141
  ["puppet5-release-el-#{el}.noarch.rpm", 'puppetserver']
142
142
  elsif Gem::Version.new('7.0.0') > Gem::Version.new(server_version) && Gem::Version.new('6.0.0') <= Gem::Version.new(server_version)
143
143
  ["puppet6-release-el-#{el}.noarch.rpm", 'puppetserver']
144
- else
144
+ elsif Gem::Version.new('8.0.0') > Gem::Version.new(server_version) && Gem::Version.new('7.0.0') <= Gem::Version.new(server_version)
145
145
  ["puppet7-release-el-#{el}.noarch.rpm", 'puppetserver']
146
+ else
147
+ ["puppet8-release-el-#{el}.noarch.rpm", 'puppetserver']
146
148
  end
147
149
 
148
150
  vault_repo = if el == 6
data/lib/pero/puppet.rb CHANGED
@@ -91,10 +91,7 @@ module Pero
91
91
  end
92
92
 
93
93
  def stop_master
94
- @mutex.lock
95
94
  run_container.kill if docker.alerady_run?
96
- ensure
97
- @mutex.unlock if @mutex.owned?
98
95
  end
99
96
 
100
97
  def serve_master
@@ -115,7 +112,7 @@ module Pero
115
112
  @mutex.lock
116
113
  docker.alerady_run? || docker.run
117
114
  ensure
118
- @mutex.unlock if @mutex.owned?
115
+ @mutex.unlock
119
116
  end
120
117
 
121
118
  def apply
data/lib/pero/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pero
2
- VERSION = '0.5.7'
2
+ VERSION = '0.5.10'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - pyama86
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-09 00:00:00.000000000 Z
11
+ date: 2024-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -158,6 +158,7 @@ executables:
158
158
  extensions: []
159
159
  extra_rdoc_files: []
160
160
  files:
161
+ - ".github/dependabot.yml"
161
162
  - ".gitignore"
162
163
  - Gemfile
163
164
  - LICENSE.txt
@@ -199,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
200
  - !ruby/object:Gem::Version
200
201
  version: '0'
201
202
  requirements: []
202
- rubygems_version: 3.4.19
203
+ rubygems_version: 3.5.3
203
204
  signing_key:
204
205
  specification_version: 4
205
206
  summary: tool for puppet apply from our desktop.