class Container::Backup::Chronograf

Public Instance Methods

backup() click to toggle source
# File lib/container/steps/databases.rb, line 71
def backup
  get_dashboard_ids(false).each do |i|
    sh "docker exec #{container} sh -c 'curl -i -X GET http://127.0.0.1:8888/chronograf/v1/dashboards/#{i} > /#{backup_path}/i.json'"
  end
end
get_dashboard_ids(save=true) click to toggle source

www.influxdata.com/blog/chronograf-dashboard-definitions/

- "backup={volumes: [chronograf_data],databases: [chronograf]}"
# File lib/container/steps/databases.rb, line 66
def get_dashboard_ids(save=true)
  sh "docker exec  #{container} sh -c 'curl -i X GET http://127.0.0.1:8888/chronograf/v1/dashboards > /#{backup_path}/dashboards.json'" if save
  JSON.parse(File.open("/#{backup_path}/dashboards.json"))['dashboards'].map{|d| d['id']}
end
restore() click to toggle source
# File lib/container/steps/databases.rb, line 77
def restore
  get_dashboard_ids.each do |i|
    sh "docker exec #{container} sh -c 'curl -i -X POST -H \"Content-Type: application/json\" http://127.0.0.1:8888/chronograf/v1/dashboards -d @/#{i}.json'"
  end
end