{% extends 'generic/_base.html' %} {% block title %}Operations Dashboard{% endblock %} {% block content %}
Read-only operational visibility for provider sync drift and upcoming certificate or ROA expiry. Thresholds follow the effective lifecycle policy for each organization or provider account.
| Name | Organization | Provider Type | Sync Health | Last Sync Status | Freshness | Family Coverage | Publication Health | Latest Snapshot | Latest Diff |
|---|---|---|---|---|---|---|---|---|---|
| {{ provider_account.name }} | {{ provider_account.organization }} | {{ provider_account.get_provider_type_display }} | {{ provider_account.sync_health_display }} | {{ provider_account.last_sync_status }} |
{{ provider_account.last_sync_rollup.freshness_text }}
{{ provider_account.last_sync_rollup.sync_threshold_text }}
|
{{ provider_account.last_sync_rollup.family_status_text }}
|
{{ provider_account.last_sync_rollup.publication_health_text }}
|
{% if provider_account.last_sync_rollup.latest_snapshot_url %}
{{ provider_account.last_sync_rollup.latest_snapshot_label }}
{{ provider_account.last_sync_rollup.latest_snapshot_completed_at|default:'Not completed yet' }}
{% else %}
No snapshot
{% endif %}
|
{% if provider_account.last_sync_rollup.latest_diff_url %} {{ provider_account.last_sync_rollup.latest_diff_label }} {% else %} No diff {% endif %} |
| Name | Organization | Template | Intent Profile | State | Reason |
|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.organization }} | {{ item.object.template }} | {{ item.object.intent_profile }} | {{ item.object.get_state_display }} | {{ item.reason_summary }} |
| Name | Organization | Scope | Owner | Review At | Ends At | Status |
|---|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.organization }} | {{ item.scope_text }} | {{ item.object.owner }} | {{ item.object.review_at|default:'-' }} | {{ item.object.ends_at|default:'-' }} | {{ item.status_text }} |
| Name | Organization | Sync Health | Freshness | Write Support | Latest Snapshot |
|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.sync_health_display }} | {{ item.freshness_text }} | {{ item.write_support_mode }} | {% if item.latest_snapshot %} {{ item.latest_snapshot.name }} {% else %} None {% endif %} |
| Name | Organization | Status | Target Mode | Started At | Completed At | Outcome |
|---|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.status_text }} | {{ item.object.get_target_mode_display }} | {{ item.object.started_at|default:'-' }} | {{ item.object.completed_at|default:'-' }} |
{{ item.summary_text }}
{{ item.failed_scope_count }} failed scope(s)
|
| Name | Organization | Intent Profile | Comparison Scope | Replacement Drift | Lint Warnings | Lint Errors |
|---|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.object.intent_profile }} | {{ item.object.comparison_scope }} | {{ item.replacement_count }} | {{ item.warning_count }} | {{ item.error_count }} |
| Name | Organization | Status | Replacement Actions | Blocking | Ack Required | Acknowledged | Suppressed | Simulation |
|---|---|---|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.object.status }} | {{ item.replacement_count }} | {{ item.blocking_count }} | {{ item.ack_required_count }} | {{ item.acknowledged_count }} | {{ item.suppressed_count }} |
{% if item.simulation_run %}
{{ item.simulation_run.predicted_valid_count }} valid / {{ item.simulation_run.predicted_invalid_count }} invalid / {{ item.simulation_run.predicted_not_found_count }} not-found
{{ item.simulation_blocking_count }} blocking / {{ item.simulation_ack_required_count }} ack-required
{% if not item.simulation_posture.is_current_for_plan %} / stale{% endif %}
{% else %}
No simulation
{% endif %}
|
| Name | Organization | Comparison Scope | Missing | Missing Provider | Extra Provider | Orphaned | Stale |
|---|---|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.object.comparison_scope }} | {{ item.missing_count }} | {{ item.missing_provider_count }} | {{ item.extra_provider_count }} | {{ item.orphaned_count }} | {{ item.stale_count }} |
| Name | Organization | Status | Replacement Actions | Provider Adds | Provider Removes |
|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.object.status }} | {{ item.replacement_count }} | {{ item.provider_add_count }} | {{ item.provider_remove_count }} |
| Name | Organization | Status | Cross-Source Conflicts | Stale Sources | Undraftable Sources | Draftable Sources |
|---|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.object.status }} | {{ item.cross_source_conflict_count }} | {{ item.stale_source_count }} | {{ item.non_draftable_source_count }} | {{ item.draftable_source_count }} |
| Name | Organization | Source | Status | Blocked Items | Capability Warnings | Latest Execution |
|---|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.object.source.name }} | {{ item.object.status }} | {{ item.noop_count }} | {% if item.capability_warnings %} {{ item.capability_warnings|join:', ' }} {% else %} None {% endif %} | {% if item.latest_execution.id %} {{ item.latest_execution.mode }} / {{ item.latest_execution.status }} {% else %} None {% endif %} |
| Name | Organization | Provider Account | Family | Change Plan | Status | Successful Items | Failed Items | Retry Guidance |
|---|---|---|---|---|---|---|---|---|
| {{ item.execution.name }} | {{ item.execution.organization }} | {{ item.execution.provider_account.name }} | {{ item.object_family_display }} | {% if item.target_change_plan %} {{ item.target_change_plan.name }} {% else %} None {% endif %} | {{ item.execution.status }} | {{ item.successful_item_count }} | {{ item.failed_item_count }} | {% if item.rerun_advice.can_retry_failed_items %} {{ item.rerun_advice.reason }} {% else %} {{ item.execution.error|default:'No retry guidance recorded.' }} {% endif %} |
| Name | Organization | Source | Change Plan | Mode | Status | Error |
|---|---|---|---|---|---|---|
| {{ execution.name }} | {{ execution.organization }} | {{ execution.source.name }} | {{ execution.change_plan.name }} | {{ execution.execution_mode }} | {{ execution.status }} | {{ execution.error|default:'-' }} |
Validator and telemetry freshness are shown separately from provider sync health so operators can tell whether publication drift or outside observation lag is driving the attention state.
| Name | Status | Freshness | Latest Run |
|---|---|---|---|
| {{ item.object.name }} | {{ item.status }} | {{ item.freshness_status }} | {% if item.latest_run %} {{ item.latest_run.name }} {% else %} None {% endif %} |
| Name | Validator | Status | Freshness |
|---|---|---|---|
| {{ item.object.name }} | {{ item.validator.name }} | {{ item.status }} | {{ item.freshness_status }} |
| Name | Organization | Sync Health | Latest Run |
|---|---|---|---|
| {{ item.object.name }} | {{ item.object.organization }} | {{ item.sync_health_display }} | {% if item.latest_run %} {{ item.latest_run.name }} {% else %} None {% endif %} |
| Name | Family | Validator State | Evidence Freshness | Mismatches |
|---|---|---|---|---|
| {{ item.object.name }} | {{ item.object_family }} | {{ item.validator_state|default:"unknown" }} | {{ item.evidence_freshness }} | {% if item.mismatch_categories %} {{ item.mismatch_categories|join:', ' }} {% else %} Validator-only concern {% endif %} |
| Name | Organization | Intent Profile | Template Binding | Effect | Lifecycle | Ends At | Status |
|---|---|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.organization }} | {% if item.object.intent_profile %} {{ item.object.intent_profile }} {% else %} None {% endif %} | {% if item.object.template_binding %} {{ item.object.template_binding }} {% else %} None {% endif %} | {{ item.object.get_effect_mode_display }} | {{ item.lifecycle_text }} | {{ item.object.ends_at }} | {{ item.expiry_text }} |
| Name | Organization | Origin AS | Signed By | Valid To | Status |
|---|---|---|---|---|---|
| {{ item.object.name }} | {{ item.organization }} | {{ item.object.origin_as|default:'-' }} | {{ item.related_object }} | {{ item.object.valid_to }} | {{ item.expiry_text }} |
| Name | Organization | Issuer | Valid To | Status |
|---|---|---|---|---|
| {{ item.object.name }} | {{ item.organization }} | {{ item.object.issuer|default:'-' }} | {{ item.object.valid_to }} | {{ item.expiry_text }} |