Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9124230
swarm_init.rb
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
swarm_init.rb
View Options
#!/opt/puppetlabs/puppet/bin/ruby
# frozen_string_literal: true
require
'json'
require
'open3'
require
'puppet'
def
swarm_init
(
advertise_addr
,
autolock
,
cert_expiry
,
dispatcher_heartbeat
,
external_ca
,
force_new_cluster
,
listen_addr
,
max_snapshots
,
snapshot_interval
)
cmd_string
=
'docker swarm init'
cmd_string
+=
" --advertise-addr=
#{
advertise_addr
}
"
unless
advertise_addr
.
nil?
cmd_string
+=
' --autolock'
unless
autolock
.
nil?
cmd_string
+=
' --cert-expiry'
unless
cert_expiry
.
nil?
cmd_string
+=
" --dispatcher-heartbeat=
#{
dispatcher_heartbeat
}
"
unless
dispatcher_heartbeat
.
nil?
cmd_string
+=
" --external-ca=
#{
external_ca
}
"
unless
external_ca
.
nil?
cmd_string
+=
' --force-new-cluster'
unless
force_new_cluster
.
nil?
cmd_string
+=
" --listen-addr=
#{
listen_addr
}
"
unless
listen_addr
.
nil?
cmd_string
+=
" --max-snapshots=
#{
max_snapshots
}
"
unless
max_snapshots
.
nil?
cmd_string
+=
" --snapshot-interval=
#{
snapshot_interval
}
"
unless
snapshot_interval
.
nil?
stdout
,
stderr
,
status
=
Open3
.
capture3
(
cmd_string
)
raise
Puppet
::
Error
,
"stderr: '
#{
stderr
}
'"
if
status
!=
0
stdout
.
strip
end
params
=
JSON
.
parse
(
STDIN
.
read
)
advertise_addr
=
params
[
'advertise_addr'
]
autolock
=
params
[
'autolock'
]
cert_expiry
=
params
[
'cert_expiry'
]
dispatcher_heartbeat
=
params
[
'dispatcher_heartbeat'
]
external_ca
=
params
[
'external_ca'
]
force_new_cluster
=
params
[
'force_new_cluster'
]
listen_addr
=
params
[
'listen_addr'
]
max_snapshots
=
params
[
'max_snapshots'
]
snapshot_interval
=
params
[
'snapshot_interval'
]
begin
result
=
swarm_init
(
advertise_addr
,
autolock
,
cert_expiry
,
dispatcher_heartbeat
,
external_ca
,
force_new_cluster
,
listen_addr
,
max_snapshots
,
snapshot_interval
)
puts
result
exit
0
rescue
Puppet
::
Error
=>
e
puts
(
status
:
'failure'
,
error
:
e
.
message
)
exit
1
end
File Metadata
Details
Attached
Mime Type
text/x-ruby
Expires
Sat, Jun 21, 6:51 PM (2 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3305917
Attached To
R205 puppet-puppetlabs-docker
Event Timeline
Log In to Comment