diff options
author | Saku Ytti <saku@ytti.fi> | 2014-02-23 19:11:29 +0200 |
---|---|---|
committer | Saku Ytti <saku@ytti.fi> | 2014-02-23 19:11:29 +0200 |
commit | 8880188001da23a5f0960e3970c4eb9bbd448306 (patch) | |
tree | 41a1f79450ff1683a2d5aa1f024a564e84230e25 /lib/oxidized/api/web/views | |
parent | 06e5f68db6cfcbd80295874db1f00a25e8ba1229 (diff) |
Migrate to sinatra/puma from webrick
As I can't do IO#select on sinatra/puma to run it when I have time, I
have to run it on separate thread.
This means Nodes container needs to be thread safe, it now has ghetto
mutex locking, but I probably need to be be more focused what are the
external methods that can be called and wrap those in @mutex.synchronize
Provide also HTML UI not just JSON for ghetto UI to people who don't want to
integrate
Diffstat (limited to 'lib/oxidized/api/web/views')
-rw-r--r-- | lib/oxidized/api/web/views/default.haml | 4 | ||||
-rw-r--r-- | lib/oxidized/api/web/views/head.haml | 3 | ||||
-rw-r--r-- | lib/oxidized/api/web/views/node.haml | 6 | ||||
-rw-r--r-- | lib/oxidized/api/web/views/nodes.haml | 27 |
4 files changed, 40 insertions, 0 deletions
diff --git a/lib/oxidized/api/web/views/default.haml b/lib/oxidized/api/web/views/default.haml new file mode 100644 index 0000000..1ff1f4b --- /dev/null +++ b/lib/oxidized/api/web/views/default.haml @@ -0,0 +1,4 @@ +%html + !=haml :head + %body + =@data diff --git a/lib/oxidized/api/web/views/head.haml b/lib/oxidized/api/web/views/head.haml new file mode 100644 index 0000000..1619512 --- /dev/null +++ b/lib/oxidized/api/web/views/head.haml @@ -0,0 +1,3 @@ +%head + %title oxidized + %link{:rel=>'stylesheet', :href=>'/css/oxidized.css'} diff --git a/lib/oxidized/api/web/views/node.haml b/lib/oxidized/api/web/views/node.haml new file mode 100644 index 0000000..6c68e07 --- /dev/null +++ b/lib/oxidized/api/web/views/node.haml @@ -0,0 +1,6 @@ +%html + !=haml :head + %body + -out='';PP.pp(@data,out) + %pre + =out diff --git a/lib/oxidized/api/web/views/nodes.haml b/lib/oxidized/api/web/views/nodes.haml new file mode 100644 index 0000000..4bc0b14 --- /dev/null +++ b/lib/oxidized/api/web/views/nodes.haml @@ -0,0 +1,27 @@ +%html + !=haml :head + %body + %a(href="/reload") reload list of nodes + %table + %tr + %th Name + %th IP + %th Group + %th Last Status + %th Last Time + %th Config + %th Update + -trclass = %w(even odd) + -@data.sort_by{|e|e[:name]}.each do |node| + -klass = trclass.rotate!.first + %tr{:class=>klass} + %td + %a(href="/node/show/#{node[:name]}") #{node[:name]} + %td= node[:ip] + %td= node[:group] + %td= node[:status] + %td= node[:time] + %td + %a(href="/node/fetch/#{node[:full_name]}") config + %td + %a(href="/node/next/#{node[:full_name]}") update |