Added ofelia functionality.
This commit is contained in:
parent
f7b9535089
commit
3879c20814
31
dup.rb
31
dup.rb
@ -44,7 +44,8 @@ MAPPINGS = [
|
|||||||
['image', nil, lambda{|c,i| c.Config.Image}],
|
['image', nil, lambda{|c,i| c.Config.Image}],
|
||||||
['command', nil, lambda{|c,i| (cmd=c.Config.Cmd.join(" ") rescue nil) == (i.Config.Cmd.join(" ") rescue nil)? nil : cmd}, {:escape=>false}],
|
['command', nil, lambda{|c,i| (cmd=c.Config.Cmd.join(" ") rescue nil) == (i.Config.Cmd.join(" ") rescue nil)? nil : cmd}, {:escape=>false}],
|
||||||
['test', nil, nil, {type: :hidden}],
|
['test', nil, nil, {type: :hidden}],
|
||||||
['auto_update', nil, nil, {type: :hidden}]
|
['auto_update', nil, nil, {type: :hidden}],
|
||||||
|
['ofelia', nil, nil, {type: :hidden}]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -111,6 +112,15 @@ def get_sample(name="container")
|
|||||||
|
|
||||||
devices:
|
devices:
|
||||||
- "/dev/ttyUSB0:/dev/ttyUSB0"
|
- "/dev/ttyUSB0:/dev/ttyUSB0"
|
||||||
|
|
||||||
|
ofelia:
|
||||||
|
- name: update # No spaces!
|
||||||
|
schedule: "@every 4h" # go cron format! See https://pkg.go.dev/github.com/robfig/cron?utm_source=godoc
|
||||||
|
command: uname -a
|
||||||
|
user: foo
|
||||||
|
tty: false
|
||||||
|
no-overlap: true
|
||||||
|
- name: Test 2
|
||||||
HEREDOC
|
HEREDOC
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -263,6 +273,25 @@ class Container
|
|||||||
add_label("com.centurylinklabs.watchtower.enable", "true")
|
add_label("com.centurylinklabs.watchtower.enable", "true")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if @data["ofelia"] && @data["ofelia"].count > 0
|
||||||
|
add_label("ofelia.enabled", "true")
|
||||||
|
|
||||||
|
@data["ofelia"].each_with_index do |job, index|
|
||||||
|
name = job["name"] || "job-#{index}"
|
||||||
|
name = name.downcase.gsub(/[^a-z0-9\-]/, "-").gsub(/-+/, "-")
|
||||||
|
schedule = job["schedule"]
|
||||||
|
next unless schedule
|
||||||
|
command = job["command"]
|
||||||
|
next unless command
|
||||||
|
add_label("ofelia.job-exec.#{name}.schedule", schedule)
|
||||||
|
add_label("ofelia.job-exec.#{name}.command", command)
|
||||||
|
add_label("ofelia.job-exec.#{name}.user", job["user"]) if job["user"]
|
||||||
|
add_label("ofelia.job-exec.#{name}.tty", job["tty"].to_s) if job["tty"]!=nil
|
||||||
|
ol = job["no-overlap"]
|
||||||
|
add_label("ofelia.job-exec.#{name}.no-overlap", ol!=nil ? ol.to_s : "true")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
MAPPINGS.each do |mapping|
|
MAPPINGS.each do |mapping|
|
||||||
yml_name, cmd_name, reverse_lambda, options = *mapping
|
yml_name, cmd_name, reverse_lambda, options = *mapping
|
||||||
next if $net_host && %w(links net ports).include?(yml_name)
|
next if $net_host && %w(links net ports).include?(yml_name)
|
||||||
|
Loading…
Reference in New Issue
Block a user