<% # This template can be configure the following way with environment variables # Environment variables to filter services/instances # SERVICES_TAG_FILTER: basic tag filter for service (default HTTP) services_tag_filter = ENV['SERVICES_TAG_FILTER'] def status_to_class(status) if status == 'passing' 'success' elsif status == 'warning' 'warning' elsif status == 'critical' 'danger' else 'info' end end %><%= render_file 'common/header.html.erb' %> <% require 'base64' require 'json' require 'date' %> <nav> <ul> <li><a href="#datacenters">DataCenters</a></li> <li><a href="#list_services">List of services</a></li> <li><a href="#services">Services with instances</a></li> </ul> </nav> <h1 id="datacenters">List of all datacenters</h1> <ul> <% datacenters.each do |dc| %> <li id="dc_<%=dc %>%"><%= dc %> with <%= services(dc:dc).keys.count %> services, <%= nodes(dc:dc).count %> nodes</li> <% end %> </ul> <h1 id="list_services">List of all services in current DC</h1> <ul> <% services.each do |service_name, tags| %> <li><a href="#service_<%= service_name %>"><%= service_name %></a> <%= tags.sort %></li> <% end %> </ul> <h1 id="services">List all services instances sorted by node name</h1> <% services.each do |service_name, tags| %><h2 id="service_<%= service_name %>" title="<%= tags %>"><%= service_name %> <a class="qlink" href="#service_<%= service_name %>">🔗</a></h2> <ul> <% service(service_name).sort {|a,b| a['Node']['Node'] <=> b['Node']['Node'] }.each do |snode| tags = snode['Service']['Tags'].sort addr = snode['Node']['Address'] port_num = snode['Service']['Port'].to_i port = port_num && port_num > 0 ? ":#{port_num}" : '' url = if tags.include? 'https' "https://#{addr}#{port}" elsif tags.include? 'http' "http://#{addr}#{port}" elsif tags.include? 'ftp' "ftp://#{addr}#{port}" else nil end %><li><a <%= url ? "href=\"#{url}\"" : nil %>><%= snode['Node']['Node'] %><%= port %></a> <span class="tags"><%= snode['Service']['Tags'].sort %></tag> <span class="statuses"><% snode['Checks'].each do |c| %> <span title="<%= c['Name']%>" class="<%= c['Status'] %>"><%= c['Status'] %></span><% end if snode['Checks'] %></span></li> <% end%> </ul> <% end%> <%= render_file 'common/footer.html.erb' %>