Back to Emissary

Emissary Diagnostics {% if method or resource %} for {% if method %}{{ method }}{% endif %} {% if resource %}{{ resource }}{% endif %} {% endif %}

python/ambassador-diag/src/ambassador_diag/templates/diag.html

4.0.13.5 KB
Original Source

Emissary Diagnostics {% if method or resource %} for {% if method %}{{ method }}{% endif %} {% if resource %}{{ resource }}{% endif %} {% endif %}

{% if system.debug_mode %}

DEBUG MODE

{% endif %} {%- include "system-info.html" -%} {%- include "guidance.html" -%} {% if notices %}

{% for notice in notices %} {{ notice.level }}: {{ notice.message }}
{% endfor %}

{% endif %} {% if error %}

ERROR: {{ error }}

{% else %} {% if errors %}

CONFIGURATION ERRORS {% for error in errors | sort %} - {% if error[0] %} {{ error[0] }}: {{ error[1] }} {% else %} {{ error[1] }} {% endif %} {% endfor %}

{% endif %}

Currently active Envoy Routes {% for route in route_info %}

[ `{{ route.key }} {% if route['headers'] %} {% for hdr in route['headers'] %}

                {{ hdr['name'] }}: {{ hdr['value'] }}
              {% endfor %}
            {% endif %}
            ` ](/ambassador/v0/diag/grp-{{%20route['_group_id']%20}})  

sources: {% for ref in route._route._referenced_by | sort %} - {{ ref }} {% endfor %} {% if route._route.shadow %} shadow:

  • {{ route._route.shadow.name }}

{% endif %}

{% for ref in route._route._referenced_by | sort %} {% if ref in envoy_elements %} {% if 'route' in envoy_elements[ref] %} {% for route_element in envoy_elements[ref]['route'] %} {{ route_element | pretty_json }} {%- if not loop.last -%}


{%- endif -%} {% endfor %} {% endif %} {% endif %} {% endfor %}

{% endfor %}

Currently active Envoy Clusters {% for cluster in cluster_info.values() | sort(attribute = 'name') %} {% if cluster['name'] in cluster_stats %} {{ cluster['name'] }}

{% if cluster_stats[cluster.name].valid %} {{ cluster._health }} {% else %} Unknown health: {{ cluster_stats[cluster.name].reason }} {% endif %}

sources: {% for ref in cluster._referenced_by | sort %} - {{ ref }} {% endfor %}

{% for ref in cluster._referenced_by | sort %} {% if ref in envoy_elements %} {% if 'cluster' in envoy_elements[ref] %} {% for cluster_element in envoy_elements[ref]['cluster'] %} {{ cluster_element | pretty_json }} {%- if not loop.last -%}


{%- endif -%} {% endfor %} {% endif %} {% endif %} {% endfor %}

{% endif %} {% endfor %}

YAML input documents — these are what Emissary is currently reading for its configuration. {% for key in active_elements | sort %} {% if key in ambassador_elements %}

{{ key }} {% if ambassador_elements[key].parent %}
object in {{ ambassador_elements[key].parent }} {% endif %}
Ambassador {% if ambassador_elements[key].target %}{% endif %} {{ ambassador_elements[key].kind }} {% if ambassador_elements[key].target %}{% endif %} {% if ambassador_elements[key].errors %} {% for error in ambassador_elements[key].errors %} - ERROR: {{ error.text }} {% endfor %} {% endif %}

{% if not ambassador_elements[key].description %} {{ ambassador_elements[key].serialization }} {% else %} {{ ambassador_elements[key].description }} {% endif %}

{% endif %} {% endfor %}

{% endif %}