danarchy_deploy 0.2.11 → 0.2.13
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/.asdf_versions.json +1 -1
- data/.tool-versions +1 -1
- data/CHANGELOG.md +13 -0
- data/README.md +1 -2
- data/exe/danarchy_deploy +15 -8
- data/lib/danarchy_deploy/pid.rb +38 -0
- data/lib/danarchy_deploy/services/init/openrc.rb +15 -5
- data/lib/danarchy_deploy/system/fstab.rb +2 -2
- data/lib/danarchy_deploy/system/gentoo.rb +10 -30
- data/lib/danarchy_deploy/system.rb +5 -18
- data/lib/danarchy_deploy/version.rb +1 -1
- data/lib/danarchy_deploy.rb +41 -21
- data/templates/deploy_template.json +4 -3
- data/templates/portage/make.conf.erb +11 -12
- data/templates/portage/portage_sync.sh +5 -0
- metadata +30 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61637129e8f6974c029b38504bfc513e3284d4d5eef6dc54fa5e24cdf45709d1
|
4
|
+
data.tar.gz: 80ea5ff429b1ae44d3eb6aef9d7dea0cecac5fc717fcd3cd8bc0125c8e54788a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 337fde118724af946077e866fce15a6892cde02f99d46bcfaa9d1535d6ddca450cc2aefb54e2275d71e0b848cf8b562012d5ef1b03be903abfc5483f8159576c
|
7
|
+
data.tar.gz: '0868e979870026c5525318b5ccf06dadde9a3ae2b1e52fb2cbba238b1b18d56c5e7e84418abe2ef0bc617f0ff77e52aa4c5744142b9fde4f104345b1f2c592f4'
|
data/.asdf_versions.json
CHANGED
data/.tool-versions
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 3.2.
|
1
|
+
ruby 3.2.4
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
patch_0.2.13
|
2
|
+
- Pid class to return LocalDeploy if already running
|
3
|
+
- remote_LocalDeploy parse options dynamically
|
4
|
+
- portage_sync: log eclean output
|
5
|
+
- fix @runlevel in init/openrc.rb
|
6
|
+
- update builtin::portage/make.conf.erb with variable parsing
|
7
|
+
|
8
|
+
patch_0.2.12
|
9
|
+
- Rename bin/console
|
10
|
+
- Change emerge --sync cron to /etc/cron.daily/
|
11
|
+
- Init::OpenRC: cleanup service in wrong runlevels
|
12
|
+
- add skip_install option
|
13
|
+
|
1
14
|
patch_0.2.11
|
2
15
|
- gentoo: fix portage cron permissions
|
3
16
|
- restructure bin/exe dirs, update gemspec
|
data/README.md
CHANGED
@@ -40,8 +40,7 @@ Usage: sudo bin/danarchy_deploy (local|remote) --json /path/to/deployment.json [
|
|
40
40
|
--dev-gem Build dAnarchy_deploy gem locally and push to target host in RemoteDeploy.
|
41
41
|
--ssh-verbose Verbose SSH stdout/stderr output.
|
42
42
|
--vars-verbose Verbose template variable output.
|
43
|
+
--skip-install Skip package installation and updates.
|
43
44
|
--version Print bin/danarchy_deploy version.
|
44
45
|
-h, --help Print this help info.
|
45
46
|
```
|
46
|
-
|
47
|
-
More documentation incoming...
|
data/exe/danarchy_deploy
CHANGED
@@ -4,13 +4,16 @@ require 'danarchy_couchdb'
|
|
4
4
|
require 'optparse'
|
5
5
|
|
6
6
|
deployment = nil
|
7
|
-
options = {
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
options = {
|
8
|
+
couchdb: "#{ENV['HOME']}/.danarchy/danarchy_deploy/danarchy_couchdb.json",
|
9
|
+
deploy_dir: '/danarchy/deploy',
|
10
|
+
deploy_file: nil,
|
11
|
+
first_run: false,
|
12
|
+
pretend: false,
|
13
|
+
ssh_verbose: false,
|
14
|
+
vars_verbose: false,
|
15
|
+
skip_install: false
|
16
|
+
}
|
14
17
|
|
15
18
|
ARGV.push('--help') if ARGV.empty?
|
16
19
|
optparse = OptionParser.new do |opts|
|
@@ -53,6 +56,10 @@ optparse = OptionParser.new do |opts|
|
|
53
56
|
options[:vars_verbose] = true
|
54
57
|
end
|
55
58
|
|
59
|
+
opts.on('--skip-install', "Skip package installation and updates.") do |val|
|
60
|
+
options[:skip_install] = true
|
61
|
+
end
|
62
|
+
|
56
63
|
opts.on('--version', "Print #{$PROGRAM_NAME} version.") do |val|
|
57
64
|
puts "DanarchyDeploy: #{DanarchyDeploy::VERSION}"
|
58
65
|
exit 1
|
@@ -101,7 +108,7 @@ elsif location == 'local'
|
|
101
108
|
puts ' ! Ctrl-c out if this is not what you want to do!'
|
102
109
|
10.downto(0) do |i|
|
103
110
|
trap('SIGINT') { abort("\nExiting!") }
|
104
|
-
print "\rDeploying in #{i} seconds"
|
111
|
+
print "\rDeploying in #{i} seconds. "
|
105
112
|
sleep(1)
|
106
113
|
end
|
107
114
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module DanarchyDeploy
|
2
|
+
class Pid
|
3
|
+
attr_reader :pid
|
4
|
+
attr_reader :locked
|
5
|
+
attr_reader :message
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@pidfile = '/var/run/danarchy_deploy.pid'
|
9
|
+
@pid = File.exist?(@pidfile) ? File.read(@pidfile).chomp.to_i : nil
|
10
|
+
@locked = false
|
11
|
+
|
12
|
+
if @pid
|
13
|
+
begin
|
14
|
+
Process.getpgid(@pid)
|
15
|
+
@locked = true
|
16
|
+
@message = "dAnarchy Deploy is already running as PID: #{@pid}"
|
17
|
+
rescue Errno::ESRCH => e
|
18
|
+
@locked = false
|
19
|
+
@message = "dAnarchy Deploy is not currently running."
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
if @locked == false
|
24
|
+
@pid = Process.pid
|
25
|
+
@locked = false
|
26
|
+
@message = "dAnarchy Deploy has started as PID: #{@pid}"
|
27
|
+
File.write(@pidfile, @pid)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def cleanup
|
32
|
+
File.delete(@pidfile)
|
33
|
+
@pid = nil
|
34
|
+
@locked = false
|
35
|
+
@message = "dAnarchy Deploy has completed. Cleaning up PID"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -3,10 +3,11 @@ module DanarchyDeploy
|
|
3
3
|
module Services
|
4
4
|
class Init
|
5
5
|
class Openrc
|
6
|
-
def initialize(service, runlevel, options)
|
6
|
+
def initialize(service, runlevel='default', options)
|
7
7
|
@service = service
|
8
8
|
@runlevel = runlevel
|
9
9
|
@options = options
|
10
|
+
cleanup_runlevels
|
10
11
|
end
|
11
12
|
|
12
13
|
def status
|
@@ -64,10 +65,19 @@ module DanarchyDeploy
|
|
64
65
|
end
|
65
66
|
|
66
67
|
def disable
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
68
|
+
cmd = "rc-update del #{@service} #{@runlevel}"
|
69
|
+
DanarchyDeploy::Helpers.run_command(cmd, @options)
|
70
|
+
end
|
71
|
+
|
72
|
+
private
|
73
|
+
def cleanup_runlevels
|
74
|
+
Dir["/etc/runlevels/*/#{@service}"].each do |dir|
|
75
|
+
runlevel = File.basename(File.dirname(dir))
|
76
|
+
if runlevel != @runlevel
|
77
|
+
puts " |> Removing #{@service} from wrong runlevel: #{runlevel}"
|
78
|
+
cmd = "rc-update del #{@service} #{runlevel}"
|
79
|
+
DanarchyDeploy::Helpers.run_command(cmd, @options)
|
80
|
+
end
|
71
81
|
end
|
72
82
|
end
|
73
83
|
end
|
@@ -47,8 +47,8 @@ module DanarchyDeploy
|
|
47
47
|
abort(" ! Failed to run mkfs: #{mkfs[:stderr]}") if mkfs[:stderr]
|
48
48
|
end
|
49
49
|
|
50
|
-
FileUtils.mkdir_p(mount[:mountpoint])
|
51
|
-
|
50
|
+
FileUtils.mkdir_p(mount[:mountpoint]) unless options[:pretend] &&
|
51
|
+
Dir.exist?(mount[:mountpoint])
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -48,7 +48,7 @@ module DanarchyDeploy
|
|
48
48
|
puts " |> Continuing with emerge!"
|
49
49
|
end
|
50
50
|
|
51
|
-
def self.emerge_sync(sync, options)
|
51
|
+
def self.emerge_sync(sync=false, options)
|
52
52
|
puts "\n > Gentoo Emerge Sync"
|
53
53
|
if sync.nil?
|
54
54
|
install_sync_cron(sync, options)
|
@@ -65,7 +65,7 @@ module DanarchyDeploy
|
|
65
65
|
DanarchyDeploy::Helpers.run_command("rm -rf #{@repo_path}/.tmp-unverified-download-quarantine", options)
|
66
66
|
end
|
67
67
|
end
|
68
|
-
elsif sync =~ /(
|
68
|
+
elsif sync =~ /(cron|schedule)/i
|
69
69
|
install_sync_cron(sync, options)
|
70
70
|
else
|
71
71
|
puts "\n ! Unknown sync cron time: #{sync}. Not running emerge sync!"
|
@@ -88,41 +88,21 @@ module DanarchyDeploy
|
|
88
88
|
'id portage | grep cron >/dev/null && usermod -r -G cron portage',
|
89
89
|
options)
|
90
90
|
|
91
|
-
templates.push({ target: '/
|
91
|
+
templates.push({ target: '/etc/cron.daily/portage_sync.sh',
|
92
92
|
remove: true })
|
93
93
|
else
|
94
94
|
DanarchyDeploy::Helpers.run_command(
|
95
95
|
'id portage | grep cron >/dev/null || usermod -a -G cron portage',
|
96
96
|
options)
|
97
97
|
|
98
|
-
|
99
|
-
|
100
|
-
templates.push({ source: 'builtin::system/crontab.erb',
|
101
|
-
target: '/var/spool/cron/crontabs/portage',
|
98
|
+
templates.push({ source: 'builtin::portage/portage_sync.sh',
|
99
|
+
target: '/etc/cron.daily/portage_sync.sh',
|
102
100
|
file_perms: {
|
103
|
-
owner: '
|
104
|
-
group: '
|
105
|
-
mode: '
|
106
|
-
}
|
107
|
-
|
108
|
-
shell: '/bin/bash',
|
109
|
-
path: '/usr/local/sbin:/usr/local/bin:/usr/bin',
|
110
|
-
env: '',
|
111
|
-
jobs: [
|
112
|
-
{
|
113
|
-
schedule: sync,
|
114
|
-
command: 'emerge --sync &>/var/log/emerge-sync.log'
|
115
|
-
},
|
116
|
-
{
|
117
|
-
schedule: '@daily',
|
118
|
-
command: 'eclean-dist &>/dev/null'
|
119
|
-
},
|
120
|
-
{
|
121
|
-
schedule: '@daily',
|
122
|
-
command: 'eclean-pkg &>/dev/null'
|
123
|
-
}
|
124
|
-
]
|
125
|
-
} })
|
101
|
+
owner: 'root',
|
102
|
+
group: 'root',
|
103
|
+
mode: '0740'
|
104
|
+
}
|
105
|
+
})
|
126
106
|
end
|
127
107
|
|
128
108
|
DanarchyDeploy::Templater.new(templates, options)
|
@@ -15,6 +15,11 @@ module DanarchyDeploy
|
|
15
15
|
installer, updater, cleaner = prep_operating_system(deployment, options)
|
16
16
|
install_result, updater_result = nil, nil
|
17
17
|
|
18
|
+
if options[:skip_install]
|
19
|
+
puts "\n > Skipping package installation due to --skip-install"
|
20
|
+
return deployment
|
21
|
+
end
|
22
|
+
|
18
23
|
puts "\n > Package Installation"
|
19
24
|
if [true, 'all', 'selected', nil].include?(deployment[:system][:update]) &&
|
20
25
|
deployment[:packages].any?
|
@@ -87,23 +92,5 @@ module DanarchyDeploy
|
|
87
92
|
|
88
93
|
[installer, updater, cleaner]
|
89
94
|
end
|
90
|
-
|
91
|
-
def self.fstab_mount(deployment, options)
|
92
|
-
fstab = deployment[:system][:templates].collect { |t| t if t[:target] == '/etc/fstab' }.compact
|
93
|
-
fstab.each do |t|
|
94
|
-
t[:variables].each do |v|
|
95
|
-
if !Dir.exist?(v[:mountpoint])
|
96
|
-
puts "Creating mountpoint: #{v[:mountpoint]}"
|
97
|
-
FileUtils.mkdir_p(v[:mountpoint]) if !options[:pretend]
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
puts "\n > Mounting Filesystems"
|
103
|
-
if !options[:pretend]
|
104
|
-
mount_result = DanarchyDeploy::Helpers.run_command('mount -a', options)
|
105
|
-
abort(' |! Failed to mount filesystems!') if mount_result[:stderr]
|
106
|
-
end
|
107
|
-
end
|
108
95
|
end
|
109
96
|
end
|
data/lib/danarchy_deploy.rb
CHANGED
@@ -4,6 +4,7 @@ module DanarchyDeploy
|
|
4
4
|
require_relative 'danarchy_deploy/groups'
|
5
5
|
require_relative 'danarchy_deploy/hash_deep_merge'
|
6
6
|
require_relative 'danarchy_deploy/helpers'
|
7
|
+
require_relative 'danarchy_deploy/pid'
|
7
8
|
require_relative 'danarchy_deploy/services'
|
8
9
|
require_relative 'danarchy_deploy/system'
|
9
10
|
require_relative 'danarchy_deploy/templater'
|
@@ -14,8 +15,15 @@ module DanarchyDeploy
|
|
14
15
|
class LocalDeploy
|
15
16
|
def self.new(deployment, options)
|
16
17
|
puts "\n" + self.name
|
18
|
+
|
19
|
+
pid = Pid.new
|
20
|
+
puts pid.message
|
21
|
+
if pid.locked
|
22
|
+
return deployment
|
23
|
+
end
|
24
|
+
|
17
25
|
puts "Pretend run! Not making any changes." if options[:pretend]
|
18
|
-
|
26
|
+
|
19
27
|
puts 'Begining Deployment:'
|
20
28
|
printf("%12s %0s\n", 'Hostname:', deployment[:hostname])
|
21
29
|
printf("%12s %0s\n", 'OS:', deployment[:os])
|
@@ -36,6 +44,8 @@ module DanarchyDeploy
|
|
36
44
|
File.write(options[:deploy_file], deployment.to_yaml)
|
37
45
|
end
|
38
46
|
|
47
|
+
pid.cleanup
|
48
|
+
puts pid.message
|
39
49
|
deployment
|
40
50
|
end
|
41
51
|
end
|
@@ -159,7 +169,7 @@ module DanarchyDeploy
|
|
159
169
|
gem_dir = File.expand_path('../../', __FILE__)
|
160
170
|
|
161
171
|
abort('ERROR: Need to be in development gem directory for --dev-gem!') if Dir.pwd != gem_dir
|
162
|
-
|
172
|
+
|
163
173
|
gem_path = "#{gem_dir}/pkg/#{gem}"
|
164
174
|
build_cmd = "cd #{gem_dir} && git add . && rake build"
|
165
175
|
build_result = DanarchyDeploy::Helpers.run_command(build_cmd, options)
|
@@ -183,7 +193,7 @@ module DanarchyDeploy
|
|
183
193
|
else
|
184
194
|
puts ' |+ Gem pushed!'
|
185
195
|
end
|
186
|
-
|
196
|
+
|
187
197
|
puts "\n > Installing gem: #{gem} on #{connector[:hostname]}"
|
188
198
|
install_cmd = _ssh_command(connector, "sudo -i gem install --bindir /usr/local/bin -f #{options[:deploy_dir]}/#{File.basename(gem)}")
|
189
199
|
install_result = DanarchyDeploy::Helpers.run_command(install_cmd, options)
|
@@ -204,14 +214,16 @@ module DanarchyDeploy
|
|
204
214
|
|
205
215
|
def self.push_templates(connector, options)
|
206
216
|
template_dir = options[:deploy_dir] + '/templates'
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
217
|
+
if Dir.exist?(template_dir)
|
218
|
+
puts "\n > Pushing templates: #{template_dir}"
|
219
|
+
push_cmd = _rsync_push(connector, template_dir, template_dir)
|
220
|
+
push_result = DanarchyDeploy::Helpers.run_command(push_cmd, options)
|
221
|
+
|
222
|
+
if push_result[:stderr]
|
223
|
+
abort(' ! Templates push failed!')
|
224
|
+
else
|
225
|
+
puts " |+ Templates pushed to '#{template_dir}'!"
|
226
|
+
end
|
215
227
|
end
|
216
228
|
end
|
217
229
|
|
@@ -231,15 +243,23 @@ module DanarchyDeploy
|
|
231
243
|
puts "\n > Running LocalDeploy on #{connector[:hostname]}.\n\n"
|
232
244
|
|
233
245
|
deploy_cmd = "sudo -i #{gem_binary} local "
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
246
|
+
opts = Array.new
|
247
|
+
options.each do |k,v|
|
248
|
+
next if [:couchdb, :dev_gem, :deploy_dir].include?(k)
|
249
|
+
if k == :deploy_file
|
250
|
+
if v.end_with?('.json')
|
251
|
+
opts.insert(-1, '--json ' + v)
|
252
|
+
elsif v.end_with?('.yaml')
|
253
|
+
opts.insert(-1, '--yaml ' + v)
|
254
|
+
else
|
255
|
+
abort(" ! Unknown deploy_file type: #{v}")
|
256
|
+
end
|
257
|
+
elsif v == true
|
258
|
+
opts.insert(0, '--' + k.to_s.gsub('_', '-'))
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
deploy_command = _ssh_command(connector, deploy_cmd + opts.join(' '))
|
243
263
|
system(deploy_command)
|
244
264
|
end
|
245
265
|
|
@@ -247,7 +267,7 @@ module DanarchyDeploy
|
|
247
267
|
puts "\n > Pulling deployment: #{options[:deploy_file]}"
|
248
268
|
pull_cmd = _scp_pull(connector, options[:deploy_file], options[:deploy_file])
|
249
269
|
pull_result = DanarchyDeploy::Helpers.run_command(pull_cmd, options)
|
250
|
-
|
270
|
+
|
251
271
|
if pull_result[:stderr]
|
252
272
|
abort(' ! Deployment pull failed!')
|
253
273
|
else
|
@@ -24,7 +24,7 @@
|
|
24
24
|
}
|
25
25
|
},
|
26
26
|
"portage": {
|
27
|
-
"sync": false,
|
27
|
+
"sync": false || false || "cron || schedule",
|
28
28
|
"templates": [
|
29
29
|
{
|
30
30
|
"target": "/etc/portage/make.conf",
|
@@ -70,9 +70,10 @@
|
|
70
70
|
"services": {
|
71
71
|
"service_name": {
|
72
72
|
"init": {
|
73
|
-
"
|
73
|
+
"runlevel": "default",
|
74
|
+
"actions": [
|
74
75
|
"enable",
|
75
|
-
"
|
76
|
+
"start"
|
76
77
|
]
|
77
78
|
},
|
78
79
|
"archives": [
|
@@ -5,20 +5,19 @@ CXXFLAGS="${COMMON_FLAGS}"
|
|
5
5
|
FCFLAGS="${COMMON_FLAGS}"
|
6
6
|
FFLAGS="${COMMON_FLAGS}"
|
7
7
|
|
8
|
-
MAKEOPTS="-j<%= `nproc`.to_i
|
8
|
+
MAKEOPTS="-j<%= @variables[:MAKEOPTS_J] ? @variables[:MAKEOPTS_J] : `nproc`.to_i + 1 %> -l<%= (`nproc`.to_f * 0.85) %>"
|
9
9
|
CPU_FLAGS_X86="<%= `cpuid2cpuflags`.split(': ').last.chomp %>"
|
10
10
|
|
11
|
-
<%
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
<%=
|
21
|
-
<%= @variables[:input] ? 'INPUT_DEVICES=' + "\"#{@variables[:input]}\"\n" : "INPUT_DEVICES=\"evdev keyboard\"\n" -%>
|
11
|
+
<%
|
12
|
+
defaults = {
|
13
|
+
:USE => "bindist logrotate",
|
14
|
+
:INPUT_DEVICES => "evdev keyboard"
|
15
|
+
}
|
16
|
+
|
17
|
+
variables = defaults.merge(@variables) if @variables.any?
|
18
|
+
|
19
|
+
variables.each do |k, v| -%>
|
20
|
+
<%= k.to_s + "=\"#{v}\"" %>
|
22
21
|
<% end -%>
|
23
22
|
|
24
23
|
# This sets the language of build output to English.
|
metadata
CHANGED
@@ -1,57 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danarchy_deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan James
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
type: :
|
19
|
+
version: '2.6'
|
20
|
+
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: danarchy_couchdb
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
48
|
-
type: :
|
47
|
+
version: '0.1'
|
48
|
+
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: mongo
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '2.20'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: openssl
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.3'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.3'
|
69
83
|
description: DanarchyDeploy intends to simplify Gentoo Linux (and other distro) deployments
|
70
84
|
down to a single template from an input JSON or YAML file, or from a CouchDB file.
|
71
85
|
email:
|
@@ -100,6 +114,7 @@ files:
|
|
100
114
|
- lib/danarchy_deploy/hash_deep_merge.rb
|
101
115
|
- lib/danarchy_deploy/helpers.rb
|
102
116
|
- lib/danarchy_deploy/installer.rb
|
117
|
+
- lib/danarchy_deploy/pid.rb
|
103
118
|
- lib/danarchy_deploy/services.rb
|
104
119
|
- lib/danarchy_deploy/services/init.rb
|
105
120
|
- lib/danarchy_deploy/services/init/openrc.rb
|
@@ -131,6 +146,7 @@ files:
|
|
131
146
|
- templates/portage/make.conf.erb
|
132
147
|
- templates/portage/package.use/bindist
|
133
148
|
- templates/portage/package.use/documentation
|
149
|
+
- templates/portage/portage_sync.sh
|
134
150
|
- templates/services/memcached/memcached.erb
|
135
151
|
- templates/services/mysql/my.cnf.erb
|
136
152
|
- templates/services/mysql/root_my.cnf.erb
|
@@ -173,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
189
|
- !ruby/object:Gem::Version
|
174
190
|
version: '0'
|
175
191
|
requirements: []
|
176
|
-
rubygems_version: 3.
|
192
|
+
rubygems_version: 3.4.19
|
177
193
|
signing_key:
|
178
194
|
specification_version: 4
|
179
195
|
summary: Pushes deployments locally or remotely based on a JSON/YAML/CouchDB template.
|