{% extends "base.html" %} {% import "macros/ui.html" as m %} {% block title %}{{ ws_name }} · {{ comp_name }}{% endblock %} {% block nav_workspaces %}btn-active{% endblock %} {% block content %} {{ m::ws_tabs(ws_name=ws_name, active=ws_active_tab, ws_envs=ws_envs, ws_has_clusters=ws_has_clusters, ws_has_workflows=ws_has_workflows, current_env=current_env) }} {% if component %}

{{ component.name }}

{% if component.mode == "taskserv" %} taskserv {% elif component.mode == "cluster" %} cluster {% endif %}
{% if component.ext_description %}

{{ component.ext_description }}

{% endif %} {# Definition #}

Definition

mode {% if component.mode %}{{ component.mode }}{% else %}—{% endif %}
target {% if component.target %}{{ component.target }}{% else %}—{% endif %}
namespace {% if component.namespace %}{{ component.namespace }}{% else %}—{% endif %}
version {% if component.version %}{{ component.version }}{% else %}—{% endif %}
{% if component.operations %}
operations
{% for op in component.operations %} {{ op }} {% endfor %}
{% endif %}
{# Extension capabilities #} {% if component.ext_provides or component.ext_requires or component.ext_conflicts %}

Extension Capabilities

{% if component.ext_provides %}

Provides

{% for cap in component.ext_provides %}{{ cap }}{% endfor %}
{% endif %} {% if component.ext_requires %}

Requires

{% for cap in component.ext_requires %}{{ cap }}{% endfor %}
{% endif %} {% if component.ext_conflicts %}

Conflicts With

{% for cap in component.ext_conflicts %}{{ cap }}{% endfor %}
{% endif %}
{% endif %} {# Live pod status — all modes that have pods (cluster namespace or name-based match) #}

Live Pods

Click ↺ live to fetch pod status.
{# Describe output panel — shown when a pod's describe is loaded #} {# DAG execution #} {% if dag_entries %}

DAG Execution — {{ dag_entries | length }} entries

{% for entry in dag_entries %}
formula {{ entry.formula }} {% if entry.server %} server {{ entry.server }} {% endif %}
state: {{ entry.state }} {% if entry.started %}started: {{ entry.started }}{% endif %} {% if entry.ended %}ended: {{ entry.ended }}{% endif %}
{% endfor %}
{% endif %}
{% else %}
Component {{ comp_name }} not found in {{ ws_name }}.
{% endif %}
← Back to Components
{% endblock %}