kdeploy 1.2.41 → 1.3.3

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.
data/lib/kdeploy.rb CHANGED
@@ -2,20 +2,20 @@
2
2
 
3
3
  require_relative 'kdeploy/version'
4
4
  require_relative 'kdeploy/errors'
5
- require_relative 'kdeploy/configuration'
6
- require_relative 'kdeploy/output'
5
+ require_relative 'kdeploy/config/configuration'
6
+ require_relative 'kdeploy/output/output'
7
7
  require_relative 'kdeploy/banner'
8
- require_relative 'kdeploy/file_filter'
9
- require_relative 'kdeploy/dsl'
10
- require_relative 'kdeploy/executor'
11
- require_relative 'kdeploy/command_executor'
12
- require_relative 'kdeploy/output_formatter'
13
- require_relative 'kdeploy/help_formatter'
14
- require_relative 'kdeploy/runner'
15
- require_relative 'kdeploy/initializer'
16
- require_relative 'kdeploy/template'
8
+ require_relative 'kdeploy/executor/file_filter'
9
+ require_relative 'kdeploy/dsl/dsl'
10
+ require_relative 'kdeploy/executor/executor'
11
+ require_relative 'kdeploy/executor/command_executor'
12
+ require_relative 'kdeploy/output/output_formatter'
13
+ require_relative 'kdeploy/cli/help_formatter'
14
+ require_relative 'kdeploy/runner/runner'
15
+ require_relative 'kdeploy/dsl/initializer'
16
+ require_relative 'kdeploy/template/template'
17
17
  require_relative 'kdeploy/post_install'
18
- require_relative 'kdeploy/cli'
18
+ require_relative 'kdeploy/cli/cli'
19
19
 
20
20
  # Kdeploy - A lightweight agentless deployment automation tool
21
21
  module Kdeploy
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kdeploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.41
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kk
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-02-03 00:00:00.000000000 Z
11
+ date: 2026-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt_pbkdf
@@ -167,24 +167,23 @@ files:
167
167
  - ext/mkrf_conf.rb
168
168
  - lib/kdeploy.rb
169
169
  - lib/kdeploy/banner.rb
170
- - lib/kdeploy/cli.rb
171
- - lib/kdeploy/command_executor.rb
170
+ - lib/kdeploy/cli/cli.rb
171
+ - lib/kdeploy/cli/help_formatter.rb
172
172
  - lib/kdeploy/completions/kdeploy.bash
173
173
  - lib/kdeploy/completions/kdeploy.zsh
174
- - lib/kdeploy/configuration.rb
175
- - lib/kdeploy/dsl.rb
174
+ - lib/kdeploy/config/configuration.rb
175
+ - lib/kdeploy/dsl/dsl.rb
176
+ - lib/kdeploy/dsl/initializer.rb
176
177
  - lib/kdeploy/errors.rb
177
- - lib/kdeploy/executor.rb
178
- - lib/kdeploy/file_filter.rb
179
- - lib/kdeploy/help_formatter.rb
180
- - lib/kdeploy/initializer.rb
181
- - lib/kdeploy/output.rb
182
- - lib/kdeploy/output_formatter.rb
178
+ - lib/kdeploy/executor/command_executor.rb
179
+ - lib/kdeploy/executor/executor.rb
180
+ - lib/kdeploy/executor/file_filter.rb
181
+ - lib/kdeploy/output/output.rb
182
+ - lib/kdeploy/output/output_formatter.rb
183
183
  - lib/kdeploy/post_install.rb
184
- - lib/kdeploy/runner.rb
185
- - lib/kdeploy/template.rb
184
+ - lib/kdeploy/runner/runner.rb
185
+ - lib/kdeploy/template/template.rb
186
186
  - lib/kdeploy/version.rb
187
- - r.md
188
187
  homepage: https://github.com/kevin197011/kdeploy
189
188
  licenses:
190
189
  - MIT
@@ -1,102 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Kdeploy
4
- # Executes a single command and records execution time
5
- class CommandExecutor
6
- def initialize(executor, output, debug: false, retries: 0, retry_delay: 1)
7
- @executor = executor
8
- @output = output
9
- @debug = debug
10
- @retries = retries.to_i
11
- @retry_delay = retry_delay.to_f
12
- end
13
-
14
- def execute_run(command, _host_name)
15
- cmd = command[:command]
16
- use_sudo = command[:sudo]
17
-
18
- result, duration = measure_time do
19
- with_retries { @executor.execute(cmd, use_sudo: use_sudo) }
20
- end
21
-
22
- { command: cmd, output: result, duration: duration, type: :run }
23
- end
24
-
25
- def execute_upload(command, _host_name)
26
- _result, duration = measure_time do
27
- with_retries { @executor.upload(command[:source], command[:destination]) }
28
- end
29
- {
30
- command: "upload: #{command[:source]} -> #{command[:destination]}",
31
- duration: duration,
32
- type: :upload
33
- }
34
- end
35
-
36
- def execute_upload_template(command, _host_name)
37
- _result, duration = measure_time do
38
- with_retries do
39
- @executor.upload_template(command[:source], command[:destination], command[:variables])
40
- end
41
- end
42
- {
43
- command: "upload_template: #{command[:source]} -> #{command[:destination]}",
44
- duration: duration,
45
- type: :upload_template
46
- }
47
- end
48
-
49
- def execute_sync(command, _host_name)
50
- source = command[:source]
51
- destination = command[:destination]
52
-
53
- result, duration = measure_time do
54
- with_retries do
55
- @executor.sync_directory(
56
- source,
57
- destination,
58
- ignore: command[:ignore] || [],
59
- exclude: command[:exclude] || [],
60
- delete: command[:delete] || false
61
- )
62
- end
63
- end
64
-
65
- build_sync_result(source, destination, result, duration)
66
- end
67
-
68
- private
69
-
70
- def build_sync_result(source, destination, result, duration)
71
- {
72
- command: "sync: #{source} -> #{destination}",
73
- duration: duration,
74
- type: :sync,
75
- result: result,
76
- uploaded: result[:uploaded],
77
- deleted: result[:deleted],
78
- total: result[:total]
79
- }
80
- end
81
-
82
- def measure_time
83
- start_time = Time.now
84
- result = yield
85
- duration = Time.now - start_time
86
- [result, duration]
87
- end
88
-
89
- def with_retries
90
- attempts = 0
91
- begin
92
- attempts += 1
93
- yield
94
- rescue SSHError, SCPError, TemplateError
95
- raise if attempts > (@retries + 1)
96
-
97
- sleep(@retry_delay) if @retry_delay.positive?
98
- retry
99
- end
100
- end
101
- end
102
- end
data/r.md DELETED
@@ -1 +0,0 @@
1
- # Your product documentation
File without changes