From ba0d12bfc15068277c24a803974cb03932d88930 Mon Sep 17 00:00:00 2001 From: Moshe Immerman Date: Fri, 1 May 2026 12:37:39 +0300 Subject: [PATCH 01/17] feat(ui): add swimlane view for config changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace scatter-plot timeline with a hand-rolled swimlane that scales to many configs and bursty change patterns: - Hierarchical grouping by config name prefix with collapse/expand - Sticky header row and resizable resource column (150-500px) - Bucket-based anti-overlap rendering using flex-wrap - Severity badges with multi-change counts and filtered tooltips - Pre-range indicator (gray dot in-range, ↩ badge for pre-range) - Infinite scroll via useGetAllConfigsChangesInfiniteQuery (200/page) - URL-param backed Table/Graph toggle (?view=) - Live tail remains, scoped to Table view Adds ConfigChangesSwimlane plus Legend, Tooltip, and Utils components with unit and integration test coverage backed by a real HAR fixture. --- src/api/query-hooks/useConfigChangesHooks.ts | 59 +- .../Configs/Changes/ConfigChangesSwimlane.tsx | 709 +++ .../Changes/ConfigChangesSwimlaneLegend.tsx | 35 + .../Changes/ConfigChangesSwimlaneTooltip.tsx | 149 + .../Changes/ConfigChangesSwimlaneUtils.ts | 402 ++ .../Changes/ConfigChangesViewToggle.tsx | 28 + ...ConfigChangesSwimlane.integration.test.tsx | 166 + .../ConfigChangesSwimlaneUtils.unit.test.ts | 249 + .../Configs/Changes/__tests__/changes.har | 5234 +++++++++++++++++ src/components/ui/hover-card.tsx | 22 +- src/pages/config/ConfigChangesPage.tsx | 193 +- src/ui/Icons/ChangeIcon.tsx | 23 +- src/ui/Icons/Icon.tsx | 4 +- 13 files changed, 7197 insertions(+), 76 deletions(-) create mode 100644 src/components/Configs/Changes/ConfigChangesSwimlane.tsx create mode 100644 src/components/Configs/Changes/ConfigChangesSwimlaneLegend.tsx create mode 100644 src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx create mode 100644 src/components/Configs/Changes/ConfigChangesSwimlaneUtils.ts create mode 100644 src/components/Configs/Changes/ConfigChangesViewToggle.tsx create mode 100644 src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx create mode 100644 src/components/Configs/Changes/__tests__/ConfigChangesSwimlaneUtils.unit.test.ts create mode 100644 src/components/Configs/Changes/__tests__/changes.har diff --git a/src/api/query-hooks/useConfigChangesHooks.ts b/src/api/query-hooks/useConfigChangesHooks.ts index c434775dab..dc4a14ef82 100644 --- a/src/api/query-hooks/useConfigChangesHooks.ts +++ b/src/api/query-hooks/useConfigChangesHooks.ts @@ -4,7 +4,11 @@ import { useConfigChangesArbitraryFilters } from "@flanksource-ui/hooks/useConfi import useReactTablePaginationState from "@flanksource-ui/ui/DataTable/Hooks/useReactTablePaginationState"; import useReactTableSortState from "@flanksource-ui/ui/DataTable/Hooks/useReactTableSortState"; import useTimeRangeParams from "@flanksource-ui/ui/Dates/TimeRangePicker/useTimeRangeParams"; -import { UseQueryOptions, useQuery } from "@tanstack/react-query"; +import { + UseQueryOptions, + useInfiniteQuery, + useQuery +} from "@tanstack/react-query"; import { useMemo } from "react"; import { useParams } from "react-router-dom"; import { usePrefixedSearchParams } from "@flanksource-ui/hooks/usePrefixedSearchParams"; @@ -167,3 +171,56 @@ export function useGetConfigChangesByIDQuery( ...queryOptions }); } + +export function useGetAllConfigsChangesInfiniteQuery({ + pageSize = 200, + paramPrefix +}: { + pageSize?: number; + paramPrefix?: string; +} = {}) { + const showChangesFromDeletedConfigs = useShowDeletedConfigs(); + const { timeRangeValue } = useTimeRangeParams( + configChangesDefaultDateFilter, + paramPrefix + ); + const [params] = usePrefixedSearchParams(paramPrefix, false, { + sortBy: "created_at", + sortDirection: "desc" + }); + const changeType = params.get("changeType") ?? undefined; + const severity = params.get("severity") ?? undefined; + const configType = params.get("configType") ?? undefined; + const from = timeRangeValue?.from ?? undefined; + const to = timeRangeValue?.to ?? undefined; + const [sortBy] = useReactTableSortState({ paramPrefix }); + const configTypes = params.get("configTypes") ?? "all"; + const tags = useConfigChangesTagsFilter(paramPrefix); + const arbitraryFilter = useConfigChangesArbitraryFilters(paramPrefix); + + const filterProps = { + include_deleted_configs: showChangesFromDeletedConfigs, + changeType, + severity, + from, + to, + configTypes, + configType, + sortBy: sortBy[0]?.id, + sortOrder: (sortBy[0]?.desc ? "desc" : "asc") as "asc" | "desc", + pageSize, + arbitraryFilter, + tags + }; + + return useInfiniteQuery({ + queryKey: ["configs", "changes", "infinite", filterProps], + queryFn: ({ pageParam = 0 }) => + getConfigsChanges({ ...filterProps, pageIndex: pageParam }), + getNextPageParam: (lastPage, allPages) => + lastPage.changes && lastPage.changes.length < pageSize + ? undefined + : allPages.length, + keepPreviousData: true + }); +} diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx new file mode 100644 index 0000000000..6c59a3a2ca --- /dev/null +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -0,0 +1,709 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { + HoverCard, + HoverCardContent, + HoverCardTrigger +} from "@flanksource-ui/components/ui/hover-card"; +import { Age } from "@flanksource-ui/ui/Age"; +import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; +import { relativeDateTime } from "@flanksource-ui/utils/date"; +import dayjs from "dayjs"; +import { + ChevronDown, + ChevronRight, + CircleAlert, + Info, + Maximize2, + OctagonAlert, + TriangleAlert +} from "lucide-react"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import ConfigsTypeIcon from "../ConfigsTypeIcon"; +import ConfigChangesSwimlaneLegend from "./ConfigChangesSwimlaneLegend"; +import { + GroupedSwimlaneTooltip, + SwimlaneTooltip +} from "./ConfigChangesSwimlaneTooltip"; +import { + BucketedRow, + BUCKET_MIN_PX, + LabelPlacement, + MAX_COLUMN_WIDTH, + MIN_COLUMN_WIDTH, + SeverityCounts, + SwimlaneGroup, + bucketChanges, + calcPercent, + computeLabelPlacements, + countSeverities, + filterBySeverity, + generateTimeTicks, + groupBucketByType, + groupRowsByPrefix, + mergeBuckets, + useContainerWidth, + useResizableColumn +} from "./ConfigChangesSwimlaneUtils"; + +const severityEntries: { key: keyof SeverityCounts; icon: React.ReactNode }[] = + [ + { + key: "critical", + icon: + }, + { key: "high", icon: }, + { + key: "medium", + icon: + }, + { key: "low", icon: }, + { key: "info", icon: } + ]; + +function SeverityBadges({ + severity, + changes, + onExpand +}: { + severity: SeverityCounts; + changes: ConfigChange[]; + onExpand: (change: ConfigChange) => void; +}) { + const visible = severityEntries.filter(({ key }) => severity[key] > 0); + if (visible.length === 0) return null; + return ( +
+ {visible.map(({ key, icon }) => { + const matched = filterBySeverity(changes, key); + return ( + + + + {icon} + {severity[key] > 1 && ( + + {severity[key]} + + )} + + + + + + + ); + })} +
+ ); +} + +function SeverityTooltip({ + changes, + severityKey, + onExpand +}: { + changes: ConfigChange[]; + severityKey: string; + onExpand: (change: ConfigChange) => void; +}) { + return ( +
+ + {severityKey} + +
+ {changes.slice(0, 5).map((change) => ( +
+ + + {change.change_type} + + + + + + {change.summary && ( + <> + + {change.summary} + + )} + + +
+ ))} +
+ {changes.length > 5 && ( + + +{changes.length - 5} more + + )} +
+ ); +} + +type ConfigChangesSwimlaneProps = { + changes: ConfigChange[]; + onItemClicked?: (change: ConfigChange) => void; + fetchNextPage?: () => void; + hasNextPage?: boolean; + isFetchingNextPage?: boolean; +}; + +function ExtraDot({ text }: { text: string }) { + return ( + + + {text} + + ); +} + +function ChangeIconWithBadge({ + group +}: { + group: ReturnType[number]; +}) { + const hasBadge = group.count > 1; + return ( + + + {hasBadge && ( + + {group.count} + + )} + + ); +} + +function FlexLabel({ text }: { text: string }) { + return ( + {text} + ); +} + +function IconWithLabel({ + group, + labelPlacement, + onItemClicked +}: { + group: ReturnType[number]; + labelPlacement: LabelPlacement; + onItemClicked: (change: ConfigChange) => void; +}) { + const tooltip = + group.count === 1 ? ( + onItemClicked(group.representative)} + /> + ) : ( + + ); + + if (labelPlacement === "extra") { + return ( + + + + + + {tooltip} + + + ); + } + + const type = group.representative.change_type; + + return ( + + + + + + {tooltip} + + + ); +} + +function BucketCells({ + buckets, + numBuckets, + onItemClicked, + min, + max +}: { + buckets: ConfigChange[][]; + numBuckets: number; + onItemClicked: (change: ConfigChange) => void; + min: number; + max: number; +}) { + const placements = useMemo( + () => computeLabelPlacements(buckets, numBuckets, min, max), + [buckets, numBuckets, min, max] + ); + + return ( + <> + {buckets.map((bucket, bIdx) => { + const grouped = groupBucketByType(bucket); + + const nextBucketEmpty = !buckets[bIdx + 1]?.length; + + return ( +
+ {grouped.map((group, gIdx) => { + const key = `${bIdx}-${gIdx}`; + const placed = placements.get(key); + const labelPlacement = placed?.label ?? "none"; + + return ( + + ); + })} +
+ ); + })} + + ); +} + +function SwimlaneRow({ + row, + columnWidth, + numBuckets, + onItemClicked, + onResizeMouseDown, + min, + max, + indent = false, + even = false +}: { + row: BucketedRow; + columnWidth: number; + numBuckets: number; + onItemClicked: (change: ConfigChange) => void; + onResizeMouseDown: (e: React.MouseEvent) => void; + min: number; + max: number; + indent?: boolean; + even?: boolean; +}) { + const bg = even ? "bg-gray-50/40" : "bg-white"; + const allChanges = useMemo(() => row.buckets.flat(), [row.buckets]); + return ( +
+
+
+ + {row.name} + +
+ + +
+
+
+ {row.preRangeBadge && ( + + {row.preRangeBadge} + + )} + +
+
+ ); +} + +function GroupParentRow({ + group, + collapsed, + onToggle, + columnWidth, + numBuckets, + onItemClicked, + onResizeMouseDown, + min, + max +}: { + group: SwimlaneGroup; + collapsed: boolean; + onToggle: () => void; + columnWidth: number; + numBuckets: number; + onItemClicked: (change: ConfigChange) => void; + onResizeMouseDown: (e: React.MouseEvent) => void; + min: number; + max: number; +}) { + const mergedBuckets = useMemo( + () => mergeBuckets(group.rows, numBuckets), + [group.rows, numBuckets] + ); + + const allGroupChanges = useMemo( + () => group.rows.flatMap((r) => r.buckets.flat()), + [group.rows] + ); + + const groupSeverity = useMemo(() => { + const totals: SeverityCounts = { + critical: 0, + high: 0, + medium: 0, + low: 0, + info: 0, + none: 0, + total: 0 + }; + for (const row of group.rows) { + for (const k of Object.keys(totals) as (keyof SeverityCounts)[]) { + totals[k] += row.severity[k]; + } + } + return totals; + }, [group.rows]); + + const Chevron = collapsed ? ChevronRight : ChevronDown; + + return ( +
+
+ + + +
+
+ {collapsed && ( +
+ +
+ )} +
+ ); +} + +export default function ConfigChangesSwimlane({ + changes, + onItemClicked = () => {}, + fetchNextPage, + hasNextPage, + isFetchingNextPage +}: ConfigChangesSwimlaneProps) { + const [collapsedGroups, setCollapsedGroups] = useState>( + new Set() + ); + const containerRef = useRef(null); + const markersRef = useRef(null); + const containerWidth = useContainerWidth(containerRef); + const initialColumnWidth = Math.min( + MAX_COLUMN_WIDTH, + Math.max(MIN_COLUMN_WIDTH, Math.round(containerWidth * 0.3)) + ); + const { width: columnWidth, onMouseDown: onResizeMouseDown } = + useResizableColumn(initialColumnWidth); + const markersWidth = useContainerWidth(markersRef); + const numBuckets = Math.max(1, Math.floor(markersWidth / BUCKET_MIN_PX)); + + const { groups, min, max, ticks } = useMemo(() => { + const grouped = new Map(); + for (const c of changes) { + const key = c.config?.name ?? c.config_id ?? "unknown"; + if (!grouped.has(key)) grouped.set(key, []); + grouped.get(key)!.push(c); + } + + let min = Infinity; + let max = -Infinity; + for (const c of changes) { + const t = dayjs(c.created_at).valueOf(); + if (t < min) min = t; + if (t > max) max = t; + } + + if (min === Infinity) { + min = max = Date.now(); + } + + const rows: BucketedRow[] = Array.from(grouped.entries()).map( + ([name, items]) => { + const { buckets, preRangeBadge } = bucketChanges( + items, + numBuckets, + min, + max + ); + const sorted = [...items].sort( + (a, b) => + dayjs(b.created_at).valueOf() - dayjs(a.created_at).valueOf() + ); + const totalCount = items.reduce((sum, c) => sum + (c.count || 1), 0); + return { + name, + config: items[0]!.config, + buckets, + preRangeBadge, + severity: countSeverities(items), + lastObserved: sorted[0]?.created_at, + totalCount + }; + } + ); + + return { + groups: groupRowsByPrefix(rows), + min, + max, + ticks: generateTimeTicks(min, max) + }; + }, [changes, numBuckets]); + + const sentinelRef = useRef(null); + + const toggleGroup = useCallback((prefix: string) => { + setCollapsedGroups((prev) => { + const next = new Set(prev); + if (next.has(prefix)) next.delete(prefix); + else next.add(prefix); + return next; + }); + }, []); + + useEffect(() => { + if ( + !sentinelRef.current || + !fetchNextPage || + !hasNextPage || + isFetchingNextPage + ) + return; + const observer = new IntersectionObserver( + ([entry]) => { + if (entry?.isIntersecting) fetchNextPage(); + }, + { threshold: 0 } + ); + observer.observe(sentinelRef.current); + return () => observer.disconnect(); + }, [fetchNextPage, hasNextPage, isFetchingNextPage]); + + if (changes.length === 0) { + return ( +
+ No changes to display +
+ ); + } + + return ( +
+ {/* Time axis header — sticky top */} +
+
+
+
+ {ticks.map((tick) => { + const pct = calcPercent(dayjs(tick).toISOString(), min, max); + return ( + + {relativeDateTime(dayjs(tick).toISOString())} + + ); + })} +
+
+
+ + {/* Legend */} + + + {/* Swimlane rows */} +
+ {(() => { + let rowIdx = 0; + return groups.map((group) => { + if (!group.isGroup) { + const even = rowIdx % 2 === 0; + rowIdx++; + return ( + + ); + } + + const collapsed = collapsedGroups.has(group.prefix); + rowIdx++; + return ( +
+ toggleGroup(group.prefix)} + columnWidth={columnWidth} + numBuckets={numBuckets} + onItemClicked={onItemClicked} + onResizeMouseDown={onResizeMouseDown} + min={min} + max={max} + /> + {!collapsed && + group.rows.map((row) => { + const even = rowIdx % 2 === 0; + rowIdx++; + return ( + + ); + })} +
+ ); + }); + })()} +
+ + {/* Sentinel for infinite scroll */} + {hasNextPage &&
} + + {/* Loading indicator for infinite scroll */} + {isFetchingNextPage && ( +
+ Loading more changes... +
+ )} +
+ ); +} diff --git a/src/components/Configs/Changes/ConfigChangesSwimlaneLegend.tsx b/src/components/Configs/Changes/ConfigChangesSwimlaneLegend.tsx new file mode 100644 index 0000000000..e1a69c24d1 --- /dev/null +++ b/src/components/Configs/Changes/ConfigChangesSwimlaneLegend.tsx @@ -0,0 +1,35 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; +import { useMemo } from "react"; + +type Props = { + changes: ConfigChange[]; +}; + +export default function ConfigChangesSwimlaneLegend({ changes }: Props) { + const changeTypes = useMemo(() => { + const seen = new Map(); + for (const c of changes) { + if (c.change_type && !seen.has(c.change_type)) { + seen.set(c.change_type, c); + } + } + return Array.from(seen.entries()).sort(([a], [b]) => a.localeCompare(b)); + }, [changes]); + + if (changeTypes.length === 0) return null; + + return ( +
+ {changeTypes.map(([type, sample]) => ( + + + {type} + + ))} +
+ ); +} diff --git a/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx b/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx new file mode 100644 index 0000000000..b065ea6af6 --- /dev/null +++ b/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx @@ -0,0 +1,149 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import FilterByCellValue from "@flanksource-ui/ui/DataTable/FilterByCellValue"; +import { Age } from "@flanksource-ui/ui/Age"; +import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; +import { Maximize2 } from "lucide-react"; +import { Link } from "react-router-dom"; +import ConfigsTypeIcon from "../ConfigsTypeIcon"; +import { paramsToReset } from "./ConfigChangeTable"; +import { GroupedChange } from "./ConfigChangesSwimlaneUtils"; + +function ChangeRow({ + change, + onExpand, + showType = true +}: { + change: ConfigChange; + onExpand?: () => void; + showType?: boolean; +}) { + return ( +
+
+ {showType && ( + + + + {change.change_type} + + + )} + {showType && } + + + {(change.count || 1) > 1 && ( + (x{change.count}) + )} + + {onExpand && ( + <> + + + + )} +
+ + {change.summary && ( +
+ Summary + + {change.summary} + +
+ )} + + {(change.created_by || change.external_created_by) && ( +
+ By + + + {change.created_by || change.external_created_by} + + +
+ )} +
+ ); +} + +export function SwimlaneTooltip({ + change, + onExpand +}: { + change: ConfigChange; + onExpand?: () => void; +}) { + return ( +
+ +
+ ); +} + +export function GroupedSwimlaneTooltip({ + group, + onExpand +}: { + group: GroupedChange; + onExpand?: (change: ConfigChange) => void; +}) { + const { count, changes } = group; + const allSameConfig = changes.every( + (c) => c.config_id === changes[0]?.config_id + ); + return ( +
+
+ {changes.slice(0, 5).map((change, i) => ( +
+ {!allSameConfig && ( + e.stopPropagation()} + > + + {change.config?.name} + + + )} + onExpand(change) : undefined} + showType={i === 0} + /> +
+ ))} +
+ {count > 5 && ( + + +{count - 5} more + + )} +
+ ); +} diff --git a/src/components/Configs/Changes/ConfigChangesSwimlaneUtils.ts b/src/components/Configs/Changes/ConfigChangesSwimlaneUtils.ts new file mode 100644 index 0000000000..3a6bcce339 --- /dev/null +++ b/src/components/Configs/Changes/ConfigChangesSwimlaneUtils.ts @@ -0,0 +1,402 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { DateType } from "@flanksource-ui/api/types/common"; +import { relativeDateTime } from "@flanksource-ui/utils/date"; +import dayjs from "dayjs"; +import { useCallback, useEffect, useRef, useState } from "react"; + +export const ICON_WIDTH = 20; +export const BUCKET_MIN_PX = ICON_WIDTH * 5; +export const MIN_COLUMN_WIDTH = 150; +export const MAX_COLUMN_WIDTH = 500; +export const DEFAULT_COLUMN_WIDTH = 360; + +export type SeverityCounts = { + critical: number; + high: number; + medium: number; + low: number; + info: number; + none: number; + total: number; +}; + +export function countSeverities(changes: ConfigChange[]): SeverityCounts { + const counts: SeverityCounts = { + critical: 0, + high: 0, + medium: 0, + low: 0, + info: 0, + none: 0, + total: changes.length + }; + for (const c of changes) { + const s = c.severity?.toLowerCase(); + if (s === "critical" || s === "blocker") counts.critical++; + else if (s === "high") counts.high++; + else if (s === "medium" || s === "warning") counts.medium++; + else if (s === "low") counts.low++; + else if (s === "info") counts.info++; + else counts.none++; + } + return counts; +} + +const SEVERITY_MATCHERS: Record boolean> = { + critical: (s) => s === "critical" || s === "blocker", + high: (s) => s === "high", + medium: (s) => s === "medium" || s === "warning", + low: (s) => s === "low", + info: (s) => s === "info" +}; + +export function filterBySeverity( + changes: ConfigChange[], + severityKey: string +): ConfigChange[] { + const matcher = SEVERITY_MATCHERS[severityKey]; + if (!matcher) return []; + return changes.filter((c) => matcher(c.severity?.toLowerCase())); +} + +export type BucketedRow = { + name: string; + config: ConfigChange["config"]; + buckets: ConfigChange[][]; + preRangeBadge?: string; + severity: SeverityCounts; + lastObserved?: DateType; + totalCount: number; +}; + +export type SwimlaneGroup = { + prefix: string; + rows: BucketedRow[]; + isGroup: boolean; +}; + +export function calcPercent( + time: string | Date | undefined, + min: number, + max: number +): number { + const t = dayjs(time).valueOf(); + return max === min ? 50 : ((t - min) / (max - min)) * 100; +} + +export function generateTimeTicks( + min: number, + max: number, + count = 6 +): number[] { + if (min === max) return [min]; + const step = (max - min) / (count - 1); + return Array.from({ length: count }, (_, i) => min + step * i); +} + +export function bucketChanges( + items: ConfigChange[], + numBuckets: number, + min: number, + max: number +): { buckets: ConfigChange[][]; preRangeBadge?: string } { + const buckets: ConfigChange[][] = Array.from( + { length: numBuckets }, + () => [] + ); + + let preRangeFirstObserved: string | undefined; + + for (const change of items) { + const pct = calcPercent(change.created_at, min, max); + const idx = Math.min( + numBuckets - 1, + Math.max(0, Math.floor((pct / 100) * numBuckets)) + ); + buckets[idx]!.push(change); + + const fo = dayjs(change.first_observed); + const ca = dayjs(change.created_at); + if (fo.isBefore(dayjs(min)) && ca.diff(fo, "minute") > 1) { + if (!preRangeFirstObserved || fo.isBefore(dayjs(preRangeFirstObserved))) { + preRangeFirstObserved = change.first_observed; + } + } + } + + for (const bucket of buckets) { + bucket.sort( + (a, b) => dayjs(a.created_at).valueOf() - dayjs(b.created_at).valueOf() + ); + } + + return { + buckets, + preRangeBadge: preRangeFirstObserved + ? `↩ ${relativeDateTime(preRangeFirstObserved, dayjs(min).toISOString())}` + : undefined + }; +} + +export type GroupedChange = { + representative: ConfigChange; + count: number; + changes: ConfigChange[]; +}; + +export function groupBucketByType(bucket: ConfigChange[]): GroupedChange[] { + const map = new Map(); + for (const change of bucket) { + const key = change.change_type; + const existing = map.get(key); + if (existing) { + existing.count++; + existing.changes.push(change); + } else { + map.set(key, { representative: change, count: 1, changes: [change] }); + } + } + return Array.from(map.values()); +} + +export function useResizableColumn(initial: number) { + const [width, setWidth] = useState(initial); + const dragging = useRef(false); + const userResized = useRef(false); + const startX = useRef(0); + const startWidth = useRef(0); + + useEffect(() => { + if (!userResized.current) setWidth(initial); + }, [initial]); + + const onMouseDown = useCallback( + (e: React.MouseEvent) => { + e.preventDefault(); + dragging.current = true; + startX.current = e.clientX; + startWidth.current = width; + + const onMouseMove = (ev: MouseEvent) => { + if (!dragging.current) return; + const delta = ev.clientX - startX.current; + setWidth( + Math.min( + MAX_COLUMN_WIDTH, + Math.max(MIN_COLUMN_WIDTH, startWidth.current + delta) + ) + ); + }; + + const onMouseUp = () => { + dragging.current = false; + userResized.current = true; + document.removeEventListener("mousemove", onMouseMove); + document.removeEventListener("mouseup", onMouseUp); + }; + + document.addEventListener("mousemove", onMouseMove); + document.addEventListener("mouseup", onMouseUp); + }, + [width] + ); + + return { width, onMouseDown }; +} + +export function useContainerWidth(ref: React.RefObject) { + const [containerWidth, setContainerWidth] = useState(800); + + useEffect(() => { + const el = ref.current; + if (!el) return; + + const ro = new ResizeObserver((entries) => { + for (const entry of entries) { + setContainerWidth(entry.contentRect.width); + } + }); + ro.observe(el); + return () => ro.disconnect(); + }, [ref]); + + return containerWidth; +} + +const DELIMITER_RE = /[-_/]|::/; + +function tokenize(name: string): string[] { + return name.split(DELIMITER_RE).filter(Boolean); +} + +function longestCommonPrefixTokens(a: string[], b: string[]): number { + let count = 0; + for (let i = 0; i < Math.min(a.length, b.length); i++) { + if (a[i] === b[i]) count++; + else break; + } + return count; +} + +export function groupRowsByPrefix(rows: BucketedRow[]): SwimlaneGroup[] { + if (rows.length === 0) return []; + + const sorted = [...rows].sort((a, b) => a.name.localeCompare(b.name)); + const groups: SwimlaneGroup[] = []; + let i = 0; + + while (i < sorted.length) { + const currentTokens = tokenize(sorted[i]!.name); + let groupEnd = i + 1; + let commonLen = 0; + + if (groupEnd < sorted.length) { + const nextTokens = tokenize(sorted[groupEnd]!.name); + commonLen = longestCommonPrefixTokens(currentTokens, nextTokens); + } + + if (commonLen < 1) { + groups.push({ + prefix: sorted[i]!.name, + rows: [sorted[i]!], + isGroup: false + }); + i++; + continue; + } + + const prefixTokens = currentTokens.slice(0, commonLen); + while (groupEnd < sorted.length) { + const nextTokens = tokenize(sorted[groupEnd]!.name); + if (longestCommonPrefixTokens(prefixTokens, nextTokens) >= commonLen) { + groupEnd++; + } else { + break; + } + } + + const groupRows = sorted.slice(i, groupEnd); + if (groupRows.length === 1) { + groups.push({ + prefix: groupRows[0]!.name, + rows: groupRows, + isGroup: false + }); + } else { + groups.push({ + prefix: prefixTokens.join("-"), + rows: groupRows, + isGroup: true + }); + } + i = groupEnd; + } + + return groups; +} + +export type LabelPlacement = "right" | "left" | "extra" | "none"; + +export type PlacedIcon = { + bucketIdx: number; + groupIdx: number; + xPct: number; + yRow: number; + label: LabelPlacement; + changeType: string; +}; + +const PLACEMENT_PATTERNS: LabelPlacement[][] = [ + ["right"], + ["left", "right"], + ["left", "right", "left"], + ["left", "right", "left", "right"] +]; + +export function computeLabelPlacements( + buckets: ConfigChange[][], + numBuckets: number, + min: number, + max: number +): Map { + const result = new Map(); + const range = max - min || 1; + const bucketSpan = range / numBuckets; + const bucketWidthPct = 100 / numBuckets; + + const seenTypes = new Set(); + const deferredTypes = new Set(); + + for (let bIdx = 0; bIdx < numBuckets; bIdx++) { + const bucket = buckets[bIdx]; + if (!bucket || bucket.length === 0) continue; + + const grouped = groupBucketByType(bucket); + const bStart = min + bIdx * bucketSpan; + + const iconPositions: { gIdx: number; localPct: number; type: string }[] = + []; + const labelCandidates: number[] = []; + + for (let gIdx = 0; gIdx < grouped.length; gIdx++) { + const group = grouped[gIdx]!; + const type = group.representative.change_type; + const t = dayjs(group.representative.created_at).valueOf(); + const localPct = Math.max( + 0, + Math.min(100, ((t - bStart) / bucketSpan) * 100) + ); + + iconPositions.push({ gIdx, localPct, type }); + + if (!seenTypes.has(type) || deferredTypes.has(type)) { + labelCandidates.push(iconPositions.length - 1); + } + } + + const labelCount = Math.min(labelCandidates.length, 4); + const pattern = labelCount > 0 ? PLACEMENT_PATTERNS[labelCount - 1]! : []; + + for (let i = 0; i < labelCandidates.length; i++) { + const pos = iconPositions[labelCandidates[i]!]!; + seenTypes.add(pos.type); + deferredTypes.delete(pos.type); + } + + for (const pos of iconPositions) { + const candidateIdx = labelCandidates.indexOf(iconPositions.indexOf(pos)); + let placement: LabelPlacement = "none"; + if (candidateIdx >= 0 && candidateIdx < pattern.length) { + placement = pattern[candidateIdx]!; + } else if (candidateIdx >= pattern.length) { + placement = "extra"; + } + + result.set(`${bIdx}-${pos.gIdx}`, { + bucketIdx: bIdx, + groupIdx: pos.gIdx, + xPct: pos.localPct, + yRow: 0, + label: placement, + changeType: pos.type + }); + } + } + + return result; +} + +export function mergeBuckets( + rows: BucketedRow[], + numBuckets: number +): ConfigChange[][] { + const merged: ConfigChange[][] = Array.from({ length: numBuckets }, () => []); + for (const row of rows) { + for (let b = 0; b < numBuckets; b++) { + if (row.buckets[b]) { + merged[b]!.push(...row.buckets[b]!); + } + } + } + return merged; +} diff --git a/src/components/Configs/Changes/ConfigChangesViewToggle.tsx b/src/components/Configs/Changes/ConfigChangesViewToggle.tsx new file mode 100644 index 0000000000..fbed86b2cb --- /dev/null +++ b/src/components/Configs/Changes/ConfigChangesViewToggle.tsx @@ -0,0 +1,28 @@ +import { Switch } from "@flanksource-ui/ui/FormControls/Switch"; +import { useSearchParams } from "react-router-dom"; + +export type ConfigChangesView = "Table" | "Graph"; + +export function useConfigChangesViewToggleState(): ConfigChangesView { + const [params] = useSearchParams(); + return (params.get("view") as ConfigChangesView) || "Table"; +} + +export default function ConfigChangesViewToggle() { + const [params, setParams] = useSearchParams(); + const value = (params.get("view") as ConfigChangesView) || "Table"; + + return ( +
+ { + const next = new URLSearchParams(params); + next.set("view", v); + setParams(next, { replace: true }); + }} + value={value} + /> +
+ ); +} diff --git a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx new file mode 100644 index 0000000000..af0d459ce6 --- /dev/null +++ b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx @@ -0,0 +1,166 @@ +/* eslint-disable testing-library/no-container, testing-library/no-node-access */ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { fireEvent, render, screen } from "@testing-library/react"; +import fs from "fs"; +import path from "path"; +import { MemoryRouter } from "react-router-dom"; +import ConfigChangesSwimlane from "../ConfigChangesSwimlane"; + +// ── Load real changes from HAR ── + +function loadChangesFromHar(): ConfigChange[] { + const harPath = path.join(__dirname, "changes.har"); + const har = JSON.parse(fs.readFileSync(harPath, "utf-8")); + return har.log.entries + .filter((e: any) => e.request.url.includes("catalog/changes")) + .flatMap((e: any) => JSON.parse(e.response.content.text).changes) + .map( + (c: any): ConfigChange => ({ + ...c, + config: { id: c.config_id, type: c.type, name: c.name } + }) + ); +} + +const allChanges = loadChangesFromHar(); + +// ── Render helper ── + +function renderSwimlane( + props: Partial[0]> = {} +) { + const queryClient = new QueryClient({ + defaultOptions: { queries: { retry: false } } + }); + return render( + + + + + + ); +} + +// ── Tests ── + +describe("ConfigChangesSwimlane integration", () => { + it("renders with real data without crashing", () => { + const { container } = renderSwimlane({ changes: allChanges }); + expect(screen.queryByText("No changes to display")).not.toBeInTheDocument(); + expect(container.querySelector(".flex.h-full.w-full")).toBeInTheDocument(); + }); + + it("legend shows all unique change types", () => { + renderSwimlane({ changes: allChanges }); + + const expectedTypes = new Set(allChanges.map((c) => c.change_type)); + expect(expectedTypes.size).toBe(34); + + for (const type of ["diff", "Pulling", "OOMKilled", "Healthy", "Sync"]) { + expect(screen.getAllByText(type).length).toBeGreaterThan(0); + } + }); + + it("hierarchical grouping creates group rows", () => { + renderSwimlane({ changes: allChanges }); + + const buttons = screen.getAllByRole("button"); + const groupButtons = buttons.filter((btn) => { + const countBadge = btn.querySelector("span.text-xs.text-gray-400"); + return countBadge?.textContent?.match(/^\(\d+\)$/); + }); + + expect(groupButtons.length).toBeGreaterThan(0); + + const groupTexts = groupButtons.map((btn) => btn.textContent ?? ""); + const hasCanaryGroup = groupTexts.some((t) => t.includes("canary")); + const hasMissionGroup = groupTexts.some((t) => t.includes("mission")); + expect(hasCanaryGroup || hasMissionGroup).toBe(true); + }); + + it("collapse/expand toggles child visibility", () => { + renderSwimlane({ changes: allChanges }); + + const buttons = screen.getAllByRole("button"); + const groupButton = buttons.find((btn) => { + const countBadge = btn.querySelector("span.text-xs.text-gray-400"); + return countBadge?.textContent?.match(/^\(\d+\)$/); + }); + expect(groupButton).toBeDefined(); + + const groupName = groupButton!.querySelector( + "span.truncate.font-medium" + )?.textContent; + expect(groupName).toBeTruthy(); + + const parentRow = groupButton!.closest( + ".flex.flex-row.border-b" + ) as HTMLElement; + const groupContainer = parentRow?.parentElement as HTMLElement; + + const countChildRows = () => + groupContainer.querySelectorAll(":scope > .flex.flex-row.border-b") + .length - 1; + + const childCountBefore = countChildRows(); + expect(childCountBefore).toBeGreaterThan(0); + + fireEvent.click(groupButton!); + expect(countChildRows()).toBe(0); + + fireEvent.click(groupButton!); + expect(countChildRows()).toBe(childCountBefore); + }); + + it("shows loading indicator when isFetchingNextPage is true", () => { + renderSwimlane({ + changes: allChanges, + isFetchingNextPage: true + }); + expect(screen.getByText("Loading more changes...")).toBeInTheDocument(); + }); + + it("calls fetchNextPage when sentinel becomes visible", () => { + let observerCallback: IntersectionObserverCallback; + const observeMock = jest.fn(); + const disconnectMock = jest.fn(); + + const MockIntersectionObserver = jest.fn( + (cb: IntersectionObserverCallback) => { + observerCallback = cb; + return { + observe: observeMock, + disconnect: disconnectMock, + unobserve: jest.fn() + }; + } + ); + Object.defineProperty(window, "IntersectionObserver", { + writable: true, + value: MockIntersectionObserver + }); + + const fetchNextPage = jest.fn(); + renderSwimlane({ + changes: allChanges, + fetchNextPage, + hasNextPage: true, + isFetchingNextPage: false + }); + + expect(observeMock).toHaveBeenCalled(); + + observerCallback!( + [{ isIntersecting: true } as IntersectionObserverEntry], + {} as IntersectionObserver + ); + + expect(fetchNextPage).toHaveBeenCalled(); + }); + + it("renders empty state for empty changes array", () => { + renderSwimlane({ changes: [] }); + expect(screen.getByText("No changes to display")).toBeInTheDocument(); + }); +}); diff --git a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlaneUtils.unit.test.ts b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlaneUtils.unit.test.ts new file mode 100644 index 0000000000..801c79a00b --- /dev/null +++ b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlaneUtils.unit.test.ts @@ -0,0 +1,249 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import dayjs from "dayjs"; +import { + BucketedRow, + bucketChanges, + calcPercent, + generateTimeTicks, + groupRowsByPrefix, + mergeBuckets +} from "../ConfigChangesSwimlaneUtils"; + +function makeChange(overrides: Partial = {}): ConfigChange { + return { + id: "c1", + config_id: "cfg1", + change_type: "diff", + created_at: "2024-01-15T12:00:00Z", + first_observed: "2024-01-15T12:00:00Z", + ...overrides + } as ConfigChange; +} + +const ZERO_SEVERITY = { + critical: 0, + high: 0, + medium: 0, + low: 0, + info: 0, + none: 0, + total: 0 +}; + +function makeRow(name: string, numBuckets: number): BucketedRow { + return { + name, + config: { id: "cfg1", type: "Kubernetes::Pod", name }, + buckets: Array.from({ length: numBuckets }, () => []), + severity: ZERO_SEVERITY, + totalCount: 0 + }; +} + +// ── calcPercent ── + +describe("calcPercent", () => { + const min = dayjs("2024-01-01T00:00:00Z").valueOf(); + const max = dayjs("2024-01-02T00:00:00Z").valueOf(); + + test("returns 0 at the min boundary", () => { + expect(calcPercent("2024-01-01T00:00:00Z", min, max)).toBe(0); + }); + + test("returns 100 at the max boundary", () => { + expect(calcPercent("2024-01-02T00:00:00Z", min, max)).toBe(100); + }); + + test("returns 50 at the midpoint", () => { + expect(calcPercent("2024-01-01T12:00:00Z", min, max)).toBe(50); + }); + + test("returns 50 when min equals max", () => { + expect(calcPercent("2024-01-01T00:00:00Z", min, min)).toBe(50); + }); +}); + +// ── generateTimeTicks ── + +describe("generateTimeTicks", () => { + test("returns single tick when min equals max", () => { + expect(generateTimeTicks(100, 100)).toEqual([100]); + }); + + test("returns correct number of evenly spaced ticks", () => { + const ticks = generateTimeTicks(0, 100, 3); + expect(ticks).toEqual([0, 50, 100]); + }); + + test("defaults to 6 ticks", () => { + const ticks = generateTimeTicks(0, 500); + expect(ticks).toHaveLength(6); + expect(ticks[0]).toBe(0); + expect(ticks[5]).toBe(500); + }); +}); + +// ── bucketChanges ── + +describe("bucketChanges", () => { + const min = dayjs("2024-01-01T00:00:00Z").valueOf(); + const max = dayjs("2024-01-03T00:00:00Z").valueOf(); + + test("distributes changes into correct buckets", () => { + const changes = [ + makeChange({ id: "early", created_at: "2024-01-01T06:00:00Z" }), + makeChange({ id: "late", created_at: "2024-01-02T18:00:00Z" }) + ]; + + const result = bucketChanges(changes, 2, min, max); + expect(result.buckets).toHaveLength(2); + expect(result.buckets[0]!.map((c) => c.id)).toContain("early"); + expect(result.buckets[1]!.map((c) => c.id)).toContain("late"); + }); + + test("places all changes in single bucket when numBuckets is 1", () => { + const changes = [ + makeChange({ id: "a", created_at: "2024-01-01T00:00:00Z" }), + makeChange({ id: "b", created_at: "2024-01-02T00:00:00Z" }), + makeChange({ id: "c", created_at: "2024-01-03T00:00:00Z" }) + ]; + + const result = bucketChanges(changes, 1, min, max); + expect(result.buckets).toHaveLength(1); + expect(result.buckets[0]).toHaveLength(3); + }); + + test("returns no preRangeBadge when all first_observed are in range", () => { + const changes = [ + makeChange({ + created_at: "2024-01-02T00:00:00Z", + first_observed: "2024-01-01T12:00:00Z" + }) + ]; + const result = bucketChanges(changes, 3, min, max); + expect(result.preRangeBadge).toBeUndefined(); + }); + + test("returns preRangeBadge when first_observed is before min", () => { + const changes = [ + makeChange({ + created_at: "2024-01-02T00:00:00Z", + first_observed: "2023-12-01T00:00:00Z" + }) + ]; + const result = bucketChanges(changes, 3, min, max); + expect(result.preRangeBadge).toMatch(/↩/); + }); + + test("handles empty items array", () => { + const result = bucketChanges([], 4, min, max); + expect(result.buckets).toHaveLength(4); + expect(result.buckets.every((b) => b.length === 0)).toBe(true); + expect(result.preRangeBadge).toBeUndefined(); + }); +}); + +// ── groupRowsByPrefix ── + +describe("groupRowsByPrefix", () => { + test("returns empty array for empty input", () => { + expect(groupRowsByPrefix([])).toEqual([]); + }); + + test("standalone rows when no common prefix", () => { + const rows = [makeRow("alpha", 2), makeRow("beta", 2)]; + const groups = groupRowsByPrefix(rows); + expect(groups).toHaveLength(2); + expect(groups.every((g) => !g.isGroup)).toBe(true); + }); + + test("groups rows sharing a hyphen-delimited prefix", () => { + const rows = [ + makeRow("web-server-1", 2), + makeRow("web-server-2", 2), + makeRow("db-primary", 2) + ]; + const groups = groupRowsByPrefix(rows); + + const webGroup = groups.find((g) => g.isGroup); + expect(webGroup).toBeDefined(); + expect(webGroup!.prefix).toBe("web-server"); + expect(webGroup!.rows).toHaveLength(2); + + const dbRow = groups.find((g) => g.prefix === "db-primary"); + expect(dbRow).toBeDefined(); + expect(dbRow!.isGroup).toBe(false); + }); + + test("groups rows sharing an underscore-delimited prefix", () => { + const rows = [makeRow("app_backend_v1", 2), makeRow("app_backend_v2", 2)]; + const groups = groupRowsByPrefix(rows); + expect(groups).toHaveLength(1); + expect(groups[0]!.isGroup).toBe(true); + expect(groups[0]!.rows).toHaveLength(2); + }); + + test("single-member group becomes standalone", () => { + const rows = [makeRow("api-gateway", 2), makeRow("web-server-1", 2)]; + const groups = groupRowsByPrefix(rows); + expect(groups.every((g) => !g.isGroup)).toBe(true); + }); + + test("handles mixed delimiters across rows", () => { + const rows = [ + makeRow("svc-auth-login", 2), + makeRow("svc-auth-signup", 2), + makeRow("cache_redis_primary", 2), + makeRow("cache_redis_replica", 2) + ]; + const groups = groupRowsByPrefix(rows); + const groupNames = groups.filter((g) => g.isGroup).map((g) => g.prefix); + expect(groupNames).toContain("cache-redis"); + expect(groupNames).toContain("svc-auth"); + }); +}); + +// ── mergeBuckets ── + +describe("mergeBuckets", () => { + test("merges changes from multiple rows into one set of buckets", () => { + const c1 = makeChange({ id: "r1b0" }); + const c2 = makeChange({ id: "r2b0" }); + const c3 = makeChange({ id: "r2b1" }); + + const rows: BucketedRow[] = [ + { + name: "a", + config: undefined, + buckets: [[c1], []], + severity: ZERO_SEVERITY, + totalCount: 1 + }, + { + name: "b", + config: undefined, + buckets: [[c2], [c3]], + severity: ZERO_SEVERITY, + totalCount: 2 + } + ]; + + const merged = mergeBuckets(rows, 2); + expect(merged[0]!.map((c) => c.id)).toEqual(["r1b0", "r2b0"]); + expect(merged[1]!.map((c) => c.id)).toEqual(["r2b1"]); + }); + + test("returns empty buckets when rows have no changes", () => { + const rows: BucketedRow[] = [ + { + name: "a", + config: undefined, + buckets: [[], [], []], + severity: ZERO_SEVERITY, + totalCount: 0 + } + ]; + const merged = mergeBuckets(rows, 3); + expect(merged.every((b) => b.length === 0)).toBe(true); + }); +}); diff --git a/src/components/Configs/Changes/__tests__/changes.har b/src/components/Configs/Changes/__tests__/changes.har new file mode 100644 index 0000000000..114213c8c5 --- /dev/null +++ b/src/components/Configs/Changes/__tests__/changes.har @@ -0,0 +1,5234 @@ +{ + "log": { + "version": "1.2", + "creator": { + "name": "WebInspector", + "version": "537.36" + }, + "pages": [ + { + "startedDateTime": "2026-03-10T08:20:39.368Z", + "id": "page_1", + "title": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200", + "pageTimings": { + "onContentLoad": 436.993999988772, + "onLoad": 615.6489999848418 + } + } + ], + "entries": [ + { + "_connectionId": "1846499", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "s", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 28053 + }, + { + "functionName": "", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 28668 + } + ], + "parent": { + "description": "Promise.then", + "callFrames": [ + { + "functionName": "", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 28568 + }, + { + "functionName": "i", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 26538 + }, + { + "functionName": "loadRoute", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 28535 + }, + { + "functionName": "loadPage", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 19866 + }, + { + "functionName": "fetchComponent", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 78611 + }, + { + "functionName": "getRouteInfo", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 74609 + }, + { + "functionName": "change", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 68902 + } + ], + "parent": { + "description": "await", + "callFrames": [ + { + "functionName": "replace", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 64755 + }, + { + "functionName": "componentDidMount", + "scriptId": "387", + "url": "http://localhost:3000/_next/static/chunks/main-a1e44956e7397bf2.js", + "lineNumber": 0, + "columnNumber": 9161 + }, + { + "functionName": "uX", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 90559 + }, + { + "functionName": "e", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111082 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111093 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "ox", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 94975 + }, + { + "functionName": "x", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1363 + }, + { + "functionName": "T", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1893 + } + ], + "parentId": { + "id": "53", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + } + } + }, + "_priority": "High", + "_resourceType": "fetch", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/_next/static/css/8a30eab176ae8b8e.css", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4339, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept-Ranges", + "value": "bytes" + }, + { + "name": "Cache-Control", + "value": "public, max-age=31536000, immutable" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Content-Length", + "value": "671" + }, + { + "name": "Content-Type", + "value": "text/css; charset=UTF-8" + }, + { + "name": "Date", + "value": "Tue, 10 Mar 2026 08:20:39 GMT" + }, + { + "name": "ETag", + "value": "W/\"29f-19cd4242a3e\"" + }, + { + "name": "Keep-Alive", + "value": "timeout=5" + }, + { + "name": "Last-Modified", + "value": "Mon, 09 Mar 2026 19:47:45 GMT" + }, + { + "name": "Vary", + "value": "Accept-Encoding" + } + ], + "cookies": [], + "content": { + "size": 671, + "mimeType": "text/css", + "compression": 0, + "text": ".mixins_appleScrollbar__qa_D7::-webkit-scrollbar{-webkit-appearance:none;width:12px}.mixins_appleScrollbar__qa_D7::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0}.mixins_appleScrollbar__qa_D7::-webkit-scrollbar-thumb{border-radius:20px;border:2px solid #f1f1f1;background:hsla(0,0%,63%,.7);box-shadow:0 0 1px hsla(0,0%,100%,.5)}.mixins_appleScrollbar__qa_D7::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4)}.Canary_checkTitleRow__f1yoT:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;background:linear-gradient(90deg,transparent calc(100% - 26px),#fff);pointer-events:none}\n/*# sourceMappingURL=8a30eab176ae8b8e.css.map*/" + }, + "redirectURL": "", + "headersSize": 333, + "bodySize": 671, + "_transferSize": 1004, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:39.813Z", + "time": 39.25799997523427, + "timings": { + "blocked": 34.28799996603653, + "dns": -1, + "ssl": -1, + "connect": -1, + "send": 0.1339999999999968, + "wait": 3.6350000027939693, + "receive": 1.201000006403774, + "_blocked_queueing": 13.181999966036528, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1846606", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 4541 + }, + { + "functionName": "e.exports", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 2254 + }, + { + "functionName": "e.exports", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 10106 + }, + { + "functionName": "l.request", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 7410 + }, + { + "functionName": "", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 14003 + }, + { + "functionName": "", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 1522 + }, + { + "functionName": "", + "scriptId": "384", + "url": "http://localhost:3000/_next/static/chunks/1b8f9dc1-c411c11f42ff986b.js", + "lineNumber": 0, + "columnNumber": 22879 + }, + { + "functionName": "", + "scriptId": "384", + "url": "http://localhost:3000/_next/static/chunks/1b8f9dc1-c411c11f42ff986b.js", + "lineNumber": 0, + "columnNumber": 28406 + } + ], + "parent": { + "description": "Promise.then", + "callFrames": [ + { + "functionName": "toSession", + "scriptId": "384", + "url": "http://localhost:3000/_next/static/chunks/1b8f9dc1-c411c11f42ff986b.js", + "lineNumber": 0, + "columnNumber": 28398 + }, + { + "functionName": "", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 106321 + }, + { + "functionName": "", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 106591 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "o", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 107706 + }, + { + "functionName": "x", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1363 + }, + { + "functionName": "T", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1893 + } + ], + "parentId": { + "id": "55", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/api/.ory/sessions/whoami", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4356, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Origin, Cookie, Accept-Encoding" + }, + { + "name": "cache-control", + "value": "private, no-cache, no-store, must-revalidate" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:40 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "x-kratos-authenticated-identity-id", + "value": "e61f1760-1c98-418b-9489-655b0971b704" + } + ], + "cookies": [], + "content": { + "size": 1378, + "mimeType": "application/json", + "compression": 663, + "text": "{\"id\":\"6729c08a-31e4-4cef-9f27-e51fc896daea\",\"active\":true,\"expires_at\":\"2026-03-24T07:42:32.743346Z\",\"authenticated_at\":\"2026-03-10T07:42:32.743346Z\",\"authenticator_assurance_level\":\"aal1\",\"authentication_methods\":[{\"method\":\"password\",\"aal\":\"aal1\",\"completed_at\":\"2026-03-10T07:42:32.743339267Z\"}],\"issued_at\":\"2026-03-10T07:42:32.743346Z\",\"identity\":{\"id\":\"e61f1760-1c98-418b-9489-655b0971b704\",\"schema_id\":\"default\",\"schema_url\":\"https://beta.flanksource.com/api/.ory/schemas/ZGVmYXVsdA\",\"state\":\"active\",\"state_changed_at\":\"2025-10-23T04:54:49.390446Z\",\"traits\":{\"name\":{\"first\":\"Admin\"},\"email\":\"admin@local\"},\"verifiable_addresses\":[{\"id\":\"71bf0a70-6a0e-433a-be13-2f42dd1b3dc8\",\"value\":\"admin@local\",\"verified\":false,\"via\":\"email\",\"status\":\"pending\",\"created_at\":\"2025-10-23T04:54:49.399329Z\",\"updated_at\":\"2025-10-23T04:54:49.399329Z\"}],\"recovery_addresses\":[{\"id\":\"ff045c94-0d4c-4f12-825d-a63d71b3b251\",\"value\":\"admin@local\",\"via\":\"email\",\"created_at\":\"2025-10-23T04:54:49.403339Z\",\"updated_at\":\"2025-10-23T04:54:49.403339Z\"}],\"metadata_public\":null,\"created_at\":\"2025-10-23T04:54:49.392203Z\",\"updated_at\":\"2025-10-23T04:54:49.392203Z\"},\"devices\":[{\"id\":\"a63bf328-b155-4caa-995e-8a5d5852de55\",\"ip_address\":\"10.244.0.1\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36\",\"location\":\"\"}]}\n" + }, + "redirectURL": "", + "headersSize": 420, + "bodySize": 715, + "_transferSize": 1135, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:39.817Z", + "time": 345.22700001252815, + "timings": { + "blocked": 31.5839999589175, + "dns": -1, + "ssl": -1, + "connect": -1, + "send": 0.13899999999999935, + "wait": 313.24800002515315, + "receive": 0.2560000284574926, + "_blocked_queueing": 10.237999958917499, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1846499", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 4541 + }, + { + "functionName": "e.exports", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 2254 + }, + { + "functionName": "e.exports", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 10106 + }, + { + "functionName": "l.request", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 7410 + }, + { + "functionName": "", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 14003 + }, + { + "functionName": "", + "scriptId": "409", + "url": "http://localhost:3000/_next/static/chunks/11377-d633b790a2b3932f.js", + "lineNumber": 0, + "columnNumber": 1522 + }, + { + "functionName": "", + "scriptId": "384", + "url": "http://localhost:3000/_next/static/chunks/1b8f9dc1-c411c11f42ff986b.js", + "lineNumber": 0, + "columnNumber": 22879 + }, + { + "functionName": "", + "scriptId": "384", + "url": "http://localhost:3000/_next/static/chunks/1b8f9dc1-c411c11f42ff986b.js", + "lineNumber": 0, + "columnNumber": 28406 + } + ], + "parent": { + "description": "Promise.then", + "callFrames": [ + { + "functionName": "toSession", + "scriptId": "384", + "url": "http://localhost:3000/_next/static/chunks/1b8f9dc1-c411c11f42ff986b.js", + "lineNumber": 0, + "columnNumber": 28398 + }, + { + "functionName": "", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 106321 + }, + { + "functionName": "", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 106591 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "o", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 107706 + }, + { + "functionName": "x", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1363 + }, + { + "functionName": "T", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1893 + } + ], + "parentId": { + "id": "60", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/api/.ory/sessions/whoami", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json, text/plain, */*" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4356, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Origin, Cookie, Accept-Encoding" + }, + { + "name": "cache-control", + "value": "private, no-cache, no-store, must-revalidate" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:40 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "x-kratos-authenticated-identity-id", + "value": "e61f1760-1c98-418b-9489-655b0971b704" + } + ], + "cookies": [], + "content": { + "size": 1378, + "mimeType": "application/json", + "compression": 668, + "text": "{\"id\":\"6729c08a-31e4-4cef-9f27-e51fc896daea\",\"active\":true,\"expires_at\":\"2026-03-24T07:42:32.743346Z\",\"authenticated_at\":\"2026-03-10T07:42:32.743346Z\",\"authenticator_assurance_level\":\"aal1\",\"authentication_methods\":[{\"method\":\"password\",\"aal\":\"aal1\",\"completed_at\":\"2026-03-10T07:42:32.743339267Z\"}],\"issued_at\":\"2026-03-10T07:42:32.743346Z\",\"identity\":{\"id\":\"e61f1760-1c98-418b-9489-655b0971b704\",\"schema_id\":\"default\",\"schema_url\":\"https://beta.flanksource.com/api/.ory/schemas/ZGVmYXVsdA\",\"state\":\"active\",\"state_changed_at\":\"2025-10-23T04:54:49.390446Z\",\"traits\":{\"name\":{\"first\":\"Admin\"},\"email\":\"admin@local\"},\"verifiable_addresses\":[{\"id\":\"71bf0a70-6a0e-433a-be13-2f42dd1b3dc8\",\"value\":\"admin@local\",\"verified\":false,\"via\":\"email\",\"status\":\"pending\",\"created_at\":\"2025-10-23T04:54:49.399329Z\",\"updated_at\":\"2025-10-23T04:54:49.399329Z\"}],\"recovery_addresses\":[{\"id\":\"ff045c94-0d4c-4f12-825d-a63d71b3b251\",\"value\":\"admin@local\",\"via\":\"email\",\"created_at\":\"2025-10-23T04:54:49.403339Z\",\"updated_at\":\"2025-10-23T04:54:49.403339Z\"}],\"metadata_public\":null,\"created_at\":\"2025-10-23T04:54:49.392203Z\",\"updated_at\":\"2025-10-23T04:54:49.392203Z\"},\"devices\":[{\"id\":\"a63bf328-b155-4caa-995e-8a5d5852de55\",\"ip_address\":\"10.244.0.1\",\"user_agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36\",\"location\":\"\"}]}\n" + }, + "redirectURL": "", + "headersSize": 420, + "bodySize": 710, + "_transferSize": 1130, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:39.868Z", + "time": 372.58999998448417, + "timings": { + "blocked": 2.473000033214688, + "dns": -1, + "ssl": -1, + "connect": -1, + "send": 0.21899999999999997, + "wait": 369.62899999844655, + "receive": 0.26899995282292366, + "_blocked_queueing": 1.8390000332146883, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1846601", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "tj.", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81999 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "g", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 99817 + }, + { + "functionName": "L.refetchOnWindowFocus", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 20828 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "onSubscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 39616 + }, + { + "functionName": "subscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49498 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55391 + }, + { + "functionName": "aL", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 63587 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "o", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 107706 + }, + { + "functionName": "x", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1363 + }, + { + "functionName": "T", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1893 + } + ], + "parentId": { + "id": "62", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/api/auth/whoami", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4361, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-length", + "value": "571" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:40 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookies": [], + "content": { + "size": 571, + "mimeType": "application/json", + "compression": 0, + "text": "{\"message\":\"success\",\"payload\":{\"hostname\":\"mission-control-685b79d776-qwr55\",\"permissions\":[{\"id\":\"na\",\"subject\":\"everyone\",\"object\":\"database.kratos\",\"action\":\"*\",\"deny\":true,\"condition\":\"true\"},{\"id\":\"na\",\"subject\":\"admin\",\"object\":\"*\",\"action\":\"*\",\"condition\":\"true\"},{\"id\":\"na\",\"subject\":\"everyone\",\"object\":\"database.kratos\",\"action\":\"*\",\"deny\":true},{\"id\":\"na\",\"subject\":\"admin\",\"object\":\"*\",\"action\":\"*\"}],\"roles\":[\"admin\",\"everyone\",\"admin\",\"everyone\"],\"user\":{\"id\":\"e61f1760-1c98-418b-9489-655b0971b704\",\"name\":\"Admin \",\"email\":\"admin@local\",\"properties\":{}}}}\n" + }, + "redirectURL": "", + "headersSize": 223, + "bodySize": 571, + "_transferSize": 794, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:40.167Z", + "time": 372.8899999987334, + "timings": { + "blocked": 8.385000002961606, + "dns": -1, + "ssl": -1, + "connect": -1, + "send": 0.20899999999999963, + "wait": 363.93499998269976, + "receive": 0.36100001307204366, + "_blocked_queueing": 3.555000002961606, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1846497", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "tj.", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81999 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "i", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 93048 + }, + { + "functionName": "loadProperties", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 459401 + }, + { + "functionName": "", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 459859 + }, + { + "functionName": "", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 459966 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "o", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 107706 + }, + { + "functionName": "x", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1363 + }, + { + "functionName": "T", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1893 + } + ], + "parentId": { + "id": "62", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/api/properties", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4360, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-length", + "value": "445" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:40 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + } + ], + "cookies": [], + "content": { + "size": 445, + "mimeType": "application/json", + "compression": 0, + "text": "[{\"description\":\"\",\"name\":\"log.kubeproxy\",\"source\":\"local\",\"type\":\"\",\"value\":\"true\"},{\"description\":\"\",\"name\":\"logs.disable\",\"source\":\"local\",\"type\":\"\",\"value\":\"true\"},{\"description\":\"\",\"name\":\"settings.logging_backends.disable\",\"source\":\"local\",\"type\":\"\",\"value\":\"true\"},{\"description\":\"\",\"name\":\"incidents.disable\",\"source\":\"local\",\"type\":\"\",\"value\":\"true\"},{\"description\":\"\",\"name\":\"topology.disable\",\"source\":\"db\",\"type\":\"\",\"value\":\"true\"}]\n" + }, + "redirectURL": "", + "headersSize": 223, + "bodySize": 445, + "_transferSize": 668, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:40.168Z", + "time": 359.26100000506267, + "timings": { + "blocked": 8.335000037074089, + "dns": -1, + "ssl": -1, + "connect": -1, + "send": 0.1080000000000001, + "wait": 350.47400002615524, + "receive": 0.3439999418333173, + "_blocked_queueing": 4.408000037074089, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1846596", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "tj.", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81999 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "g", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 102683 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "onSubscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 39616 + }, + { + "functionName": "subscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49498 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55391 + }, + { + "functionName": "aL", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 63587 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 95972 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ], + "parent": { + "description": "setTimeout", + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 52241 + }, + { + "functionName": "w", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 52225 + }, + { + "functionName": "x", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 52273 + }, + { + "functionName": "o", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 37987 + }, + { + "functionName": "batch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 38076 + }, + { + "functionName": "dispatch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 284434 + }, + { + "functionName": "setData", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 279608 + }, + { + "functionName": "onSuccess", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282792 + }, + { + "functionName": "g", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48424 + } + ], + "parent": { + "description": "Promise.then", + "callFrames": [ + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48753 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "onSubscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 39616 + }, + { + "functionName": "subscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49498 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55391 + }, + { + "functionName": "aL", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 63587 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "o", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 107706 + }, + { + "functionName": "x", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1363 + }, + { + "functionName": "T", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 32, + "columnNumber": 1893 + } + ], + "parentId": { + "id": "62", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/api/db/views_summary?sidebar=eq.true&select=id,name,namespace,title,icon,ordinal&order=ordinal.asc,title.asc", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [ + { + "name": "sidebar", + "value": "eq.true" + }, + { + "name": "select", + "value": "id,name,namespace,title,icon,ordinal" + }, + { + "name": "order", + "value": "ordinal.asc,title.asc" + } + ], + "cookies": [], + "headersSize": 4454, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-location", + "value": "/views_summary?order=ordinal.asc%2Ctitle.asc&select=id%2Cname%2Cnamespace%2Ctitle%2Cicon%2Cordinal&sidebar=eq.true" + }, + { + "name": "content-range", + "value": "0-10/*" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:41 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 1727, + "mimeType": "application/json", + "compression": 1110, + "text": "[{\"id\":\"57217e8d-48c7-42fd-9262-3ee2784543d6\",\"name\":\"mission-control-dashboard\",\"namespace\":\"mission-control\",\"title\":\"Dashboard\",\"icon\":\"dashboard-line\",\"ordinal\":1}, \n {\"id\":\"3dc4de30-b1c9-458a-a4a3-e1cc1b188851\",\"name\":\"mission-control-system\",\"namespace\":\"mission-control\",\"title\":\"System\",\"icon\":\"server\",\"ordinal\":2}, \n {\"id\":\"a8491974-8031-45cb-ae2a-0093466670df\",\"name\":\"cluster-overview\",\"namespace\":\"mission-control\",\"title\":\"Cluster\",\"icon\":\"kubernetes::cluster\",\"ordinal\":null}, \n {\"id\":\"64f80077-0ad4-448d-bfab-a5cdb4aed8be\",\"name\":\"deployments\",\"namespace\":\"mission-control\",\"title\":\"Deployments\",\"icon\":\"kubernetes::deployment\",\"ordinal\":null}, \n {\"id\":\"897e2b2d-bf97-4fa7-a84e-87a50e818847\",\"name\":\"helmreleases\",\"namespace\":\"mission-control\",\"title\":\"Helm Releases\",\"icon\":\"rocket\",\"ordinal\":null}, \n {\"id\":\"83569bc6-f31d-4560-b6c3-7356a06def99\",\"name\":\"ingresses\",\"namespace\":\"mission-control\",\"title\":\"Ingresses\",\"icon\":\"ingress\",\"ordinal\":null}, \n {\"id\":\"ae34d0f4-0baa-4640-af46-b1ac065d882b\",\"name\":\"namespace\",\"namespace\":\"mission-control\",\"title\":\"Namespace\",\"icon\":\"namespace\",\"ordinal\":null}, \n {\"id\":\"6d125b9c-1122-488c-9926-d63864bd00e9\",\"name\":\"nodes\",\"namespace\":\"mission-control\",\"title\":\"Nodes\",\"icon\":\"kubernetes::node\",\"ordinal\":null}, \n {\"id\":\"273e9edb-4923-4fd8-a73f-b512115dcdc5\",\"name\":\"pipelines\",\"namespace\":\"mission-control\",\"title\":\"Pipelines\",\"icon\":\"github\",\"ordinal\":null}, \n {\"id\":\"66f8b162-e065-4263-8261-d6908625f368\",\"name\":\"pods\",\"namespace\":\"mission-control\",\"title\":\"Pods\",\"icon\":\"pod\",\"ordinal\":null}, \n {\"id\":\"b8d645ba-1581-4fde-a4cc-271f54512af7\",\"name\":\"ui-ref-examples\",\"namespace\":\"mission-control\",\"title\":\"UI Reference Examples\",\"icon\":\"view-details\",\"ordinal\":null}]" + }, + "redirectURL": "", + "headersSize": 426, + "bodySize": 617, + "_transferSize": 1043, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:40.621Z", + "time": 608.1949999788776, + "timings": { + "blocked": 2.35799997433275, + "dns": -1, + "ssl": -1, + "connect": -1, + "send": 0.17900000000000005, + "wait": 603.4110000078306, + "receive": 2.246999996714294, + "_blocked_queueing": 0.43999997433274984, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1846591", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "tj.", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81999 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "k", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 17711 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "onSubscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 39616 + }, + { + "functionName": "subscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49498 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55391 + }, + { + "functionName": "aL", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 63587 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ], + "parentId": { + "id": "67", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/api/db/config_types", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4365, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-location", + "value": "/config_types" + }, + { + "name": "content-range", + "value": "0-129/*" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:41 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 4683, + "mimeType": "application/json", + "compression": 3636, + "text": "[{\"type\":\"AWS::::Account\"}, \n {\"type\":\"AWS::AvailabilityZone\"}, \n {\"type\":\"AWS::AvailabilityZoneID\"}, \n {\"type\":\"AWS::CloudFormation::Stack\"}, \n {\"type\":\"AWS::EBS::Volume\"}, \n {\"type\":\"AWS::EC2::RouteTable\"}, \n {\"type\":\"AWS::EC2::SecurityGroup\"}, \n {\"type\":\"AWS::EC2::Subnet\"}, \n {\"type\":\"AWS::EC2::VPC\"}, \n {\"type\":\"AWS::ECS::Cluster\"}, \n {\"type\":\"AWS::ECS::Service\"}, \n {\"type\":\"AWS::ECS::Task\"}, \n {\"type\":\"AWS::EKS::Cluster\"}, \n {\"type\":\"AWS::IAM::Role\"}, \n {\"type\":\"AWS::IAM::User\"}, \n {\"type\":\"AWS::Lambda::Function\"}, \n {\"type\":\"AWS::Region\"}, \n {\"type\":\"AWS::S3::Bucket\"}, \n {\"type\":\"GCP::Address\"}, \n {\"type\":\"GCP::AlertPolicy\"}, \n {\"type\":\"GCP::APIKeys::Key\"}, \n {\"type\":\"GCP::BigQuery::Dataset\"}, \n {\"type\":\"GCP::BigQuery::Table\"}, \n {\"type\":\"GCP::Bucket\"}, \n {\"type\":\"GCP::Compute::Snapshot\"}, \n {\"type\":\"GCP::ConnectivityTest\"}, \n {\"type\":\"GCP::CryptoKey\"}, \n {\"type\":\"GCP::DatabaseMigration::ConnectionProfile\"}, \n {\"type\":\"GCP::Dataform::Repository\"}, \n {\"type\":\"GCP::Disk\"}, \n {\"type\":\"GCP::EntryGroup\"}, \n {\"type\":\"GCP::Firewall\"}, \n {\"type\":\"GCP::ForwardingRule\"}, \n {\"type\":\"GCP::GKECluster\"}, \n {\"type\":\"GCP::GlobalAddress\"}, \n {\"type\":\"GCP::HttpHealthCheck\"}, \n {\"type\":\"GCP::Instance\"}, \n {\"type\":\"GCP::InstanceGroup\"}, \n {\"type\":\"GCP::InstanceGroupManager\"}, \n {\"type\":\"GCP::InstanceTemplate\"}, \n {\"type\":\"GCP::InternalRange\"}, \n {\"type\":\"GCP::KeyRing\"}, \n {\"type\":\"GCP::Link\"}, \n {\"type\":\"GCP::LogBucket\"}, \n {\"type\":\"GCP::LogSink\"}, \n {\"type\":\"GCP::ManagedZone\"}, \n {\"type\":\"GCP::Network\"}, \n {\"type\":\"GCP::NodePool\"}, \n {\"type\":\"GCP::NotificationChannel\"}, \n {\"type\":\"GCP::OSPolicyAssignment\"}, \n {\"type\":\"GCP::Project\"}, \n {\"type\":\"GCP::ProjectBillingInfo\"}, \n {\"type\":\"GCP::PubSub::Topic\"}, \n {\"type\":\"GCP::RecentQuery\"}, \n {\"type\":\"GCP::ResourceManager::Project\"}, \n {\"type\":\"GCP::Route\"}, \n {\"type\":\"GCP::Router\"}, \n {\"type\":\"GCP::ServiceAccount\"}, \n {\"type\":\"GCP::ServiceAccountKey\"}, \n {\"type\":\"GCP::ServiceDirectory::Endpoint\"}, \n {\"type\":\"GCP::ServiceDirectory::Namespace\"}, \n {\"type\":\"GCP::ServiceDirectory::Service\"}, \n {\"type\":\"GCP::ServiceNetworking::Connection\"}, \n {\"type\":\"GCP::Subnetwork\"}, \n {\"type\":\"GCP::Subscription\"}, \n {\"type\":\"GCP::TargetPool\"}, \n {\"type\":\"GCP::Workspace\"}, \n {\"type\":\"GitHubAction::Workflow\"}, \n {\"type\":\"Kubernetes::Addon\"}, \n {\"type\":\"Kubernetes::Alertmanager\"}, \n {\"type\":\"Kubernetes::AppProject\"}, \n {\"type\":\"Kubernetes::Certificate\"}, \n {\"type\":\"Kubernetes::Challenge\"}, \n {\"type\":\"Kubernetes::Cluster\"}, \n {\"type\":\"Kubernetes::ClusterIssuer\"}, \n {\"type\":\"Kubernetes::ClusterRole\"}, \n {\"type\":\"Kubernetes::ClusterRoleBinding\"}, \n {\"type\":\"Kubernetes::ConfigMap\"}, \n {\"type\":\"Kubernetes::CronJob\"}, \n {\"type\":\"Kubernetes::CSINode\"}, \n {\"type\":\"Kubernetes::CustomResourceDefinition\"}, \n {\"type\":\"Kubernetes::DaemonSet\"}, \n {\"type\":\"Kubernetes::Deployment\"}, \n {\"type\":\"Kubernetes::Endpoints\"}, \n {\"type\":\"Kubernetes::FlowSchema\"}, \n {\"type\":\"Kubernetes::GitRepository\"}, \n {\"type\":\"Kubernetes::HelmChart\"}, \n {\"type\":\"Kubernetes::HelmRelease\"}, \n {\"type\":\"Kubernetes::HelmRepository\"}, \n {\"type\":\"Kubernetes::Ingress\"}, \n {\"type\":\"Kubernetes::IngressClass\"}, \n {\"type\":\"Kubernetes::IPAddress\"}, \n {\"type\":\"Kubernetes::Job\"}, \n {\"type\":\"Kubernetes::Kustomization\"}, \n {\"type\":\"Kubernetes::MutatingWebhookConfiguration\"}, \n {\"type\":\"Kubernetes::Namespace\"}, \n {\"type\":\"Kubernetes::NetworkPolicy\"}, \n {\"type\":\"Kubernetes::Node\"}, \n {\"type\":\"Kubernetes::PersistentVolume\"}, \n {\"type\":\"Kubernetes::PersistentVolumeClaim\"}, \n {\"type\":\"Kubernetes::Pod\"}, \n {\"type\":\"Kubernetes::PodDisruptionBudget\"}, \n {\"type\":\"Kubernetes::PriorityClass\"}, \n {\"type\":\"Kubernetes::PriorityLevelConfiguration\"}, \n {\"type\":\"Kubernetes::Prometheus\"}, \n {\"type\":\"Kubernetes::PrometheusRule\"}, \n {\"type\":\"Kubernetes::ReplicaSet\"}, \n {\"type\":\"Kubernetes::ResourceQuota\"}, \n {\"type\":\"Kubernetes::Role\"}, \n {\"type\":\"Kubernetes::RoleBinding\"}, \n {\"type\":\"Kubernetes::RuntimeClass\"}, \n {\"type\":\"Kubernetes::Service\"}, \n {\"type\":\"Kubernetes::ServiceAccount\"}, \n {\"type\":\"Kubernetes::ServiceCIDR\"}, \n {\"type\":\"Kubernetes::ServiceMonitor\"}, \n {\"type\":\"Kubernetes::StatefulSet\"}, \n {\"type\":\"Kubernetes::StorageClass\"}, \n {\"type\":\"Kubernetes::ValidatingWebhookConfiguration\"}, \n {\"type\":\"MissionControl::Agent\"}, \n {\"type\":\"MissionControl::Application\"}, \n {\"type\":\"MissionControl::Canary\"}, \n {\"type\":\"MissionControl::Connection\"}, \n {\"type\":\"MissionControl::Job\"}, \n {\"type\":\"MissionControl::Notification\"}, \n {\"type\":\"MissionControl::Permission\"}, \n {\"type\":\"MissionControl::PermissionGroup\"}, \n {\"type\":\"MissionControl::Playbook\"}, \n {\"type\":\"MissionControl::ScrapeConfig\"}, \n {\"type\":\"MissionControl::Topology\"}, \n {\"type\":\"MissionControl::View\"}]" + }, + "redirectURL": "", + "headersSize": 326, + "bodySize": 1047, + "_transferSize": 1373, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:40.653Z", + "time": 620.7010000362061, + "timings": { + "blocked": 2.4770000119768083, + "dns": -1, + "ssl": -1, + "connect": -1, + "send": 0.353, + "wait": 617.3839999830536, + "receive": 0.48700004117563367, + "_blocked_queueing": 1.1100000119768083, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847317", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "tj.", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81999 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "O", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 17982 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "onSubscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 39616 + }, + { + "functionName": "subscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49498 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55391 + }, + { + "functionName": "aL", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 63587 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ], + "parentId": { + "id": "67", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/api/db/change_types?change_type=not.eq.", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [ + { + "name": "change_type", + "value": "not.eq." + } + ], + "cookies": [], + "headersSize": 4385, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-location", + "value": "/change_types?change_type=not.eq." + }, + { + "name": "content-range", + "value": "0-58/*" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:41 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 2119, + "mimeType": "application/json", + "compression": 1583, + "text": "[{\"change_type\":\"AuthenticationFailed\"}, \n {\"change_type\":\"BackOff\"}, \n {\"change_type\":\"BackoffLimitExceeded\"}, \n {\"change_type\":\"CalculateExpectedPodCountFailed\"}, \n {\"change_type\":\"ChartPullSucceeded\"}, \n {\"change_type\":\"ClusterIPNotAllocated\"}, \n {\"change_type\":\"Completed\"}, \n {\"change_type\":\"DependencyNotReady\"}, \n {\"change_type\":\"diff\"}, \n {\"change_type\":\"Failed\"}, \n {\"change_type\":\"FailedKillPod\"}, \n {\"change_type\":\"FailedMount\"}, \n {\"change_type\":\"FailedScheduling\"}, \n {\"change_type\":\"FailedToUpdateEndpoint\"}, \n {\"change_type\":\"GitHubActionRunCancelled\"}, \n {\"change_type\":\"GitHubActionRunFailure\"}, \n {\"change_type\":\"GitHubActionRunSuccess\"}, \n {\"change_type\":\"GitOperationFailed\"}, \n {\"change_type\":\"GitOperationSucceeded\"}, \n {\"change_type\":\"HealthCheckPassed\"}, \n {\"change_type\":\"HealthUnknown\"}, \n {\"change_type\":\"Healthy\"}, \n {\"change_type\":\"HelmChartCreated\"}, \n {\"change_type\":\"HelmChartDeleted\"}, \n {\"change_type\":\"InstallSucceeded\"}, \n {\"change_type\":\"IPAddressNotAllocated\"}, \n {\"change_type\":\"Issuing\"}, \n {\"change_type\":\"Killing\"}, \n {\"change_type\":\"NewArtifact\"}, \n {\"change_type\":\"NoPods\"}, \n {\"change_type\":\"NotificationRepeat-Interval\"}, \n {\"change_type\":\"NotificationSent\"}, \n {\"change_type\":\"NotificationSilenced\"}, \n {\"change_type\":\"OOMKilled\"}, \n {\"change_type\":\"PermissionAdded\"}, \n {\"change_type\":\"PermissionRemoved\"}, \n {\"change_type\":\"PlaybookScheduled\"}, \n {\"change_type\":\"PresentError\"}, \n {\"change_type\":\"Progressing\"}, \n {\"change_type\":\"ProvisioningFailed\"}, \n {\"change_type\":\"Pulled\"}, \n {\"change_type\":\"Pulling\"}, \n {\"change_type\":\"RELOAD\"}, \n {\"change_type\":\"Requested\"}, \n {\"change_type\":\"Reused\"}, \n {\"change_type\":\"SawCompletedJob\"}, \n {\"change_type\":\"ScalingReplicaSet\"}, \n {\"change_type\":\"Scheduled\"}, \n {\"change_type\":\"SourceUnavailable\"}, \n {\"change_type\":\"Started\"}, \n {\"change_type\":\"Succeeded\"}, \n {\"change_type\":\"SuccessfulDelete\"}, \n {\"change_type\":\"Sync\"}, \n {\"change_type\":\"SyncError\"}, \n {\"change_type\":\"Unhealthy\"}, \n {\"change_type\":\"UpdatedLoadBalancer\"}, \n {\"change_type\":\"UpgradeFailed\"}, \n {\"change_type\":\"UpgradeSucceeded\"}, \n {\"change_type\":\"Warning\"}]" + }, + "redirectURL": "", + "headersSize": 345, + "bodySize": 536, + "_transferSize": 881, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:40.653Z", + "time": 797.5370000197067, + "timings": { + "blocked": 18.565999981164932, + "dns": 0.0019999999999988916, + "ssl": -1, + "connect": 0.4190000000000005, + "send": 0.8709999999999987, + "wait": 775.4580000069737, + "receive": 2.22100003156811, + "_blocked_queueing": 0.9759999811649323, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847322", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "tj.", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81999 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "g", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 13705 + }, + { + "functionName": "queryFn", + "scriptId": "413", + "url": "http://localhost:3000/_next/static/chunks/29425-a5c024d2f96f46c6.js", + "lineNumber": 0, + "columnNumber": 66003 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "onSubscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 39616 + }, + { + "functionName": "subscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49498 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55391 + }, + { + "functionName": "aL", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 63587 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ], + "parentId": { + "id": "67", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "GET", + "url": "http://localhost:3000/api/db/config_tags", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4364, + "bodySize": 0 + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-location", + "value": "/config_tags" + }, + { + "name": "content-range", + "value": "0-108/*" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:41 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 4756, + "mimeType": "application/json", + "compression": 4107, + "text": "[{\"key\":\"account\",\"value\":\"000000000000\"}, \n {\"key\":\"cluster\",\"value\":\"beta-cluster\"}, \n {\"key\":\"cluster\",\"value\":\"vps-d1140a41\"}, \n {\"key\":\"namespace\",\"value\":\"argocd\"}, \n {\"key\":\"namespace\",\"value\":\"canaries\"}, \n {\"key\":\"namespace\",\"value\":\"canary-checker\"}, \n {\"key\":\"namespace\",\"value\":\"canary-checker-external\"}, \n {\"key\":\"namespace\",\"value\":\"canary-checker-non-persisted\"}, \n {\"key\":\"namespace\",\"value\":\"canary-checker-persisted\"}, \n {\"key\":\"namespace\",\"value\":\"canary-checker-slim\"}, \n {\"key\":\"namespace\",\"value\":\"canary-checker-vcluster-test\"}, \n {\"key\":\"namespace\",\"value\":\"cert-manager\"}, \n {\"key\":\"namespace\",\"value\":\"clickhouse\"}, \n {\"key\":\"namespace\",\"value\":\"default\"}, \n {\"key\":\"namespace\",\"value\":\"demo-env\"}, \n {\"key\":\"namespace\",\"value\":\"external-dns\"}, \n {\"key\":\"namespace\",\"value\":\"flux-system\"}, \n {\"key\":\"namespace\",\"value\":\"httpbin\"}, \n {\"key\":\"namespace\",\"value\":\"kube-node-lease\"}, \n {\"key\":\"namespace\",\"value\":\"kube-public\"}, \n {\"key\":\"namespace\",\"value\":\"kube-system\"}, \n {\"key\":\"namespace\",\"value\":\"mission-control\"}, \n {\"key\":\"namespace\",\"value\":\"monitoring\"}, \n {\"key\":\"namespace\",\"value\":\"nginx\"}, \n {\"key\":\"namespace\",\"value\":\"sock-shop\"}, \n {\"key\":\"namespace\",\"value\":\"test\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-0\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-1\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-2\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-3\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-4\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-5\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-6\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-8\"}, \n {\"key\":\"namespace\",\"value\":\"test-foo-9\"}, \n {\"key\":\"org\",\"value\":\"flanksource\"}, \n {\"key\":\"project\",\"value\":\"flanksource-prod\"}, \n {\"key\":\"project\",\"value\":\"flanksource-sandbox\"}, \n {\"key\":\"project\",\"value\":\"workload-non-prod-eu-01\"}, \n {\"key\":\"project\",\"value\":\"workload-prod-eu-02\"}, \n {\"key\":\"region\",\"value\":\"africa-south1\"}, \n {\"key\":\"region\",\"value\":\"asia-east1\"}, \n {\"key\":\"region\",\"value\":\"asia-east2\"}, \n {\"key\":\"region\",\"value\":\"asia-northeast1\"}, \n {\"key\":\"region\",\"value\":\"asia-northeast2\"}, \n {\"key\":\"region\",\"value\":\"asia-northeast3\"}, \n {\"key\":\"region\",\"value\":\"asia-south1\"}, \n {\"key\":\"region\",\"value\":\"asia-south2\"}, \n {\"key\":\"region\",\"value\":\"asia-southeast1\"}, \n {\"key\":\"region\",\"value\":\"asia-southeast2\"}, \n {\"key\":\"region\",\"value\":\"asia-southeast3\"}, \n {\"key\":\"region\",\"value\":\"australia-southeast1\"}, \n {\"key\":\"region\",\"value\":\"australia-southeast2\"}, \n {\"key\":\"region\",\"value\":\"eu\"}, \n {\"key\":\"region\",\"value\":\"europe-central2\"}, \n {\"key\":\"region\",\"value\":\"europe-north1\"}, \n {\"key\":\"region\",\"value\":\"europe-north2\"}, \n {\"key\":\"region\",\"value\":\"europe-southwest1\"}, \n {\"key\":\"region\",\"value\":\"europe-west1\"}, \n {\"key\":\"region\",\"value\":\"europe-west10\"}, \n {\"key\":\"region\",\"value\":\"europe-west12\"}, \n {\"key\":\"region\",\"value\":\"europe-west2\"}, \n {\"key\":\"region\",\"value\":\"europe-west3\"}, \n {\"key\":\"region\",\"value\":\"europe-west4\"}, \n {\"key\":\"region\",\"value\":\"europe-west6\"}, \n {\"key\":\"region\",\"value\":\"europe-west8\"}, \n {\"key\":\"region\",\"value\":\"europe-west9\"}, \n {\"key\":\"region\",\"value\":\"me-central1\"}, \n {\"key\":\"region\",\"value\":\"me-central2\"}, \n {\"key\":\"region\",\"value\":\"me-west1\"}, \n {\"key\":\"region\",\"value\":\"northamerica-northeast1\"}, \n {\"key\":\"region\",\"value\":\"northamerica-northeast2\"}, \n {\"key\":\"region\",\"value\":\"northamerica-south1\"}, \n {\"key\":\"region\",\"value\":\"southamerica-east1\"}, \n {\"key\":\"region\",\"value\":\"southamerica-west1\"}, \n {\"key\":\"region\",\"value\":\"us\"}, \n {\"key\":\"region\",\"value\":\"us-central1\"}, \n {\"key\":\"region\",\"value\":\"us-east-1\"}, \n {\"key\":\"region\",\"value\":\"us-east1\"}, \n {\"key\":\"region\",\"value\":\"us-east4\"}, \n {\"key\":\"region\",\"value\":\"us-east5\"}, \n {\"key\":\"region\",\"value\":\"us-east7\"}, \n {\"key\":\"region\",\"value\":\"us-south1\"}, \n {\"key\":\"region\",\"value\":\"us-west-1\"}, \n {\"key\":\"region\",\"value\":\"us-west1\"}, \n {\"key\":\"region\",\"value\":\"us-west2\"}, \n {\"key\":\"region\",\"value\":\"us-west3\"}, \n {\"key\":\"region\",\"value\":\"us-west4\"}, \n {\"key\":\"region\",\"value\":\"us-west8\"}, \n {\"key\":\"zone\",\"value\":\"europe-west1\"}, \n {\"key\":\"zone\",\"value\":\"europe-west1-b\"}, \n {\"key\":\"zone\",\"value\":\"europe-west1-c\"}, \n {\"key\":\"zone\",\"value\":\"us\"}, \n {\"key\":\"zone\",\"value\":\"us-east-1a\"}, \n {\"key\":\"zone\",\"value\":\"us-east-1b\"}, \n {\"key\":\"zone\",\"value\":\"us-east-1c\"}, \n {\"key\":\"zone\",\"value\":\"us-east-1d\"}, \n {\"key\":\"zone\",\"value\":\"us-east-1e\"}, \n {\"key\":\"zone\",\"value\":\"us-east-1f\"}, \n {\"key\":\"zone\",\"value\":\"us-west-1a\"}, \n {\"key\":\"zone\",\"value\":\"us-west-1b\"}, \n {\"key\":\"zone-id\",\"value\":\"use1-az1\"}, \n {\"key\":\"zone-id\",\"value\":\"use1-az2\"}, \n {\"key\":\"zone-id\",\"value\":\"use1-az3\"}, \n {\"key\":\"zone-id\",\"value\":\"use1-az4\"}, \n {\"key\":\"zone-id\",\"value\":\"use1-az5\"}, \n {\"key\":\"zone-id\",\"value\":\"use1-az6\"}, \n {\"key\":\"zone-id\",\"value\":\"usw1-az1\"}, \n {\"key\":\"zone-id\",\"value\":\"usw1-az3\"}]" + }, + "redirectURL": "", + "headersSize": 325, + "bodySize": 649, + "_transferSize": 974, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:40.654Z", + "time": 589.8149999807478, + "timings": { + "blocked": 25.03000002753362, + "dns": 0.012000000000000455, + "ssl": -1, + "connect": 0.27199999999999847, + "send": 0.7800000000000011, + "wait": 562.1250000240915, + "receive": 1.5959999291226268, + "_blocked_queueing": 3.8640000275336206, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847312", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 82150 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 15185 + }, + { + "functionName": "queryFn", + "scriptId": "441", + "url": "http://localhost:3000/_next/static/chunks/51306.d553cebb7db1f5b5.js", + "lineNumber": 0, + "columnNumber": 1581 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "onSubscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 39616 + }, + { + "functionName": "subscribe", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49498 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55391 + }, + { + "functionName": "aL", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 63587 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ], + "parentId": { + "id": "67", + "debuggerId": "-1426594650242262577.6291142947955432117" + } + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "POST", + "url": "http://localhost:3000/api/catalog/changes", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Content-Length", + "value": "119" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Origin", + "value": "http://localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=0&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4450, + "bodySize": 119, + "postData": { + "mimeType": "application/json", + "text": "{\"from\":\"now-2d\",\"to\":\"now\",\"page_size\":200,\"sort_by\":\"-created_at\",\"recursive\":\"none\",\"include_deleted_configs\":false}" + } + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:41 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 109553, + "mimeType": "application/json", + "compression": 98170, + "text": "{\"summary\":{\"BackoffLimitExceeded\":1,\"ChartPullSucceeded\":2,\"Completed\":3,\"Failed\":2,\"GitOperationSucceeded\":2,\"HealthCheckPassed\":2,\"HealthUnknown\":1,\"Healthy\":15,\"NotificationSilenced\":1,\"OOMKilled\":9,\"PermissionAdded\":103,\"Pulled\":6,\"Pulling\":2,\"SawCompletedJob\":2,\"Scheduled\":2,\"Started\":2,\"SuccessfulDelete\":3,\"Sync\":12,\"Unhealthy\":1,\"UpdatedLoadBalancer\":1,\"diff\":28},\"total\":2579,\"changes\":[{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cb58fc07-6448-4bf6-a92c-5d5b799f62fe\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:20:14.191466Z\",\"count\":5884,\"first_observed\":\"2026-01-29T00:16:36.24348Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c0bd53a3-fb2d-4edf-9129-78df542996fa\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container image \\\"weaveworksdemos/shipping:0.4.8\\\" already present on machine\",\"created_at\":\"2026-03-10T08:20:10Z\",\"count\":147,\"first_observed\":\"2026-03-09T09:02:00.76939Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"53f362de-0df3-46b4-b12b-b043cdbb75e1\",\"config_id\":\"11d80a68-0b22-42aa-a02b-ccbdc3a23008\",\"change_type\":\"HealthCheckPassed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T08:19:50.225797Z\",\"count\":4079,\"first_observed\":\"2026-02-26T06:38:42.170218Z\",\"name\":\"prometheus-operator\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"def61ea1-4fd4-42d4-8f2e-be99a550a1dc\",\"config_id\":\"d40208d1-cf11-4725-a29f-3839e2e7059b\",\"change_type\":\"HealthCheckPassed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T08:19:26.18372Z\",\"count\":4097,\"first_observed\":\"2026-02-26T06:34:09.229724Z\",\"name\":\"cert-manager-operator\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"eee31ef3-df98-4ba5-aad9-1cd362780033\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T08:19:07Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:14:05.173618Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5d187da5-7550-4c69-a509-04d204edc658\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T08:19:07Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:14:05.173618Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"01b3ae07-3d14-447d-9478-742cf4031d35\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T08:19:07Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:14:05.30531Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7a0c1594-e307-42c9-95cf-f752d8c736c4\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T08:19:07Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:14:05.30531Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"98db77a4-3af8-4079-9c31-dba15173f601\",\"config_id\":\"08601d43-60f3-4121-a270-171e8d371392\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:18:32.387679Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:18:32.38726Z\",\"name\":\"canaries\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6dcca10c-b348-403f-ac8e-a7a3fb19b60b\",\"config_id\":\"1352334b-6d16-4490-8fb6-caf0e488ddd5\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:17:41.093227Z\",\"count\":146,\"first_observed\":\"2026-03-08T23:09:04.130756Z\",\"name\":\"orders-c98d5b4bb-l8wwk-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8f10dd65-a96c-49f0-878b-2c5d95d85f27\",\"config_id\":\"1352334b-6d16-4490-8fb6-caf0e488ddd5\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:17:38.304305Z\",\"count\":9675,\"first_observed\":\"2026-01-19T09:18:14.186586Z\",\"name\":\"orders-c98d5b4bb-l8wwk-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8530f0ec-0f20-4225-b08f-16e89f430061\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:17:08.246045Z\",\"count\":8243,\"first_observed\":\"2026-01-19T09:14:47.155267Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"62cdd84c-bc0d-428e-8066-9f2e36c5d668\",\"config_id\":\"3cdbae61-ecb9-42cc-b0c6-e6dfabbcc199\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:17:02.094759Z\",\"count\":12947,\"first_observed\":\"2026-01-19T09:10:53.27525Z\",\"name\":\"queue-master-559559984f-sdrct-x-sock-shop-x-mission--fddeffbe56\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"64377def-1eda-42e8-af55-0683b61459aa\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:16:26.236834Z\",\"count\":5,\"first_observed\":\"2026-03-10T06:59:35.263846Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fb32d07b-ab5e-4013-a5ee-c4aa2502526c\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:16:23.069381Z\",\"count\":14278,\"first_observed\":\"2026-01-19T09:15:11.288567Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5904ed01-78dd-4dfa-9174-7faf094975dd\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container image \\\"registry.k8s.io/external-dns/external-dns:v0.14.2\\\" already present on machine\",\"created_at\":\"2026-03-10T08:16:22Z\",\"count\":274,\"first_observed\":\"2026-03-09T09:02:00.76939Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"64d3abc5-42a9-447c-a7e4-31db00c8b290\",\"config_id\":\"bf199b30-03dd-481e-8e3b-507f4b9d34c7\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:16:08.266591Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:16:08.26646Z\",\"name\":\"canaries\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"97a924f7-407f-4bfa-9f05-959ca0d19cfd\",\"config_id\":\"1352334b-6d16-4490-8fb6-caf0e488ddd5\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:15:32.312351Z\",\"count\":9782,\"first_observed\":\"2026-01-19T09:15:53.374578Z\",\"name\":\"orders-c98d5b4bb-l8wwk-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0e5b692c-6eb6-4f0d-8acf-c9c4410220c8\",\"config_id\":\"1352334b-6d16-4490-8fb6-caf0e488ddd5\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container image \\\"weaveworksdemos/orders:0.4.7\\\" already present on machine\",\"created_at\":\"2026-03-10T08:15:31Z\",\"count\":198,\"first_observed\":\"2026-03-09T09:02:00.76939Z\",\"name\":\"orders-c98d5b4bb-l8wwk-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"efef60da-0294-43d8-ba95-fb8cdcbfaf88\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:15:02.293658Z\",\"count\":27,\"first_observed\":\"2026-03-10T01:40:28.295746Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1896a70b-be66-4eb6-ac77-ab77c550e891\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:14:59.274814Z\",\"count\":6591,\"first_observed\":\"2026-01-29T00:06:30.209727Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6cf-b7c7-9b32-011d-6040cd300880\",\"config_id\":\"fb570a3d-6601-4e32-b3db-a2ae48f5a440\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T08:14:23.175487Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:14:23.175487Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9cc853d4-49d9-446f-b6ad-9ca83b98f188\",\"config_id\":\"fb570a3d-6601-4e32-b3db-a2ae48f5a440\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T08:14:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:14:50.267104Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"aabba90a-b69b-46f1-8dbc-2adc2f0fd04a\",\"config_id\":\"fb570a3d-6601-4e32-b3db-a2ae48f5a440\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T08:14:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:14:50.267104Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dc9989d0-b7a2-48a5-a37e-ae3e29062f37\",\"config_id\":\"d6307b1b-c03c-453d-81cd-2de20e41c198\",\"change_type\":\"UpdatedLoadBalancer\",\"severity\":\"low\",\"source\":\"service-lb-controller\",\"summary\":\"Updated LoadBalancer with new IPs: [37.59.119.142] -\\u003e [37.59.119.142]\",\"created_at\":\"2026-03-10T08:14:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:13:59.026625Z\",\"name\":\"nginx-ingress-nginx-controller\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"nginx\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2f1006e7-5044-442e-8bc3-bad6b2cac907\",\"config_id\":\"2cd7877a-3fad-4599-b108-4a7e23c69972\",\"change_type\":\"GitOperationSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"no changes since last reconcilation: observed revision 'master@sha1:f4e08c5dbc7d126a8e3d1f5e7e1dba2ff4425d03'\",\"created_at\":\"2026-03-10T08:13:18Z\",\"count\":1100,\"first_observed\":\"2026-03-06T12:31:18.23458Z\",\"name\":\"canaries\",\"type\":\"Kubernetes::GitRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e2a08e2d-19a7-46b8-874e-50cf2bacb4da\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:12:56.188778Z\",\"count\":6187,\"first_observed\":\"2026-01-23T03:55:00.097284Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"857c450d-a4b7-4178-a992-3187dca09f92\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container image \\\"weaveworksdemos/carts:0.4.8\\\" already present on machine\",\"created_at\":\"2026-03-10T08:12:53Z\",\"count\":145,\"first_observed\":\"2026-03-09T09:02:00.76939Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6971f221-9740-4ec1-aad6-9dda0cfe4138\",\"config_id\":\"fd61b61b-c004-4818-b6c4-f7021ea1a620\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:12:47.191071Z\",\"count\":6635,\"first_observed\":\"2025-12-23T11:29:08.314885Z\",\"name\":\"namespace-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"308b9f37-e317-4cc5-b569-b987acdb4ed8\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T08:11:17.154514Z\",\"count\":9668,\"first_observed\":\"2026-01-19T09:15:14.141582Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"13325ffb-1168-4262-8110-091234b45b74\",\"config_id\":\"bcbf9bcb-647f-434d-a337-16348882ed0a\",\"change_type\":\"GitOperationSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"no changes since last reconcilation: observed revision 'master@sha1:f4e08c5dbc7d126a8e3d1f5e7e1dba2ff4425d03'\",\"created_at\":\"2026-03-10T08:11:10Z\",\"count\":1098,\"first_observed\":\"2026-03-06T12:38:33.168088Z\",\"name\":\"canaries\",\"type\":\"Kubernetes::GitRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1cae5e9c-e333-4ac4-8726-0a09ff0b9b75\",\"config_id\":\"5051baac-9be4-4de1-8987-532496315ae7\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T08:10:11.11688Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:10:11.116723Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"147842a5-00e5-4521-a476-db2c6be65e69\",\"config_id\":\"5051baac-9be4-4de1-8987-532496315ae7\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T08:10:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:09:59.1184Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"115f9431-f797-4fc0-92fa-e0c1def1436a\",\"config_id\":\"5051baac-9be4-4de1-8987-532496315ae7\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T08:10:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:09:59.1184Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6cb-3af3-8eed-75d9-9141f0b14330\",\"config_id\":\"5051baac-9be4-4de1-8987-532496315ae7\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T08:09:29.075379Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:09:29.075379Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"04d366d3-3c3f-433a-bd92-3add7ffbe620\",\"config_id\":\"fd61b61b-c004-4818-b6c4-f7021ea1a620\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:08:26.270076Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:18:29.065443Z\",\"name\":\"namespace-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"18f1da88-674c-4224-a69d-8589df23e80b\",\"config_id\":\"6892c15a-162d-4392-b5db-2882ce639f8d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T08:08:11.239857Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:08:11.239545Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c9-a0e7-6e96-05b9-2db1971d082d\",\"config_id\":\"6892c15a-162d-4392-b5db-2882ce639f8d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T08:07:44.102964Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:07:44.102964Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0ae3d316-9ba8-4eb7-8bd3-98785933282a\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user clickhouse-scraper-opentelemetry-collector, role clickhouse-scraper-opentelemetry-collector\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0555496a-dc90-4d03-9bdb-4a8494a47425\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cert-manager, role cert-manager-controller-challenges\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2a4dfbd0-30e2-4e6e-ad9c-9346be6a952d\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cert-manager, role cert-manager-controller-challenges\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e8997230-4953-47bb-bf0e-6af55ee4319c\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user canary-checker-sa, role canary-checker-role\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a4e25037-4ad6-4634-9391-bc307f1ba99d\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user clickhouse-scraper-opentelemetry-collector, role clickhouse-scraper-opentelemetry-collector\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4e2de27b-fa87-4bf9-addb-c67a669eaee2\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user canary-checker-sa, role canary-checker-role\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0dbdaf47-22d5-4b44-81bf-8bfc911fe442\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ephemeral-volume-controller, role system:controller:ephemeral-volume-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b9b3490a-f211-41aa-915a-6cdd2f4d5b5c\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pod-garbage-collector, role system:controller:pod-garbage-collector\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ecf581da-14e6-4617-a3f6-9cad5643064f\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ephemeral-volume-controller, role system:controller:ephemeral-volume-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"65592191-effb-444d-bad9-ac0e207ba95e\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user persistent-volume-binder, role system:controller:persistent-volume-binder\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a5e22db3-38cc-4c0e-ae96-96c70ea2d227\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user node-controller, role system:controller:node-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3f65874d-b7fd-4b5e-a7a4-57a11eb8e1a8\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pvc-protection-controller, role system:controller:pvc-protection-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ee292b7f-c471-44ef-b809-fc182378d626\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user persistent-volume-binder, role system:controller:persistent-volume-binder\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c4823bd5-b445-4708-a1ae-5bbc7d811f3c\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d2db0203-dea4-4fab-ba12-0c57997a6436\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user horizontal-pod-autoscaler, role system:controller:horizontal-pod-autoscaler\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4336da1d-ad66-4634-a9d5-4b874b5da459\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"52cce743-585f-4b18-bbf2-108b233cef70\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user node-controller, role system:controller:node-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7e957caf-a878-4fb3-8ea6-4b363f266439\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"23847917-f12a-4e36-a786-0bdb28f911d8\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user horizontal-pod-autoscaler, role system:controller:horizontal-pod-autoscaler\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"eac57b77-575a-47f3-b5f9-89a22188b777\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pod-garbage-collector, role system:controller:pod-garbage-collector\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b7aaefa9-7665-409c-b530-b8d9c60401b0\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pvc-protection-controller, role system:controller:pvc-protection-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4f2fab12-5a6b-4a4d-8ab9-265b254d8285\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"23fa8cc1-7fd2-4a9e-8ab5-dd0db1970bad\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpoint-controller, role system:controller:endpoint-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"754a4b10-9371-4402-95f0-811e4035c7e3\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpointslice-controller, role system:controller:endpointslice-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"83f75052-4448-4607-b6ba-cb2ea4aae8af\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpointslice-controller, role system:controller:endpointslice-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f25b18a3-1968-4218-b254-08244d73dec6\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpoint-controller, role system:controller:endpoint-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4ecb4179-8cf9-406f-bd1c-4e14a52165af\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-operator, role prometheus-kube-prometheus-operator\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b925a6f3-3992-4fb8-98bc-f1928a279ed5\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-prometheus, role prometheus-kube-prometheus-prometheus\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"840fb190-2d5a-4042-901a-1b25f0ed374c\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user k3s-cloud-controller-manager, role k3s-cloud-controller-manager\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e895b34f-60f6-4ddb-9729-91dd974eef1f\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-operator, role prometheus-kube-prometheus-operator\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"77cad67c-cd03-4136-8bfa-21d35ae4b124\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-state-metrics, role prometheus-kube-state-metrics\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"58a8e697-7057-438c-b359-09be27072fcf\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user nginx-ingress-nginx, role nginx-ingress-nginx\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6bcf77b5-4423-4b7f-857a-be96286c142a\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7ce183d9-0941-4279-9aea-2e0336fd8b7b\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-prometheus, role prometheus-kube-prometheus-prometheus\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"34377957-f4f9-4c2d-9bd9-93f0039dabf7\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d0c5b8dd-dbf1-43d2-8c7b-c78d83f5cebf\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user local-path-provisioner-service-account, role local-path-provisioner-role\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"68a9152a-93f5-4d67-b622-efb1332a3f49\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user nginx-ingress-nginx, role nginx-ingress-nginx\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4049053d-2323-4ca2-a577-5e064a06e3b9\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user daemon-set-controller, role system:controller:daemon-set-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"78bc8f4d-3697-43d0-850b-95848cdd462f\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user attachdetach-controller, role system:controller:attachdetach-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a094072d-d26b-4c18-8ed3-ffed868bce16\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user daemon-set-controller, role system:controller:daemon-set-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bbba5380-bf45-45c2-b769-31d413f573ec\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-state-metrics, role prometheus-kube-state-metrics\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"59de58a9-5cc9-4ae5-ac3d-75e1d9d90627\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user k3s-cloud-controller-manager, role k3s-cloud-controller-manager\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"617d67c3-51a3-4e5f-ab4e-7b529f5af5de\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user local-path-provisioner-service-account, role local-path-provisioner-role\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c1585589-03b2-4cdb-9ef9-5913e7383a97\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user attachdetach-controller, role system:controller:attachdetach-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c862618b-d695-45e7-96a3-42925a2bb3d2\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replication-controller, role system:controller:replication-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5e56ec88-a560-47e6-bd49-1d3596f53d1b\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a0432003-af46-4ccd-a3b9-850b892579d8\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role mission-control-beta\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cc6c1dbd-d71f-48e6-b98f-5d86bb25703d\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user statefulset-controller, role system:controller:statefulset-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"588056e6-fd8f-4253-aaa1-bad588eb87ec\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replication-controller, role system:controller:replication-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0b9a94e1-aec9-4f09-a372-0e9ce635bc28\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"857981d1-eba5-4e1a-81b7-dab776206a39\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-demo, role mission-control-demo\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"038ca7f2-83e8-4fa9-b602-42cfd563aab5\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user coredns, role system:coredns\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"92454f1c-4e54-4989-b42d-953ffe8e622d\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user metrics-server, role system:metrics-server\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"47aa720e-6b82-4d5d-85e2-b47e0d117646\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user metrics-server, role system:metrics-server\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"75766686-75e8-428a-98d8-46745b30cde8\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f33dfcbc-d60e-4050-9d3a-83f794ddb3b7\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role vc-mission-control-beta-v-mission-control\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0393c78b-11cf-47b8-970c-c007076dd9f4\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-demo, role vc-mission-control-demo-v-demo-env\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a87358bd-9d02-43ce-99ed-1feaf0b7b47b\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user selinux-warning-controller, role system:controller:selinux-warning-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"76f22332-8d21-4a0b-b5a9-3aad7d65f5de\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user coredns, role system:coredns\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"636df517-aefc-497f-b512-5c568c4898e7\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-demo, role vc-mission-control-demo-v-demo-env\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"978f12a9-64b9-4d96-a409-78edf71f2bf0\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:k3s-controller, role system:k3s-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c0579877-fd05-46d9-a2bb-f4398ce1d0bf\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"985514e3-5645-48e8-8d32-0a5c07814e60\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role vc-mission-control-beta-v-mission-control\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"97851432-5b60-4ebe-9355-a8b6b971fb9c\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user statefulset-controller, role system:controller:statefulset-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"69800ed7-648c-4113-ac86-22535e616a82\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:k3s-controller, role system:k3s-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ed5ad4f5-1fdc-47a8-925f-f9e45ae36d9b\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user selinux-warning-controller, role system:controller:selinux-warning-controller\",\"created_at\":\"2026-03-10T08:07:40.296147Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:51.661823Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1658a5dc-9b4b-45d4-abc0-3bf7bf45829b\",\"config_id\":\"6892c15a-162d-4392-b5db-2882ce639f8d\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T08:07:39Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:08:08.299229Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f95d0b52-ac36-48b4-a323-d0d6c9590382\",\"config_id\":\"6892c15a-162d-4392-b5db-2882ce639f8d\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T08:07:39Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:08:08.299229Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f6399058-8c9b-4b44-891d-53c40d0b538e\",\"config_id\":\"34373734-6339-3931-3766-333230343439\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T08:07:32.182049Z\",\"count\":56,\"first_observed\":\"2026-03-09T12:38:28.276849Z\",\"name\":\"_Required\",\"type\":\"GCP::LogSink\",\"tags\":{\"project\":\"workload-non-prod-eu-01\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8fc498e3-ba06-4508-910a-1afbec59c6d0\",\"config_id\":\"36363232-3364-3363-6235-626231633064\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T08:07:31.981829Z\",\"count\":56,\"first_observed\":\"2026-03-09T12:38:28.276849Z\",\"name\":\"_Default\",\"type\":\"GCP::LogSink\",\"tags\":{\"project\":\"workload-non-prod-eu-01\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e447e5d9-e383-43f6-a09e-79d4e7344fdd\",\"config_id\":\"284bd30c-ab31-4b14-83c0-3cff96f3cc3d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-10T08:07:05.479889Z\",\"count\":59,\"first_observed\":\"2026-03-09T12:53:23.347213Z\",\"name\":\"gcp-scraper-flanksource-sandbox\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"92791999-a213-405d-8815-8286af076e44\",\"config_id\":\"ee9ba697-373e-4e82-8bdc-7c830bc6f17d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-10T08:07:05.476019Z\",\"count\":37,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"flanksource-github-actions\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1887280b-a30b-4ff1-9903-3184935249ed\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T08:07:05.472584Z\",\"count\":6,\"first_observed\":\"2026-03-10T06:23:13.480469Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"95073b40-b38f-4717-8f5b-5e30d37df353\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user node-controller, role system:controller:node-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"309df01c-8c6e-4003-8dd2-e12f1bc41c44\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user horizontal-pod-autoscaler, role system:controller:horizontal-pod-autoscaler\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4e1eb113-4edd-497f-bfcc-891034c25d36\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user statefulset-controller, role system:controller:statefulset-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fe3fe4dd-19b7-4f66-8b6f-276f86cf15a2\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user persistent-volume-binder, role system:controller:persistent-volume-binder\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0dd46406-432b-489a-83f3-dc9e6daf1b91\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b59226b2-8e98-4170-9541-3ea4babbf194\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ttl-after-finished-controller, role system:controller:ttl-after-finished-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c0efab0e-a247-4b6b-93f8-6f8394f932f4\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"999d4f1f-4156-419e-8c99-e73061a5a1cc\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"39dba93e-789c-4d85-90a6-b9cc4dbeeebd\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user coredns, role system:coredns\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"50e275be-2e1f-4695-9688-75a8b8a181bd\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8ea721f6-19ff-43df-b641-3bf39104f5fa\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpointslice-controller, role system:controller:endpointslice-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d402eff4-02f1-488c-bb08-d6895abb2682\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ttl-after-finished-controller, role system:controller:ttl-after-finished-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3938263a-3167-4699-bf49-d960e06a9b81\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user canary-checker-sa, role canary-checker-role\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"11b90bd7-2606-4bf6-8895-4f73c5bb3f09\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpoint-controller, role system:controller:endpoint-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"393a1781-01a2-4799-b9ba-0c3f2108b5b6\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pod-garbage-collector, role system:controller:pod-garbage-collector\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"32688ba1-ba6c-4aa1-b961-d7394b5cb248\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user mission-control-sa, role mission-control-role\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5b6324bc-19a2-4b34-acb9-36f36002c7a6\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"affff020-839d-45ea-b087-d299b99f50d2\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:k3s-controller, role system:k3s-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fa066546-6b2e-49f0-92f4-ca7e42a5487e\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user daemon-set-controller, role system:controller:daemon-set-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"28463fcc-c571-44b3-9b87-5a408d5a44c8\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2fddcebe-13cf-44e4-9b5c-0baaff04ddc6\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user argocd-server, role argocd-server\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"08d99ed8-b630-4b99-b227-b95c82300ab2\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1a7d8943-ed99-43b0-83ef-6b8e7b600670\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user argocd-server, role argocd-server\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"80c1e42f-ccfa-49b4-a207-cfee0781eddb\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user argocd-server, role argocd-server\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1202d217-642c-43ac-949f-8a9c40010fb2\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ephemeral-volume-controller, role system:controller:ephemeral-volume-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2ea2e724-2706-47f2-8783-8fe672f1d72a\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pvc-protection-controller, role system:controller:pvc-protection-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"619187fa-4be5-417d-b82c-180a7a81b573\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5a541eb4-5820-4aba-913a-484b86e9c456\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replication-controller, role system:controller:replication-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"14b86844-318e-4661-bdcf-8f93eb393eed\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8083ca9a-ae5a-4351-8237-f0d146c87a89\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-prometheus, role kube-prometheus-stack-prometheus\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"74e64141-f09f-4c1f-b213-3bd0af6e124d\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bc98e0c5-716e-4764-a335-b27ad940b5ff\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user test@example.com, role test-rbac-ldap\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9fd92cff-302b-4bbe-8c26-b5f420bfef10\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d7d1489b-0784-402a-a1be-ab89a5408442\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prom-adapter-prometheus-adapter, role prometheus-adapter-resource-reader\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"be6ca11e-97c7-47b6-a389-ba345f5c6223\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-operator, role kube-prometheus-stack-operator\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"78e143c1-8ca6-48cc-a4a2-9adbd8d1383c\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user attachdetach-controller, role system:controller:attachdetach-controller\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0e770e62-3e87-451c-bf74-bb6fa72b1d29\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T08:07:00.560594Z\",\"count\":0,\"first_observed\":\"2026-03-10T08:07:05.435827Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2d3eea4b-eb17-4972-bc07-85a3b61accfb\",\"config_id\":\"7038fc25-e675-447a-97e5-3faebe247692\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T08:05:11.085782Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:05:11.08564Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b0d3af2b-d564-446b-8879-38cf3d0e80ba\",\"config_id\":\"7038fc25-e675-447a-97e5-3faebe247692\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T08:05:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:05:05.124307Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ea75b41d-8e0c-40d6-bf65-211d34a8fda3\",\"config_id\":\"7038fc25-e675-447a-97e5-3faebe247692\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T08:05:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:05:05.124307Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c6-bea9-76c8-6965-5235ad930f6c\",\"config_id\":\"7038fc25-e675-447a-97e5-3faebe247692\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T08:04:35.112829Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:04:35.112829Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9d0b00ab-f5a7-4165-9eb1-5b492fc2ad69\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:00:35.315239Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:35.31504Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c3-15e7-bfc9-0bf7-5f4badcfb0b4\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Completed\",\"created_at\":\"2026-03-10T08:00:35.303003Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:35.303003Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"500b08b4-69c6-4dc2-92ba-698541d4c635\",\"config_id\":\"498baf87-b260-426b-88ea-b77d2ad2385f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T08:00:11.18885Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:11.188679Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7087b555-7059-4f6a-994c-9ec37d726a50\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status, status.uncountedTerminatedPods.succeeded\",\"created_at\":\"2026-03-10T08:00:08.237097Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:08.236934Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-a17d-f996-4d8f-e109bcf1fb55\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"NotificationSilenced\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-10T08:00:05.500952Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.500952Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a5222d2a-07bf-4bcb-8bd8-24f3623876b1\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:00:05.333795Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8594ae6a-caae-45d5-a8f7-263587cf9771\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:00:05.333795Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"73996ca1-3508-41c8-8537-2a9c367131b9\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T08:00:05.333795Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"63fd4eb7-6eec-472c-a73a-afd1b7d655ed\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:00:05.333795Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fa2fb6d5-4677-4388-b46b-28a0f29e5c65\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active, status.uncountedTerminatedPods.succeeded\",\"created_at\":\"2026-03-10T08:00:05.333795Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-a0c0-0a5d-0f3c-8b317bec8149\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"BackoffLimitExceeded: Job has reached the specified backoff limit\",\"created_at\":\"2026-03-10T08:00:05.311609Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.311609Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-a0a5-9d96-4695-cf16443dbe5f\",\"config_id\":\"ec2bd6b5-c61d-4534-a2d2-620d5c9bb048\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Completed\",\"created_at\":\"2026-03-10T08:00:05.285144Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.285144Z\",\"name\":\"always-passing-29552160-rr6m9\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"850f2be4-1dba-4a4a-958f-418d9b1a5777\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:00:05.242874Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.240081Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0cfe47fa-0d0b-4ff4-9f59-8b3fb5b132ac\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:00:05.242874Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.240081Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-a04f-0f64-5ddb-b903ce943948\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Starting: Running PodCompleted\",\"created_at\":\"2026-03-10T08:00:05.198516Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.198516Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-a029-957a-8c9a-05d57244b73b\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Completed\",\"created_at\":\"2026-03-10T08:00:05.160597Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.160597Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a658bbfa-a97b-4a4f-9af3-1433085c698a\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"job-controller\",\"summary\":\"Deleted pod: always-failing-29552160-mcpc7\",\"created_at\":\"2026-03-10T08:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"55a9d57a-8f51-4033-b222-ef0288290c9f\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"BackoffLimitExceeded\",\"severity\":\"info\",\"source\":\"job-controller\",\"summary\":\"Job has reached the specified backoff limit\",\"created_at\":\"2026-03-10T08:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c35a2bf1-3db5-4a90-b686-a958f2b708d7\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"job-controller\",\"summary\":\"Job completed\",\"created_at\":\"2026-03-10T08:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"188235ed-abfb-4fa1-a77c-1907d809e076\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29552100\",\"created_at\":\"2026-03-10T08:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a771bce2-f3d8-486e-a179-0b1792111148\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29552160, status: Complete\",\"created_at\":\"2026-03-10T08:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"204575bd-3ebe-4233-b703-9ea4ae95c890\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29552100\",\"created_at\":\"2026-03-10T08:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9d788aca-3b8c-49d0-ac9e-d335df8049b8\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29552160, status: Failed\",\"created_at\":\"2026-03-10T08:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:05.333616Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"227496bc-dc8f-459f-9d14-2862785bd122\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:00:02.263263Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:00:02.456796Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"77f746c4-47d3-499b-b176-0297d0ce34b6\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T08:00:02.255419Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:00:02.456796Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-9487-d1f4-e639-3156599cea88\",\"config_id\":\"325fbf8f-a0bf-41c9-82da-2c444a3e8c0c\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running\",\"created_at\":\"2026-03-10T08:00:02.183186Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:02.183186Z\",\"name\":\"always-passing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-9487-f214-7865-ef4191500c8a\",\"config_id\":\"7f0fb273-12a6-4301-8a34-aa13a355c1e7\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running\",\"created_at\":\"2026-03-10T08:00:02.183186Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:02.183186Z\",\"name\":\"always-failing-29552160\",\"type\":\"Kubernetes::Job\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-9417-4dc0-1260-ec3bc9a1e23b\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T08:00:02.070853Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:02.070853Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"088df7bd-a77e-40db-aa11-30a24ffd2aa0\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container fail\",\"created_at\":\"2026-03-10T08:00:01Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:32.257317Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c146035e-7a26-4353-b588-d5e1ac9c7ab1\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container fail\",\"created_at\":\"2026-03-10T08:00:01Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:32.257317Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"464e1540-586c-48c7-a9fa-7de58decb591\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container image \\\"busybox:1.28\\\" already present on machine\",\"created_at\":\"2026-03-10T08:00:01Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:32.257317Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0f3fa508-893e-47ae-84f3-b2e795c2939b\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container image \\\"busybox:1.28\\\" already present on machine\",\"created_at\":\"2026-03-10T08:00:01Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:32.257317Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"21b31dd0-3511-42cf-89ce-a8b56a79fc6d\",\"config_id\":\"7dc26d36-9d28-4675-a9a8-5d87feb6992d\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta to vps-d1140a41\",\"created_at\":\"2026-03-10T08:00:00Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:32.257317Z\",\"name\":\"always-passing-29552160-rr6m9-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"496f1a49-69f8-4aab-bd86-be63d595d0df\",\"config_id\":\"2482dcf4-c0e5-4ea3-a012-72959bbc00c6\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned demo-env/always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo to vps-d1140a41\",\"created_at\":\"2026-03-10T08:00:00Z\",\"count\":1,\"first_observed\":\"2026-03-10T08:00:32.257317Z\",\"name\":\"always-passing-29552160-4vsdk-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c2-5a66-b03d-11a2-34f2a57c0fd6\",\"config_id\":\"498baf87-b260-426b-88ea-b77d2ad2385f\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:59:47.302031Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:59:47.302031Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"54449834-e734-485a-b131-1e1517454d96\",\"config_id\":\"498baf87-b260-426b-88ea-b77d2ad2385f\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:59:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:00:08.101663Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1305b11d-e127-4e4d-8a97-4ac4a55465c1\",\"config_id\":\"498baf87-b260-426b-88ea-b77d2ad2385f\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:59:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T08:00:08.101663Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"48ae65e2-7bf9-4676-afe0-3e9317756efe\",\"config_id\":\"fd61b61b-c004-4818-b6c4-f7021ea1a620\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:58:44.265818Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:08:32.023158Z\",\"name\":\"namespace-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e52de585-fca5-44ac-90c0-74588fb2fecc\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T07:58:29.046824Z\",\"count\":25,\"first_observed\":\"2026-03-10T00:07:46.85438Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"27124255-4319-4e40-8496-9f12f4031b2a\",\"config_id\":\"aaeec7a3-9d7a-4ff5-b307-92b0655f431c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:58:11.146085Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:58:11.14589Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6c0-bf2e-91e5-adc7-bcabab20a3cd\",\"config_id\":\"aaeec7a3-9d7a-4ff5-b307-92b0655f431c\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:58:02.03023Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:58:02.03023Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f155e2a2-d6ed-440c-8a84-884ce6d7cf6d\",\"config_id\":\"aaeec7a3-9d7a-4ff5-b307-92b0655f431c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:57:57Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:58:08.048715Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cccdd8ff-2644-4ebe-83af-882921f1e906\",\"config_id\":\"aaeec7a3-9d7a-4ff5-b307-92b0655f431c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:57:57Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:58:08.048715Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6bf-d53c-1e6c-14ca-5fd552f5e975\",\"config_id\":\"29d73640-a512-4a8d-a326-1934db3325df\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T07:57:02.140318Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:57:02.140318Z\",\"name\":\"canary-checker-canary-checker-slim\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-slim\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"921596c9-d7c4-48be-8f07-a5c4d3ec9ed7\",\"config_id\":\"29d73640-a512-4a8d-a326-1934db3325df\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.3-beta.89'\",\"created_at\":\"2026-03-10T07:56:58Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:57:32.028505Z\",\"name\":\"canary-checker-canary-checker-slim\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-slim\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6bf-b274-3a89-cd3f-c28ab9cc8c63\",\"config_id\":\"52fcc95e-a4a7-48a7-8b2a-f743bc65355f\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T07:56:53.236266Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:56:53.236266Z\",\"name\":\"canary-checker-canary-checker-non-persisted\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-non-persisted\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dfaf6581-401f-4b8f-8cbc-c9c3953534a9\",\"config_id\":\"52fcc95e-a4a7-48a7-8b2a-f743bc65355f\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.3-beta.89'\",\"created_at\":\"2026-03-10T07:56:49Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:57:20.238028Z\",\"name\":\"canary-checker-canary-checker-non-persisted\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-non-persisted\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6bf-6c4a-90f9-bd76-a8ecbbca0f3e\",\"config_id\":\"7301f876-9c6d-49e2-be6f-803aac67bdf9\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T07:56:35.274423Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:56:35.274423Z\",\"name\":\"canary-checker-canary-checker-external-db\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-external\"}}]}\n" + }, + "redirectURL": "", + "headersSize": 254, + "bodySize": 11383, + "_transferSize": 11637, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:40.655Z", + "time": 938.5810000441223, + "timings": { + "blocked": 16.601000046465543, + "dns": 0.005000000000000782, + "ssl": -1, + "connect": 0.5280000000000005, + "send": 0.6120000000000001, + "wait": 918.0749999946207, + "receive": 2.7600000030361116, + "_blocked_queueing": 6.542000046465546, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847413", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 82150 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 15185 + }, + { + "functionName": "queryFn", + "scriptId": "441", + "url": "http://localhost:3000/_next/static/chunks/51306.d553cebb7db1f5b5.js", + "lineNumber": 0, + "columnNumber": 1581 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "setOptions", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 40535 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55524 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ] + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "POST", + "url": "http://localhost:3000/api/catalog/changes", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Content-Length", + "value": "128" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Origin", + "value": "http://localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=1&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4450, + "bodySize": 128, + "postData": { + "mimeType": "application/json", + "text": "{\"from\":\"now-2d\",\"to\":\"now\",\"page\":2,\"page_size\":200,\"sort_by\":\"-created_at\",\"recursive\":\"none\",\"include_deleted_configs\":false}" + } + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:54 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 106189, + "mimeType": "application/json", + "compression": 93655, + "text": "{\"summary\":{\"ChartPullSucceeded\":4,\"Completed\":4,\"HealthUnknown\":3,\"Healthy\":13,\"Killing\":3,\"NoPods\":1,\"PermissionAdded\":65,\"Pulled\":5,\"Pulling\":4,\"ScalingReplicaSet\":2,\"Scheduled\":4,\"Started\":4,\"SuccessfulDelete\":1,\"Sync\":8,\"UpgradeSucceeded\":1,\"diff\":78},\"total\":2579,\"changes\":[{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3e356969-9b8b-44a4-97aa-0c08e4dac1f5\",\"config_id\":\"7301f876-9c6d-49e2-be6f-803aac67bdf9\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.3-beta.89'\",\"created_at\":\"2026-03-10T07:56:31Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:57:05.304294Z\",\"name\":\"canary-checker-canary-checker-external-db\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-external\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6bf-487c-3b38-50a3-6696984324ae\",\"config_id\":\"06735107-c530-4005-98f8-5b12bfd446ec\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T07:56:26.107894Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:56:26.107894Z\",\"name\":\"canary-checker-canary-checker-embedded-persisted\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-persisted\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c93e7fbb-0345-451c-8b40-40281163c289\",\"config_id\":\"06735107-c530-4005-98f8-5b12bfd446ec\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.3-beta.89'\",\"created_at\":\"2026-03-10T07:56:22Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:56:53.267401Z\",\"name\":\"canary-checker-canary-checker-embedded-persisted\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-persisted\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6adb622c-18ed-4748-9644-25e3de0a8434\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container carts failed liveness probe, will be restarted\",\"created_at\":\"2026-03-10T07:53:45Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:26:23.166652Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4e883a3b-16eb-4d76-b9f7-24f4754b82c8\",\"config_id\":\"677a2689-6213-471e-859d-61761f3bf21e\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata\",\"created_at\":\"2026-03-10T07:53:05.074123Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:05.073976Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6bc-3722-a729-e200-8802062f1109\",\"config_id\":\"677a2689-6213-471e-859d-61761f3bf21e\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Terminating\",\"created_at\":\"2026-03-10T07:53:05.057865Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:05.057865Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"40a3ba86-d395-4c8b-8607-69a0c1fceb8f\",\"config_id\":\"677a2689-6213-471e-859d-61761f3bf21e\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Stopping container httpbin\",\"created_at\":\"2026-03-10T07:53:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:05.073976Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6bc-2b67-fdbd-8227-b1b9d7bdfdb6\",\"config_id\":\"677a2689-6213-471e-859d-61761f3bf21e\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T07:53:02.055406Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:02.055406Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8ff03eb4-86b4-4f25-9bd1-504848ac8622\",\"config_id\":\"677a2689-6213-471e-859d-61761f3bf21e\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"kennethreitz/httpbin:latest\\\" in 516ms (516ms including waiting). Image size: 214174220 bytes.\",\"created_at\":\"2026-03-10T07:53:00Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:32.201681Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c7e72a4a-7176-49b3-a8f3-13cdcd8e1f1a\",\"config_id\":\"677a2689-6213-471e-859d-61761f3bf21e\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container httpbin\",\"created_at\":\"2026-03-10T07:53:00Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:32.201681Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e2cf0e7d-8706-408b-abcf-0fcadd3bc05f\",\"config_id\":\"677a2689-6213-471e-859d-61761f3bf21e\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"kennethreitz/httpbin:latest\\\"\",\"created_at\":\"2026-03-10T07:53:00Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:32.201681Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"92a70b67-84e0-4b94-a5c1-8bb35b2f7417\",\"config_id\":\"677a2689-6213-471e-859d-61761f3bf21e\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/httpbin-x-test-x-mission-control-beta to vps-d1140a41\",\"created_at\":\"2026-03-10T07:52:59Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:32.201681Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fc519b3e-ac43-44bf-911b-9b729f214c7a\",\"config_id\":\"246c502b-4994-4387-97c7-36debd6d0fc1\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-10T07:52:50.880451Z\",\"count\":57,\"first_observed\":\"2026-03-09T12:53:23.347213Z\",\"name\":\"gcp-scraper-workload-non-prod-eu-01\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"50b1ab77-019e-4092-88d7-9df91ea85217\",\"config_id\":\"a992e329-e976-4e78-83a3-341b7fdbef76\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-10T07:52:50.878713Z\",\"count\":60,\"first_observed\":\"2026-03-09T12:38:53.202226Z\",\"name\":\"gcp-scraper-flanksource-prod\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cf151abc-f07e-4937-ae12-06c6748dfc6a\",\"config_id\":\"285d1e49-c4c4-4327-b810-00365a168e38\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T07:52:50.874304Z\",\"count\":92,\"first_observed\":\"2026-03-08T22:22:06.140028Z\",\"name\":\"kubernetes-vps-d1140a41\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"052f698e-caa8-49fb-8675-9b3e172d5bb8\",\"config_id\":\"3bf17645-f3bb-411d-825c-a472534eaefe\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-10T07:52:50.870918Z\",\"count\":61,\"first_observed\":\"2026-03-09T12:38:53.202226Z\",\"name\":\"gcp-scraper-workload-prod-eu-02\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ee2110b3-4b5e-4cc3-8207-11eccc7fddb8\",\"config_id\":\"36363232-3364-3363-6235-626231633064\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T07:52:02.062975Z\",\"count\":46,\"first_observed\":\"2026-03-09T12:38:19.378783Z\",\"name\":\"_Default\",\"type\":\"GCP::LogSink\",\"tags\":{\"project\":\"workload-non-prod-eu-01\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"efaafbe3-62bf-4ff9-a022-03de6d570daf\",\"config_id\":\"34373734-6339-3931-3766-333230343439\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T07:52:02.053612Z\",\"count\":46,\"first_observed\":\"2026-03-09T12:38:19.378783Z\",\"name\":\"_Required\",\"type\":\"GCP::LogSink\",\"tags\":{\"project\":\"workload-non-prod-eu-01\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4153af2c-6891-4240-857a-929b7ab2c02d\",\"config_id\":\"a93053c0-0540-427c-aa5c-80b1ce28a395\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:50:11.228397Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:50:11.228305Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"01438830-d72a-4115-bd4b-6aacbdf28617\",\"config_id\":\"a93053c0-0540-427c-aa5c-80b1ce28a395\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:50:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:50:05.372073Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f1ca0b8c-5092-49b4-8455-6872b6b4f7e7\",\"config_id\":\"a93053c0-0540-427c-aa5c-80b1ce28a395\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:50:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:50:05.372073Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6b9-02b9-1776-aa8a-6911aab38086\",\"config_id\":\"a93053c0-0540-427c-aa5c-80b1ce28a395\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:49:35.033018Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:49:35.033018Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"55b351b0-059f-45e2-91a9-0e4ba7f4154b\",\"config_id\":\"3cdbae61-ecb9-42cc-b0c6-e6dfabbcc199\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container image \\\"weaveworksdemos/queue-master:0.3.1\\\" already present on machine\",\"created_at\":\"2026-03-10T07:48:43Z\",\"count\":33,\"first_observed\":\"2026-03-09T09:02:00.76939Z\",\"name\":\"queue-master-559559984f-sdrct-x-sock-shop-x-mission--fddeffbe56\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"82d854f4-84c5-4789-8a33-8b7c02def618\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata\",\"created_at\":\"2026-03-10T07:47:59.289885Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:47:59.28961Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6b7-8ca7-8eb3-ddf1-59d1407efda9\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Terminating\",\"created_at\":\"2026-03-10T07:47:59.270881Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:47:59.270881Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"aa59f10a-43fa-4938-8fba-0a1d058ceeec\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Stopping container httpbin\",\"created_at\":\"2026-03-10T07:47:58Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:47:59.28961Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0494e543-c711-42b3-b059-2806f52772ab\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:47:56.125212Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:47:56.124645Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6b7-8046-6798-f87f-a2718d56b354\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T07:47:56.101812Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:47:56.101812Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ce6b068a-c4cb-4d48-8499-082db3607c41\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container httpbin\",\"created_at\":\"2026-03-10T07:47:55Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:47:56.124645Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b1292da1-0255-4cba-b561-6352e51ec70f\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"kennethreitz/httpbin:latest\\\" in 832ms (832ms including waiting). Image size: 214174220 bytes.\",\"created_at\":\"2026-03-10T07:47:54Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:47:56.124645Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"935f5902-5998-4899-950e-e48c183023d4\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"kennethreitz/httpbin:latest\\\"\",\"created_at\":\"2026-03-10T07:47:54Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:47:56.124645Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"14b62ff3-cf0b-4347-bd2b-2ae823a3f4bd\",\"config_id\":\"77e7d3c0-c446-4305-be14-727c21c41783\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/httpbin-x-test-x-mission-control-beta to vps-d1140a41\",\"created_at\":\"2026-03-10T07:47:53Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:48:26.115236Z\",\"name\":\"httpbin-x-test-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7e85abbe-a7ce-4e8a-bf4a-c5916c4c80f6\",\"config_id\":\"bb336262-eb7b-4450-9d1d-82235b93f10c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:45:11.214776Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:45:11.214622Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"eac6b0ea-0830-4c10-bafa-bafd596af175\",\"config_id\":\"bb336262-eb7b-4450-9d1d-82235b93f10c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:45:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:45:02.264462Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2ac2a6d8-d495-4deb-aaf7-5c43d555eb70\",\"config_id\":\"bb336262-eb7b-4450-9d1d-82235b93f10c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:45:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:45:02.264462Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6b4-6432-80d0-b780-b73794b31b0b\",\"config_id\":\"bb336262-eb7b-4450-9d1d-82235b93f10c\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:44:32.306006Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:44:32.306006Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9bf43d7c-3911-4674-918d-d2796d09fca4\",\"config_id\":\"6b5e5148-b83b-417f-a1fe-1e064a9c2a67\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:44:20.27308Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:40:53.082397Z\",\"name\":\"demo-env-mission-control-demo\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3800411c-8a73-4bbc-a42f-61c7b3e9b2c0\",\"config_id\":\"03bbcb57-86a0-4f24-bb30-5f0da03e18cc\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:43:53.277681Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:32.314664Z\",\"name\":\"canary-checker-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2a06ee49-1dba-4bc3-a229-e459ad21bbf0\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-10T07:43:53.143236Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:44.184407Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6b3-b3dd-9655-425a-c1f9aaecb494\",\"config_id\":\"1907e51d-8c20-45df-86ed-4149740abd8e\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T07:43:47.16463Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:43:47.16463Z\",\"name\":\"default-postgresql\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"771be198-162d-4d3d-9377-e36b9930370f\",\"config_id\":\"49078c87-d7ae-4edf-b667-f2222c29ebe7\",\"change_type\":\"NoPods\",\"severity\":\"low\",\"source\":\"controllermanager\",\"summary\":\"No matching pods found\",\"created_at\":\"2026-03-10T07:43:41Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:44:17.030749Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3f73f281-3830-4506-98c0-bb9d52df5269\",\"config_id\":\"1907e51d-8c20-45df-86ed-4149740abd8e\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'postgresql' chart with version '18.5.5'\",\"created_at\":\"2026-03-10T07:43:41Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:44:17.030749Z\",\"name\":\"default-postgresql\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6b3-846b-07a4-f885-d9c380ac96db\",\"config_id\":\"51dd4ba9-efec-49c6-a525-a3a6bed61095\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T07:43:35.019457Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:43:35.019457Z\",\"name\":\"canary-checker-vcluster-test-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"961fece1-2b53-4c7a-9519-b8db6f8987b2\",\"config_id\":\"51dd4ba9-efec-49c6-a525-a3a6bed61095\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.2'\",\"created_at\":\"2026-03-10T07:43:31Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:44:02.307701Z\",\"name\":\"canary-checker-vcluster-test-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e3466c1d-4da9-4051-8d45-718b188ae4bb\",\"config_id\":\"15014a4d-b817-4706-a3e4-e7e778aac725\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:43:23.263014Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:43:35.152378Z\",\"name\":\"mission-control-mission-control-playbooks-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"101992cb-02bb-4fdc-a2bc-4cdf8a938779\",\"config_id\":\"4c767e1a-d671-4f8e-962f-f3e150763569\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:42:53.206796Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:47.101045Z\",\"name\":\"mission-control-mission-control-playbooks-flux\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0d6c0889-9440-45f7-81eb-ae450580b8ab\",\"config_id\":\"cdeecdb1-d189-4158-9d21-ef196ada857d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:42:38.035487Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:42:38.280961Z\",\"name\":\"default-mission-control-argocd\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f7c6e9ad-0048-4c61-aa4b-083bdb212eb0\",\"config_id\":\"244ec7b2-585c-45c5-b25a-f922a9005123\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:40:59.237867Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:40:38.088562Z\",\"name\":\"mission-control-mission-control-playbooks-ai\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"96d26b10-e087-4c47-9e33-9c2d187e369d\",\"config_id\":\"fbd4d28a-2db4-42e2-a554-9e036864fe7e\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:40:11.015256Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:40:11.015104Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fba3ce17-0a7d-49b0-8668-351d0b1e5b8a\",\"config_id\":\"088ae9d7-a7b0-4eaf-bd68-db43768a42d5\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:40:08.145103Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:47.101045Z\",\"name\":\"default-mission-control-flux\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c79e8f64-a032-4f81-8d90-8df437b42880\",\"config_id\":\"fbd4d28a-2db4-42e2-a554-9e036864fe7e\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:40:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:39:53.249456Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"81b75ac2-65bc-4179-be08-128d649d1db0\",\"config_id\":\"fbd4d28a-2db4-42e2-a554-9e036864fe7e\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:40:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:39:53.249456Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"53589b05-2681-4655-a517-b4151cb949b1\",\"config_id\":\"4c62a73d-08a4-4c45-9838-5dbe98d157d5\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:39:53.2914Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:47.101045Z\",\"name\":\"mission-control-mission-control-watchtower\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f5798724-8d8f-4e1c-be08-885e467a3b82\",\"config_id\":\"95066c3d-5512-4a82-a407-fdc5354d6d64\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:39:38.19252Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:44:44.08363Z\",\"name\":\"demo-env-mission-control-aws\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"225955bb-58e1-465c-b4bb-6d5bd62db93b\",\"config_id\":\"68c0615d-b480-4ae1-9eb5-577e42652721\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:39:38.083511Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:47.101045Z\",\"name\":\"mission-control-mission-control-kubernetes-view\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"76cd8880-1ff3-4a74-a2b2-521ba5aa5fea\",\"config_id\":\"f74a2f21-4f78-4506-bdcd-3e005d4d35a3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-10T07:39:35.116091Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:40:02.240832Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6af-b7fc-4eb8-7460-c2ebc4e9b5d9\",\"config_id\":\"fbd4d28a-2db4-42e2-a554-9e036864fe7e\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:39:26.076034Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:39:26.076034Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a798dd14-663e-4b2d-a7e7-383384fcfee4\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T07:39:20.136897Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:39:20.136756Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d335e919-a3a9-4399-ab67-e03f79973720\",\"config_id\":\"0679e8ca-5edc-472c-b631-389b5f4f99bf\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-10T07:39:05.272234Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:32.314664Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"90ddc3e9-3df1-4ab6-a8dd-e5de1e21c0e6\",\"config_id\":\"b1c0cbf1-31fd-4bd9-b11c-5c3c14b6a1f6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:38:44.126933Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:47.101045Z\",\"name\":\"mission-control-mission-control-kubernetes-vps-d1140a41\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6b2c28f9-8ec1-498a-a59e-99f261ffae17\",\"config_id\":\"b770b55a-6334-44dd-827d-507d9dbda1bc\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:38:41.085759Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:43:05.314948Z\",\"name\":\"default-mission-control-prometheus\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d683f808-4918-480b-bc38-9b0baecf64cd\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T07:38:18.335751Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:38:18.425031Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1da07a67-259a-4a7f-986d-2abe7ec2b636\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-10T07:38:18.321996Z\",\"count\":14,\"first_observed\":\"2026-03-10T02:51:57.240453Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8cd864d9-1626-42f6-8ec3-1c27b99cca80\",\"config_id\":\"6a6fe1f7-b724-4da4-99e5-13b58aa36e4f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control-database\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c3b4f27f-6ff2-4a47-9e1f-1036005027ae\",\"config_id\":\"d41a077e-7610-479b-8d1f-4da66bcbf542\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f3119135-4970-47f9-a768-215500e868e6\",\"config_id\":\"ebbfaab0-b5fd-47c1-a28d-13b27cbeea55\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"aefa3360-30cc-4933-9d3e-28a791a398a7\",\"config_id\":\"57217e8d-48c7-42fd-9262-3ee2784543d6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control-dashboard\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9a2011e5-dced-4da3-8ac2-09dbadb26ba9\",\"config_id\":\"903822c6-72f6-4f30-b6c0-bd648bff6856\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"failing-health-checks\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e19c17a8-bbd1-4e2c-a09a-a2f0a52e8fd8\",\"config_id\":\"98bf42c8-5d2e-4628-bcdf-0b990ee89151\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"unhealthy-configs\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"31464ff0-d584-4414-860d-c9735d53a3d3\",\"config_id\":\"e8a350e5-8f01-4d70-aad4-2da2c8988437\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"recent-changes\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"644e7e56-efaa-4416-a5ed-d2b9455c46de\",\"config_id\":\"78971e6d-2ea4-4aeb-92fa-00014c430f77\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"jobhistory\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a656445f-033b-4f88-95ee-2fea64d47e1f\",\"config_id\":\"cbe6a8f1-3a21-4195-8d2f-c5888919daf8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"notification-send-history\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9d7a2b34-6d80-4530-bee5-dc8e0d6640f0\",\"config_id\":\"f8c7acfe-d813-4d1b-a89f-8f6d0ef35ae2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control-db\",\"type\":\"MissionControl::Connection\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a21eabad-4653-4dbf-b122-d33ebf959b40\",\"config_id\":\"06b5529b-7ae0-4f4e-ad02-947d4df6495d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels, subsets\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d6bf1af8-96a2-487c-bd86-cb060562fee3\",\"config_id\":\"7bc7f0d7-00c5-4dc1-afdb-950349c9f199\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control-kratos-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9a30ddcd-b8a0-4c80-b497-5763355174e0\",\"config_id\":\"8b261a43-ceb8-4da1-a50f-93433efe6130\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5aee43b0-24d5-4024-9561-0aa324e146d5\",\"config_id\":\"3dc4de30-b1c9-458a-a4a3-e1cc1b188851\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control-system\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cadbe1da-7201-4162-9185-c26e912b8fa5\",\"config_id\":\"91957868-6a24-4926-942a-6e70968498bb\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control-properties-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"94ec7050-5ede-478e-b5e1-5f71a01fd54b\",\"config_id\":\"bace5094-3bf7-4657-8fc8-efc981bcded4\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control-sa\",\"type\":\"Kubernetes::ServiceAccount\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"05125703-5880-425e-90bb-36b91ee56f01\",\"config_id\":\"b5335272-e1d1-4430-ab6f-acb62d3f402a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"56c493e0-95b9-4378-87c7-eeec4292a421\",\"config_id\":\"ffaf184c-05aa-4f2b-b602-418dab80e8e2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:18.284696Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"mission-control-pods\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"46a007d5-e6b0-4694-9fee-58a747286e8f\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user horizontal-pod-autoscaler, role system:controller:horizontal-pod-autoscaler\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3ed56a4a-8b87-4e88-be54-5ddcc2c38380\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpointslice-controller, role system:controller:endpointslice-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ef381825-48eb-4a2c-8e65-e5f4734fa3b3\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ephemeral-volume-controller, role system:controller:ephemeral-volume-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0809709a-349f-4ffc-8c5b-1e60631c269b\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6fd4a6c5-5b2b-4612-be8d-bd5fb6b440e1\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user node-controller, role system:controller:node-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2d9c7093-b529-4c69-81d4-851b8931ec39\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user persistent-volume-binder, role system:controller:persistent-volume-binder\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ce6a8260-5730-4526-b2bb-751b1c437ed5\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pod-garbage-collector, role system:controller:pod-garbage-collector\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b75062c5-fdc5-48ca-b374-35d24972aac1\",\"config_id\":\"aa3b6750-1989-4b2f-aa56-e693ee787664\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3fcea0d6-0193-4fa6-b0cb-999e1db5c16c\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e7e767c1-df2a-48f3-8c1f-415b8d8b7639\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replication-controller, role system:controller:replication-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2bf44af0-ce32-40cd-bb20-6c22f469f7ad\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user statefulset-controller, role system:controller:statefulset-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"00497888-10af-4079-b030-3d8f4798e7ec\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pvc-protection-controller, role system:controller:pvc-protection-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e863c876-9b9c-4192-b3bb-930a06386cc2\",\"config_id\":\"aa3b6750-1989-4b2f-aa56-e693ee787664\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c882f35a-e787-4db5-b425-9c57b7163fd7\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7abef823-ed81-47ce-a9d5-66540113c872\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user attachdetach-controller, role system:controller:attachdetach-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"81a6ad7e-ee2e-4b9d-8108-fb19ac115aaa\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"27f338b8-8917-4a16-bef5-5edac824a480\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:k3s-controller, role system:k3s-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8fa5b1c9-e6e3-40ce-8f26-1f5d77a59369\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user coredns, role system:coredns\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1592c6ab-b5e3-410d-ba0b-63cc58248e10\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user mission-control-sa, role mission-control-role\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"789d35ee-f6d8-4696-a331-7a6c02ba795b\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user canary-checker-sa, role canary-checker-role\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"44f49377-ee70-4ebf-acdc-d7391a6c8202\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user argocd-server, role argocd-server\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a47d7a30-3d2d-492a-8c49-5b15065e277e\",\"config_id\":\"aa3b6750-1989-4b2f-aa56-e693ee787664\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user disruption-controller, role system:controller:disruption-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4e66a091-cb6d-44a6-b662-d7c1e27b6d16\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"177cf876-92fe-4e5f-b943-25a1439f30e6\",\"config_id\":\"aa3b6750-1989-4b2f-aa56-e693ee787664\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8e723939-35ec-4967-bba7-d10a360a2693\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user daemon-set-controller, role system:controller:daemon-set-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2413577a-fd98-45a0-b169-d6db7c832f5d\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prom-adapter-prometheus-adapter, role prometheus-adapter-resource-reader\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0baaacba-dd35-4149-90f4-d3c10ca388b4\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpoint-controller, role system:controller:endpoint-controller\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"af58c509-b027-47e2-be33-f62891bea99c\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user test@example.com, role test-rbac-ldap\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5767a094-0d87-4eaf-80b9-7899d18bf034\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-operator, role kube-prometheus-stack-operator\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6898a0be-bf2a-478a-8587-78ee225a003b\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1e987d9c-c6cb-4348-9223-fd6e388a3239\",\"config_id\":\"aa3b6750-1989-4b2f-aa56-e693ee787664\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"76b84d95-7356-4740-a82f-e7891411c352\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-prometheus, role kube-prometheus-stack-prometheus\",\"created_at\":\"2026-03-10T07:38:12.971613Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:18.227594Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6ae-9613-1abf-3696-5edf8f93aa88\",\"config_id\":\"73d12fc1-8ed1-4031-a4f1-10b06697a797\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Healthy\",\"created_at\":\"2026-03-10T07:38:11.858739Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:11.858739Z\",\"name\":\"test-namespace-pod\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"test-foo-1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b2199c99-03f0-449b-af2c-1c43b987a573\",\"config_id\":\"4cae4565-9187-4ccf-9d82-244fc9ea83e1\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:38:11.447524Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:11.447267Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7eb76c17-2f3a-4d7e-a5c3-c5a629ef7760\",\"config_id\":\"eaaff2b6-7abb-4a97-9d0e-38ac84aafbb8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:38:02.187208Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:45:14.316128Z\",\"name\":\"mission-control-mission-control-beta\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9931fe79-b514-4ad7-8325-2a6105d9a44c\",\"config_id\":\"78394213-4d37-488c-a624-6f0cb2d104f3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:38:02.185388Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:38:08.469289Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b9656b70-d884-46df-984d-f1c35505958d\",\"config_id\":\"e22c529e-12e1-4888-a5a2-119cdd6ca14a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:38:02.177318Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:45:14.316128Z\",\"name\":\"mission-control-mission-control-aws\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"390f2bef-3c76-4bdd-98cd-6e533abeae8d\",\"config_id\":\"98d19886-ff7c-4936-b554-d7e47b65d22f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:38:02.170854Z\",\"count\":4,\"first_observed\":\"2026-03-10T06:40:38.264383Z\",\"name\":\"demo-env-mission-control-demo-mission-control-tenant-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d908d05f-96f2-421d-b7d6-e32c756fd69d\",\"config_id\":\"8444ebf2-1532-4340-a02e-c1241b5d6bf1\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:02.121773Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"487f96bf-2ee5-4efd-b981-f5555a9434f1\",\"config_id\":\"4c3447a2-277f-4e02-add2-2d10f707bc80\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:02.121773Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"mission-control-kratos-config-x-mission-control-x-mi-0704b0eefb\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fd01b2a0-62ce-4ffd-bc30-bae0073d517d\",\"config_id\":\"16dc13c5-3893-48bf-a592-624be914417c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:02.121773Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"mission-control-properties-config-x-mission-control--e3d9328de4\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"de8b4305-2f0a-4951-965a-99149a32647c\",\"config_id\":\"ec10a9ba-d2e8-4fe4-bf9f-eb778016a0a3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels, subsets\",\"created_at\":\"2026-03-10T07:38:02.121773Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b44438b6-7176-4cc8-a1f8-52a72e502b10\",\"config_id\":\"56e4e032-3eb8-4f34-a99f-0b0b307bae13\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:02.121773Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3dff03d2-e2a6-475e-a0c9-056ef5055f1c\",\"config_id\":\"435e2274-046f-4c25-a091-1d1abc908476\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:02.121773Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"87326af0-67d2-4219-8479-8280210216e9\",\"config_id\":\"f6e3f36f-2b5a-4aa2-b1cd-d7afd737785c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:38:02.121773Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6ae-65bf-0a19-d677-7058ec30200b\",\"config_id\":\"4cae4565-9187-4ccf-9d82-244fc9ea83e1\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:37:59.487223Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:37:59.487223Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"953ac158-00a2-4ce8-9921-cc86991c4bd9\",\"config_id\":\"34373734-6339-3931-3766-333230343439\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T07:37:56.941261Z\",\"count\":65,\"first_observed\":\"2026-03-09T12:53:01.796191Z\",\"name\":\"_Required\",\"type\":\"GCP::LogSink\",\"tags\":{\"project\":\"workload-non-prod-eu-01\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8341c375-3d21-4c23-9f9b-8010b6a9bb8b\",\"config_id\":\"36363232-3364-3363-6235-626231633064\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T07:37:56.936735Z\",\"count\":64,\"first_observed\":\"2026-03-09T12:53:01.796191Z\",\"name\":\"_Default\",\"type\":\"GCP::LogSink\",\"tags\":{\"project\":\"workload-non-prod-eu-01\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1bcc117f-30a2-4b98-b00d-85ec3a14af9a\",\"config_id\":\"4cae4565-9187-4ccf-9d82-244fc9ea83e1\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:37:54Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:38:08.395234Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"725cb066-38ee-4afe-a8f9-f83be6a17556\",\"config_id\":\"4cae4565-9187-4ccf-9d82-244fc9ea83e1\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:37:54Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:38:08.395234Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9795b5c5-7310-4a26-a472-bc7f361ef813\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pod-garbage-collector, role system:controller:pod-garbage-collector\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0bb02d5d-f152-490d-a394-e7bf179ef30b\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role mission-control-beta\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a99c2fb0-7dc8-452b-93e4-79736b06aa5b\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-demo, role vc-mission-control-demo-v-demo-env\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1be1c085-4ea0-4705-a542-8bc0b3ff9179\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user statefulset-controller, role system:controller:statefulset-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bb53978f-5ea8-4000-a773-a57920a96720\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user selinux-warning-controller, role system:controller:selinux-warning-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7585d442-a4a0-4e1d-8e17-1c9bfded105e\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replication-controller, role system:controller:replication-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a13726ed-a9fd-45b5-a14a-184811e23efe\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f360071c-6bc7-4e3f-90a5-fac5650597ee\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c223def8-8515-493f-9b85-fab174209cbc\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user node-controller, role system:controller:node-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0370c943-360d-4d32-9ad2-b290383ef79f\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user persistent-volume-binder, role system:controller:persistent-volume-binder\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0eb2333c-7c0d-4da8-825e-63b65e3a04d7\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pvc-protection-controller, role system:controller:pvc-protection-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b393fc85-2718-4cfa-8e21-dab685952283\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user k3s-cloud-controller-manager, role k3s-cloud-controller-manager\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8f4a65c2-433f-4213-8800-00a3f5236ac8\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user canary-checker-sa, role canary-checker-role\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dcdb43e7-7fd3-4112-b2f1-b74251670913\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cert-manager, role cert-manager-controller-challenges\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5550bdca-a7a6-4099-8b2b-da3e2f380b38\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user coredns, role system:coredns\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1436adf6-c13a-4383-9ecb-1c34de6d1691\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user nginx-ingress-nginx, role nginx-ingress-nginx\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c55535bf-2472-4ee5-8a2b-f7029fcb2be6\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user local-path-provisioner-service-account, role local-path-provisioner-role\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"952ca875-465e-4c98-a922-1e1d43498180\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user clickhouse-scraper-opentelemetry-collector, role clickhouse-scraper-opentelemetry-collector\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"79416d17-4938-486d-a10c-996ac6feeb20\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role vc-mission-control-beta-v-mission-control\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"09f0d513-4379-4654-94ed-c1dac5376d56\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-operator, role prometheus-kube-prometheus-operator\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d683a66b-ef23-40ce-bed9-a24aa085f25e\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-prometheus, role prometheus-kube-prometheus-prometheus\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1f62ceb1-90d3-4c61-b888-db4ab1a14ef4\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:k3s-controller, role system:k3s-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9a6e7918-f88d-4c3c-97cf-d99f66464f99\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7d662c61-9f2f-4555-be43-759a4b3552d8\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user metrics-server, role system:metrics-server\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"93617570-4420-4849-b72d-39a759671896\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ephemeral-volume-controller, role system:controller:ephemeral-volume-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dd75ca36-7a71-43c2-949f-4e7c16fa50f3\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user horizontal-pod-autoscaler, role system:controller:horizontal-pod-autoscaler\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"378dfd9d-63b3-4641-ae30-87fb62f03f56\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpointslice-controller, role system:controller:endpointslice-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"25deead3-aff3-491b-921e-ae60444a7dbc\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user attachdetach-controller, role system:controller:attachdetach-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9667cc45-e11e-4b49-8cd4-2d8dda04da3c\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"81f5575d-33b9-4019-b4c2-6a941fffd319\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user daemon-set-controller, role system:controller:daemon-set-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"86e69c7c-2c7c-4685-93ca-b38397ecca68\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2c4f8f45-e95e-4a8d-bcdb-0ebd14323f39\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpoint-controller, role system:controller:endpoint-controller\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"13bd327a-973f-4264-81c2-970a36499c5f\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-state-metrics, role prometheus-kube-state-metrics\",\"created_at\":\"2026-03-10T07:37:49.6625Z\",\"count\":0,\"first_observed\":\"2026-03-10T07:38:01.993924Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9e04f47c-38ce-4421-9c73-e56adfb07715\",\"config_id\":\"34373734-6339-3931-3766-333230343439\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T07:37:02.326854Z\",\"count\":56,\"first_observed\":\"2026-03-09T12:39:05.526981Z\",\"name\":\"_Required\",\"type\":\"GCP::LogSink\",\"tags\":{\"project\":\"workload-non-prod-eu-01\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c07d4961-c899-4b42-a1c2-052deb7d1304\",\"config_id\":\"36363232-3364-3363-6235-626231633064\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T07:37:02.316568Z\",\"count\":56,\"first_observed\":\"2026-03-09T12:39:05.526981Z\",\"name\":\"_Default\",\"type\":\"GCP::LogSink\",\"tags\":{\"project\":\"workload-non-prod-eu-01\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"04eb77fb-dcc7-4bd6-ba99-b54077918fd6\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:36:08.158066Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:36:08.157312Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6ac-b2a7-9a4b-ba01-edecc0985ccd\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T07:36:08.103075Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:36:08.103075Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2f3f7350-14ef-4172-ba28-d9421ac9b6c4\",\"config_id\":\"6e7b6ca2-65af-4919-8d16-7a4893c3ea11\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:35:50.229818Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:50.229621Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8b0d6817-2ec8-46b6-a153-75f720942dd3\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:35:47.232154Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.232044Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b6949102-0f7e-4e24-86b6-b32b79afa6ec\",\"config_id\":\"aa3b6750-1989-4b2f-aa56-e693ee787664\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:35:47.163402Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.163259Z\",\"name\":\"incident-manager-ui-fd5b6589\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d2832d38-ecd0-4c0d-ba10-2caba7a481af\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status, spec.replicas\",\"created_at\":\"2026-03-10T07:35:47.163402Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.163259Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bf4d4cde-7f51-4fa7-9065-02c583d105ed\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:35:47.163402Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.163259Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"af9e8021-20f6-4b70-afd6-484e91b1189f\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:35:47.163402Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.163259Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6ac-60bc-88b5-1e06-013c75043ee5\",\"config_id\":\"aa3b6750-1989-4b2f-aa56-e693ee787664\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: 1/1 ready\",\"created_at\":\"2026-03-10T07:35:47.132424Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.132424Z\",\"name\":\"incident-manager-ui-fd5b6589\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6ac-60b3-2c7b-b45a-5421efe6b8ab\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Scaled to Zero: 0/0 ready\",\"created_at\":\"2026-03-10T07:35:47.123083Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.123083Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6ac-60ab-c1d1-3904-76f12d725327\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T07:35:47.114729Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.114729Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b485c21c-f5e1-4d06-b48c-86e5e001aa6a\",\"config_id\":\"6e7b6ca2-65af-4919-8d16-7a4893c3ea11\",\"change_type\":\"UpgradeSucceeded\",\"severity\":\"low\",\"source\":\"helm-controller\",\"summary\":\"Helm upgrade succeeded for release mission-control/mission-control-mission-control-beta-mis-2df14a61ee72.v493 with chart mission-control@0.1.307-beta.83\",\"created_at\":\"2026-03-10T07:35:45Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.232044Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0ae89707-9f66-4d77-803b-26c1f584de31\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"ScalingReplicaSet\",\"severity\":\"info\",\"source\":\"deployment-controller\",\"summary\":\"Scaled down replica set incident-manager-ui-656686cd5d to 0 from 1\",\"created_at\":\"2026-03-10T07:35:44Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.163259Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b482ccd7-61d3-4c11-b214-f8d02c8468aa\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"replicaset-controller\",\"summary\":\"Deleted pod: incident-manager-ui-656686cd5d-n9pzf\",\"created_at\":\"2026-03-10T07:35:44Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:47.163259Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a2b69c0d-db45-4419-bb8b-89a8ef7b1568\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"docker.io/flanksource/incident-manager-ui:v1.4.203\\\" in 10.935s (10.935s including waiting). Image size: 175249389 bytes.\",\"created_at\":\"2026-03-10T07:35:43Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:44.015511Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0c40f403-55e8-4cd3-a5d2-aa29cf71f662\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container flanksource-ui\",\"created_at\":\"2026-03-10T07:35:43Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:44.015511Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"51d196b4-1c36-4eed-8bd9-ecfd4fe90cd4\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"docker.io/flanksource/incident-manager-ui:v1.4.203\\\" in 10.935s (10.935s including waiting). Image size: 175249389 bytes.\",\"created_at\":\"2026-03-10T07:35:43Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:44.199773Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c86edc00-d513-41af-b5dd-02399ec3fb36\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container flanksource-ui\",\"created_at\":\"2026-03-10T07:35:43Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:44.199773Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"eea4dae2-2e4e-4427-bcc0-602069eafa91\",\"config_id\":\"22cc2951-2a78-4ac1-9b91-4bf52953bf09\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:35:35.382053Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:40:53.082397Z\",\"name\":\"mission-control-mission-control-crds\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"11fe4c29-6172-40d1-ae33-a68c0c0379a3\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:35:35.370966Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:35.370729Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"110408b1-7049-46e7-8595-203a0408687e\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status, metadata.annotations.deployment.kubernetes.io/revision\",\"created_at\":\"2026-03-10T07:35:35.210959Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:35.210771Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"11fa2548-687e-4823-929e-cf389ad49203\",\"config_id\":\"aa3b6750-1989-4b2f-aa56-e693ee787664\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:35:35.210959Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:35.210771Z\",\"name\":\"incident-manager-ui-fd5b6589\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6a8d2d26-544d-4be0-b42b-1e3d7c224abe\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:35:35.210959Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:35.210771Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4b75b422-76e3-4300-8889-cef355fd59e6\",\"config_id\":\"b7b322aa-d7ef-4970-a87f-42fa807ef6ea\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-10T07:35:32.264476Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:40:53.082397Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cc4c61cc-4b41-48a2-a8d8-be6f7df5e94e\",\"config_id\":\"f92bacf0-ddee-48f9-888e-5759324fa970\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:35:32.258418Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:32.234513Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1a6f5cba-f41f-4e15-80a6-4e229dcbb076\",\"config_id\":\"57563887-394d-4e56-acfa-cf84a6676ed0\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T07:35:32.258418Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:32.234513Z\",\"name\":\"postgrest-mission-control\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4dcbf993-bd3c-4994-9d33-3201e362bb7a\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels, spec.template.spec.containers\",\"created_at\":\"2026-03-10T07:35:32.258418Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:32.234513Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"02a4aa6b-de34-4a45-9559-3e62c6bd6674\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"docker.io/flanksource/incident-manager-ui:v1.4.203\\\"\",\"created_at\":\"2026-03-10T07:35:32Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:35.370729Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3f273a52-a988-4542-806a-2d42ba6de931\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"docker.io/flanksource/incident-manager-ui:v1.4.203\\\"\",\"created_at\":\"2026-03-10T07:35:32Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:35.210771Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f475216a-e3e1-4e32-b304-0c910d2c7083\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"ScalingReplicaSet\",\"severity\":\"info\",\"source\":\"deployment-controller\",\"summary\":\"Scaled up replica set incident-manager-ui-fd5b6589 to 1\",\"created_at\":\"2026-03-10T07:35:31Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:32.234513Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a72cca8f-1442-445a-be1d-95fee26de10f\",\"config_id\":\"6c647804-5c5d-4c8a-80c1-abba1ac4c01d\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf to vps-d1140a41\",\"created_at\":\"2026-03-10T07:35:31Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:36:05.299672Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg-x-mission-control-8f88c0afcf\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7f6aa223-7497-4001-ac52-315d8eeefc72\",\"config_id\":\"6154ca06-2015-422f-9ce2-6a26d458ae4a\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/incident-manager-ui-fd5b6589-llspg to vps-d1140a41\",\"created_at\":\"2026-03-10T07:35:31Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:36:05.136868Z\",\"name\":\"incident-manager-ui-fd5b6589-llspg\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"602e9eba-9f45-41f6-ae31-b7e9f740ec0e\",\"config_id\":\"fbac0e19-1664-4805-ac9f-6186b0a66f3a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-10T07:35:29.295822Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:39:59.168368Z\",\"name\":\"mission-control-demo-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8a455414-46e8-4c15-b15a-05607dc8acb9\",\"config_id\":\"8f20060a-676c-47bf-bdbd-b8024e8e22d3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T07:35:29.29395Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:41:05.056647Z\",\"name\":\"demo-env-mission-control-demo-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}}]}\n" + }, + "redirectURL": "", + "headersSize": 254, + "bodySize": 12534, + "_transferSize": 12788, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:53.339Z", + "time": 743.7469999852106, + "timings": { + "blocked": 0.7819999926239252, + "dns": 0.001999999999999974, + "ssl": -1, + "connect": 0.238, + "send": 0.25699999999999995, + "wait": 741.736000006713, + "receive": 0.7319999858736992, + "_blocked_queueing": 0.5799999926239252, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847441", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 82150 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 15185 + }, + { + "functionName": "queryFn", + "scriptId": "441", + "url": "http://localhost:3000/_next/static/chunks/51306.d553cebb7db1f5b5.js", + "lineNumber": 0, + "columnNumber": 1581 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "setOptions", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 40535 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55524 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ] + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "POST", + "url": "http://localhost:3000/api/catalog/changes", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Content-Length", + "value": "128" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Origin", + "value": "http://localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=2&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4450, + "bodySize": 128, + "postData": { + "mimeType": "application/json", + "text": "{\"from\":\"now-2d\",\"to\":\"now\",\"page\":3,\"page_size\":200,\"sort_by\":\"-created_at\",\"recursive\":\"none\",\"include_deleted_configs\":false}" + } + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:56 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 107567, + "mimeType": "application/json", + "compression": 95766, + "text": "{\"summary\":{\"ChartPullSucceeded\":3,\"Completed\":4,\"Failed\":1,\"GitHubActionRunSuccess\":2,\"HealthUnknown\":3,\"Healthy\":20,\"Killing\":3,\"NewArtifact\":6,\"NoPods\":1,\"PermissionAdded\":65,\"Pulled\":3,\"Pulling\":4,\"SawCompletedJob\":2,\"Scheduled\":3,\"Started\":3,\"SuccessfulDelete\":2,\"Sync\":26,\"diff\":49},\"total\":2579,\"changes\":[{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ccd11cd3-ae11-47dc-a250-48b968fc35ab\",\"config_id\":\"b7b322aa-d7ef-4970-a87f-42fa807ef6ea\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.4MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T07:35:27Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:29.291252Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d0fbea13-79a3-4c8e-ad77-8506f803c706\",\"config_id\":\"c4cf68e5-8ea3-45fa-ad78-fd2b9b240401\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-10T07:35:23.231783Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:40:05.270321Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"909a8de6-9672-4d0d-af31-c40430335838\",\"config_id\":\"2b26cf41-15fb-49cb-9978-fec7b483634c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status\",\"created_at\":\"2026-03-10T07:35:23.218346Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:23.218204Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"28b10238-7faf-4f0a-90d3-424f2f211df8\",\"config_id\":\"fbac0e19-1664-4805-ac9f-6186b0a66f3a\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.4MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T07:35:23Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:26.205271Z\",\"name\":\"mission-control-demo-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"911872a4-bd79-4451-a131-90a44456cebb\",\"config_id\":\"2b26cf41-15fb-49cb-9978-fec7b483634c\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'mission-control' chart with version '0.1.307-beta.83'\",\"created_at\":\"2026-03-10T07:35:19Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:20.093413Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f2d12e79-43fb-47e6-906a-d769c9953edc\",\"config_id\":\"c4cf68e5-8ea3-45fa-ad78-fd2b9b240401\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.4MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T07:35:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:20.093413Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cab3b32f-7bc1-4f1f-875d-88f80d46de92\",\"config_id\":\"d31c78fc-5860-420d-8e59-b016e9fc1682\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:35:11.261645Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:35:11.261502Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6ab-75ee-1093-6f24-ea0fe2605675\",\"config_id\":\"d31c78fc-5860-420d-8e59-b016e9fc1682\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:34:47.0217Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:34:47.0217Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a860b1b6-8caf-4b1b-b769-247fdc1cf4a8\",\"config_id\":\"d31c78fc-5860-420d-8e59-b016e9fc1682\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:34:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:35:08.084537Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fd2a1282-52de-475d-87d9-15b44bfef9e9\",\"config_id\":\"d31c78fc-5860-420d-8e59-b016e9fc1682\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:34:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:35:08.084537Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"980476a1-1cab-4927-a424-2a1d0fdc5f98\",\"config_id\":\"f74a2f21-4f78-4506-bdcd-3e005d4d35a3\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.4MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T07:34:29Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:34:32.222221Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9eb97d30-33e8-40b8-88c4-257f55cedb08\",\"config_id\":\"0679e8ca-5edc-472c-b631-389b5f4f99bf\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.4MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T07:33:48Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:33:50.104622Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"317cc597-5cfd-42ed-8c33-e0d08628a900\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.4MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T07:33:30Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:43:50.012533Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6db34378-d41b-4e59-821b-3ab7ded9299c\",\"config_id\":\"fd61b61b-c004-4818-b6c4-f7021ea1a620\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:33:29.249546Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:33:29.249315Z\",\"name\":\"namespace-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"779920bc-ee28-43bd-b0d0-eab1647f0f92\",\"config_id\":\"64a1704b-906a-4a94-b5bf-859afccc9f60\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:33:11.109969Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:33:11.109803Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6a9-a187-0a51-b698-5ad004bcb644\",\"config_id\":\"64a1704b-906a-4a94-b5bf-859afccc9f60\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:32:47.110859Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:32:47.110859Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3cb05528-975b-4815-847f-ed7a3e051715\",\"config_id\":\"64a1704b-906a-4a94-b5bf-859afccc9f60\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:32:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:33:08.270826Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a25d01dc-385e-4561-9227-a1191d5d8283\",\"config_id\":\"64a1704b-906a-4a94-b5bf-859afccc9f60\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:32:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:33:08.270826Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ff48788e-db60-493f-9984-8ad7a154d2e3\",\"config_id\":\"36326234-6532-3333-6464-393438326232\",\"change_type\":\"GitHubActionRunSuccess\",\"severity\":\"success\",\"source\":\"flankbot\",\"summary\":\"chore: update flanksource-ui chart dependency to 1.4.203 (branch: main); duration: 4m49s\",\"created_at\":\"2026-03-10T07:28:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:53:30.871238Z\",\"name\":\"mission-control-chart/Create Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"15a98203-ad60-4797-ac06-e0e6238d1bdd\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-10T07:27:07.109256Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:27:07.10908Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bad751f1-039d-4128-865e-5a8ce2af9237\",\"config_id\":\"eed686e0-1830-49ea-af14-30fef12713b8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:25:11.278742Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:25:11.27858Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c16e3320-72bd-4d3e-9e51-1d4b0eb0043a\",\"config_id\":\"eed686e0-1830-49ea-af14-30fef12713b8\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:25:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:24:56.239485Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"654af6e7-04c5-419d-9c01-a2370ea3e61f\",\"config_id\":\"eed686e0-1830-49ea-af14-30fef12713b8\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:25:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:24:56.239485Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd6a2-087a-2aa9-599f-d7dbf297c37c\",\"config_id\":\"eed686e0-1830-49ea-af14-30fef12713b8\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:24:29.177837Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:24:29.177837Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7a39dafd-09e7-43c2-ba23-deb1c670b406\",\"config_id\":\"c8683f04-a203-4569-8b70-32a8f3561682\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:20:11.296828Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:20:11.296586Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0a3b1754-49ea-4f55-87b0-868f7271f66f\",\"config_id\":\"ea7d47ba-5af0-4f0f-b3ac-d4255b7b9642\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"metadata, status\",\"created_at\":\"2026-03-10T07:20:11.296828Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:20:11.296586Z\",\"name\":\"canary-check-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd69e-18c5-9f86-a5e8-a3ad3e7ae869\",\"config_id\":\"ea7d47ba-5af0-4f0f-b3ac-d4255b7b9642\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Terminating\",\"created_at\":\"2026-03-10T07:20:11.204516Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:20:11.204516Z\",\"name\":\"canary-check-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"32328df6-a4de-4467-b01d-21d8e4a93178\",\"config_id\":\"ea7d47ba-5af0-4f0f-b3ac-d4255b7b9642\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Stopping container hello\",\"created_at\":\"2026-03-10T07:20:08Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:20:11.296586Z\",\"name\":\"canary-check-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c35f6bb9-a7f4-498d-85b7-96a859b85aaf\",\"config_id\":\"c8683f04-a203-4569-8b70-32a8f3561682\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:20:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:20:02.278526Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dd7d2eb0-fe1e-48db-ae88-36c9db6435d9\",\"config_id\":\"c8683f04-a203-4569-8b70-32a8f3561682\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:20:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:20:02.278526Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd69d-8053-fbfb-efbd-beac8bd359a2\",\"config_id\":\"c8683f04-a203-4569-8b70-32a8f3561682\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:19:32.178701Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:19:32.178701Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd69d-74fd-aaa9-beaf-d292400ab584\",\"config_id\":\"ea7d47ba-5af0-4f0f-b3ac-d4255b7b9642\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T07:19:29.276984Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:19:29.276984Z\",\"name\":\"canary-check-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ea451d55-76e1-470e-94cd-8f7cafb76b5f\",\"config_id\":\"ea7d47ba-5af0-4f0f-b3ac-d4255b7b9642\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container hello\",\"created_at\":\"2026-03-10T07:19:28Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:20:02.278526Z\",\"name\":\"canary-check-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d7fd8b2f-f79e-4707-8c55-9eedb344d333\",\"config_id\":\"ea7d47ba-5af0-4f0f-b3ac-d4255b7b9642\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"quay.io/toni0/hello-webserver-golang:latest\\\" in 359ms (359ms including waiting). Image size: 6749549 bytes.\",\"created_at\":\"2026-03-10T07:19:28Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:20:02.278526Z\",\"name\":\"canary-check-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3e5c9a15-e2dd-4623-bee6-7f28c1b1d933\",\"config_id\":\"ea7d47ba-5af0-4f0f-b3ac-d4255b7b9642\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"quay.io/toni0/hello-webserver-golang:latest\\\"\",\"created_at\":\"2026-03-10T07:19:27Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:20:02.278526Z\",\"name\":\"canary-check-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"24df9c20-61da-47bc-ad58-54504c7adc41\",\"config_id\":\"ea7d47ba-5af0-4f0f-b3ac-d4255b7b9642\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned demo-env/canary-check-pod-x-test-foo-8-x-mission-control-demo to vps-d1140a41\",\"created_at\":\"2026-03-10T07:19:27Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:20:02.278526Z\",\"name\":\"canary-check-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4be7597c-90b8-47c9-ae63-6bece359ffb6\",\"config_id\":\"44195282-a61a-42ce-8661-9c6afb74d066\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:18:11.075464Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:18:11.075268Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd69b-f1d6-0970-3a9c-c552d8419e84\",\"config_id\":\"44195282-a61a-42ce-8661-9c6afb74d066\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:17:50.165543Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:17:50.165543Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b633a7a2-ff9c-4ee4-bcad-ce747e2676ea\",\"config_id\":\"44195282-a61a-42ce-8661-9c6afb74d066\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:17:45Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:18:08.070005Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b0fb8c5a-383a-4913-b895-2d5a6a7b8cb5\",\"config_id\":\"44195282-a61a-42ce-8661-9c6afb74d066\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:17:45Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:18:08.070005Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd698-c8ed-e780-c51a-70965d8e1206\",\"config_id\":\"3f7f0881-bd98-4b7f-b79c-80328c766068\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:14:23.084861Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:14:23.084861Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"153e078d-9c79-4784-a938-25eaf5d0aa3c\",\"config_id\":\"3f7f0881-bd98-4b7f-b79c-80328c766068\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:14:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:14:53.051856Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"89300d5a-54c9-4578-b35c-d90b0aa4b506\",\"config_id\":\"3f7f0881-bd98-4b7f-b79c-80328c766068\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:14:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:14:53.051856Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"acbfd4b4-ad68-4047-b1bf-bb3d011568be\",\"config_id\":\"35616161-3930-6134-3363-393835643134\",\"change_type\":\"GitHubActionRunSuccess\",\"severity\":\"success\",\"source\":\"moshloop\",\"summary\":\"perf(auth): make ory session check non-blocking (branch: main); duration: 16m10s\",\"created_at\":\"2026-03-10T07:11:55Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:23:26.737484Z\",\"name\":\"flanksource-ui/Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8c84e7e4-f8ce-453e-b57f-7313cafedf00\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata\",\"created_at\":\"2026-03-10T07:10:20.202048Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:20.201618Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2c7539e8-de21-4506-9750-413fa2945d0e\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"metadata, status\",\"created_at\":\"2026-03-10T07:10:17.221508Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:17.22114Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd695-087a-77d4-56e9-eb365d8b3715\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Terminating\",\"created_at\":\"2026-03-10T07:10:17.209606Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:17.209606Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"482929b4-16cc-478e-a623-b77c81d26bd4\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Stopping container hello\",\"created_at\":\"2026-03-10T07:10:16Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:17.22114Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"93f8c9ce-e757-4ae6-8de5-2a9ab8d1c4ef\",\"config_id\":\"2c92b2ff-2417-4c89-b56d-e816a76d36ac\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:10:11.143938Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:11.143771Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e4616b02-ddb7-4825-83bc-fc33dd8fa924\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:09:41.355468Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:09:41.355123Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd694-7c5e-9fdb-2c95-06f6819ae528\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T07:09:41.341751Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:09:41.341751Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd694-7c19-0c69-108b-9bdaf4949f89\",\"config_id\":\"2c92b2ff-2417-4c89-b56d-e816a76d36ac\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:09:41.27307Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:09:41.27307Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"58d21cea-ffba-49e8-ade8-f0de74d5ee45\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"quay.io/toni0/hello-webserver-golang:latest\\\"\",\"created_at\":\"2026-03-10T07:09:37Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:08.270401Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d678e1ca-d460-4889-bada-601dc8b2d320\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container hello\",\"created_at\":\"2026-03-10T07:09:37Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:08.270401Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7aca3090-1063-4867-ae91-9da8051b1353\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"quay.io/toni0/hello-webserver-golang:latest\\\" in 374ms (374ms including waiting). Image size: 6749549 bytes.\",\"created_at\":\"2026-03-10T07:09:37Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:08.270401Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"afbca450-8211-4e60-b56c-7bf6b82cc19e\",\"config_id\":\"2c92b2ff-2417-4c89-b56d-e816a76d36ac\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:09:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:08.270401Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f7cac6f7-b028-4008-9fb6-a5fd027f38d3\",\"config_id\":\"2c92b2ff-2417-4c89-b56d-e816a76d36ac\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:09:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:08.270401Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"20018809-4c39-4ee7-be84-9df62cd91613\",\"config_id\":\"6f401d69-6fac-415d-9730-0a5e289d1962\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned demo-env/canary-check-pod-x-test-foo-6-x-mission-control-demo to vps-d1140a41\",\"created_at\":\"2026-03-10T07:09:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:10:08.270401Z\",\"name\":\"canary-check-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c862000b-5ba0-4f7d-9e36-daa93aa75542\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:08:32.284751Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:32.28449Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a055ab29-1fe1-4389-8158-af850d872c7b\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata\",\"created_at\":\"2026-03-10T07:08:29.28283Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:29.282358Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd693-62d6-59be-e1cc-e05299ef9ec7\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Terminating\",\"created_at\":\"2026-03-10T07:08:29.270326Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:29.270326Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"62da8900-fa67-4a62-8db0-d38ed0fcb5bf\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Stopping container hello\",\"created_at\":\"2026-03-10T07:08:28Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:29.282358Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c9230107-a65d-4bab-8352-e11137d919c0\",\"config_id\":\"6554f154-c5d2-4fe2-891d-8b9adb5fa0ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T07:08:11.053082Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:11.052909Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c5fd2d6c-36fc-4ab3-becf-47005298b4f5\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T07:08:05.978329Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:05.977995Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd692-d64a-7ac7-7526-667c3443879d\",\"config_id\":\"6554f154-c5d2-4fe2-891d-8b9adb5fa0ad\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T07:07:53.289677Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:07:53.289677Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd692-cad4-03d5-e9ab-3af4442415e6\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T07:07:50.356316Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:07:50.356316Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ead8e8f4-1eb3-4107-b96b-fb425bc3a5fe\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container hello\",\"created_at\":\"2026-03-10T07:07:49Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:23.063739Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"18c22b8d-aa3c-4a88-b166-3ada187e63aa\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"quay.io/toni0/hello-webserver-golang:latest\\\" in 333ms (333ms including waiting). Image size: 6749549 bytes.\",\"created_at\":\"2026-03-10T07:07:49Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:23.063739Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"29edc372-9602-481d-a9c1-1b0acfc80a47\",\"config_id\":\"6554f154-c5d2-4fe2-891d-8b9adb5fa0ad\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:07:48Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:08:08.084806Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2ff855e3-ae5e-4862-9736-c75caebb8116\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"quay.io/toni0/hello-webserver-golang:latest\\\"\",\"created_at\":\"2026-03-10T07:07:48Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:20.290789Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b12345e9-4b17-4a0d-a6dd-86ddfd2a0311\",\"config_id\":\"ab4e70df-f2d0-464a-861f-d76dbfd71958\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/canary-check-pod-x-test-foo-5-x-mission-control-beta to vps-d1140a41\",\"created_at\":\"2026-03-10T07:07:48Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:08:20.290789Z\",\"name\":\"canary-check-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"887b51e3-6bc4-4454-8e13-259d6e401839\",\"config_id\":\"6554f154-c5d2-4fe2-891d-8b9adb5fa0ad\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:07:48Z\",\"count\":2,\"first_observed\":\"2026-03-10T07:08:08.084806Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"49ee495f-01de-4547-9ebf-e020bb3c3968\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T07:00:05.937161Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:00:05.936504Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c318475f-a4b2-45a5-b6d3-eb199d23da8f\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T07:00:05.937161Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:00:05.936504Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"aa9dcd86-2709-4231-a45f-c09688040c0c\",\"config_id\":\"2f0f1b7e-218a-41c1-8079-55bdd47de15c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:00:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:59:53.275207Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8be5db85-9771-40b9-9363-1fad5fad20ac\",\"config_id\":\"2f0f1b7e-218a-41c1-8079-55bdd47de15c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T07:00:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:59:53.275207Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dbec5148-7095-440c-b135-7e243a94c259\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29552040\",\"created_at\":\"2026-03-10T07:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:00:05.936504Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"84662905-8c16-4ab1-b9cd-fa223cc2107e\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29552100, status: Complete\",\"created_at\":\"2026-03-10T07:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:00:05.936504Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f52ebd98-8b88-4e07-b407-f338614b8d96\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29552040\",\"created_at\":\"2026-03-10T07:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:00:05.936504Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"00f0124a-e50f-4035-b673-5fee4f52e92e\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29552100, status: Failed\",\"created_at\":\"2026-03-10T07:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T07:00:05.936504Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd68b-1979-9a28-7ae6-4ce5bebe59cc\",\"config_id\":\"2f0f1b7e-218a-41c1-8079-55bdd47de15c\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:59:26.201225Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:59:26.201225Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ab2b9c8b-d995-431d-8921-14ff5cb89d9e\",\"config_id\":\"1154d96d-1c9b-4458-a64b-c296494b467f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:55:11.209678Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:55:11.209505Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd686-e398-0e92-052e-e2d00fcbb71e\",\"config_id\":\"1154d96d-1c9b-4458-a64b-c296494b467f\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:54:50.264447Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:54:50.264447Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f2433813-50a4-4caa-b931-666533dbc9e0\",\"config_id\":\"1154d96d-1c9b-4458-a64b-c296494b467f\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:54:45Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:55:08.019855Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3735653a-9213-4e98-930e-14c5a011f3aa\",\"config_id\":\"1154d96d-1c9b-4458-a64b-c296494b467f\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:54:45Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:55:08.019855Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd685-4eba-8c9a-5a97-107cdc09ed9f\",\"config_id\":\"66303062-6662-6231-3931-613764303238\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Success\",\"created_at\":\"2026-03-10T06:53:06.618378Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:53:06.618378Z\",\"name\":\"canary-checker/Create Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5e1d2bb1-fe6a-415e-8349-77b00c6969e3\",\"config_id\":\"ebbfaab0-b5fd-47c1-a28d-13b27cbeea55\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"822da8e3-b512-46ad-b28f-03d871046fae\",\"config_id\":\"e8a350e5-8f01-4d70-aad4-2da2c8988437\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"recent-changes\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d2265904-5c5e-4376-8c0f-bb1322a645f2\",\"config_id\":\"6a6fe1f7-b724-4da4-99e5-13b58aa36e4f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control-database\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3eb7ecf7-5d86-416e-bef8-3b7bc4258e7f\",\"config_id\":\"78971e6d-2ea4-4aeb-92fa-00014c430f77\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"jobhistory\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2754dabe-6264-4cec-a56e-d5f4a070f8d9\",\"config_id\":\"ffaf184c-05aa-4f2b-b602-418dab80e8e2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control-pods\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"00a67b7c-9309-4444-b29d-968783024820\",\"config_id\":\"bace5094-3bf7-4657-8fc8-efc981bcded4\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control-sa\",\"type\":\"Kubernetes::ServiceAccount\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"32afbbe1-d65c-41b3-9a0a-1389fba5c48d\",\"config_id\":\"c14a0f8b-7bf0-4476-803d-a9ef5355df95\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-sa\",\"type\":\"Kubernetes::ServiceAccount\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"437f56d5-265d-4b9f-98a7-74fba4e90cdc\",\"config_id\":\"7bc7f0d7-00c5-4dc1-afdb-950349c9f199\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control-kratos-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e8642656-7299-4cda-a4d7-67e88c5ef886\",\"config_id\":\"d41a077e-7610-479b-8d1f-4da66bcbf542\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fee3d571-97c9-4188-bb26-e7dd03d89bb9\",\"config_id\":\"903822c6-72f6-4f30-b6c0-bd648bff6856\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"failing-health-checks\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"16aebf79-d256-47cc-afa2-b46dd58571b6\",\"config_id\":\"3dc4de30-b1c9-458a-a4a3-e1cc1b188851\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control-system\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"23838488-63fb-4632-894c-13b6d7d3fae2\",\"config_id\":\"3e3d3890-a0d8-419b-8e91-5185b5a7bbaa\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"39731a89-06b7-4db2-9401-270b461af3bb\",\"config_id\":\"91957868-6a24-4926-942a-6e70968498bb\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control-properties-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5aa20f78-d3d3-4fe5-8e25-798c509cdbf2\",\"config_id\":\"1b34b12d-9826-4adc-aa91-8f7a498c8fc7\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"subsets, metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f48a4425-6403-4846-8d55-891e43024542\",\"config_id\":\"98bf42c8-5d2e-4628-bcdf-0b990ee89151\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"unhealthy-configs\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1be242c0-0e40-4ae5-8eea-27231300f5f1\",\"config_id\":\"57217e8d-48c7-42fd-9262-3ee2784543d6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control-dashboard\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ba712695-b105-4c62-b653-63fa9440dd4f\",\"config_id\":\"cbe6a8f1-3a21-4195-8d2f-c5888919daf8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"notification-send-history\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f92cfa2f-434b-4555-a41c-4d1c3d243727\",\"config_id\":\"73d7fca6-0fee-46df-928f-c0a24c09a973\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"80ebc349-2b07-4ecc-a0bc-237a8fe3db24\",\"config_id\":\"f8c7acfe-d813-4d1b-a89f-8f6d0ef35ae2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:58.088894Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"mission-control-db\",\"type\":\"MissionControl::Connection\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e56ff42e-6e9e-4399-be85-edc16de026b7\",\"config_id\":\"16dc13c5-3893-48bf-a592-624be914417c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:54.363023Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"mission-control-properties-config-x-mission-control--e3d9328de4\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ec37fbe0-8d65-4fcd-aadb-a404ddb9e99a\",\"config_id\":\"4c3447a2-277f-4e02-add2-2d10f707bc80\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:54.363023Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"mission-control-kratos-config-x-mission-control-x-mi-0704b0eefb\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6e6a3624-e2b6-497e-a9e5-703b6a79610b\",\"config_id\":\"56e4e032-3eb8-4f34-a99f-0b0b307bae13\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:54.363023Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"059a301e-6e65-4f79-9480-04180a595610\",\"config_id\":\"435e2274-046f-4c25-a091-1d1abc908476\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:54.363023Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b35fcbf5-428d-4e85-b2a0-88d9c3dd787a\",\"config_id\":\"6fde7854-233e-4732-9dbb-e02ff3b30721\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:54.363023Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2ae1a304-6be1-4489-a203-eecb40ef0124\",\"config_id\":\"94107470-11c9-48c4-a70c-13e72214f918\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"subsets, metadata.labels\",\"created_at\":\"2026-03-10T06:52:54.363023Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2116bd7d-3892-48b4-8942-55ea0b5a330c\",\"config_id\":\"b1b9a16a-ad82-42c8-912c-e4cd1b3ebff0\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:52:54.363023Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7ae7e051-d2f3-46f1-8b68-d95835eeeb50\",\"config_id\":\"c8a9f9da-b407-44b2-b894-1a5d57c34b4d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"65e23725-cfd8-4427-89b9-5dc229d3aa51\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a07342ab-0015-493d-bb5d-49b4f24df5c5\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-operator, role kube-prometheus-stack-operator\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"04872e62-0f4a-4b29-b236-723913209931\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user test@example.com, role test-rbac-ldap\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f7e9fe3b-efc3-4ff3-acf2-82efdae02f86\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prom-adapter-prometheus-adapter, role prometheus-adapter-resource-reader\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a95ad8e7-6034-41b7-9957-b2014be0798b\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-prometheus, role kube-prometheus-stack-prometheus\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9a97c44d-b274-4243-aaeb-40bb95bae342\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3e2b8dcc-896f-4bc5-a844-e0b5e784a7b0\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user daemon-set-controller, role system:controller:daemon-set-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5fc2c56f-8191-4171-a682-ad4716b357eb\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f9e76ee2-f72a-4d05-9dc9-ed3783d556b4\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user attachdetach-controller, role system:controller:attachdetach-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0e93fa1d-514b-4e66-bf11-d8451a066df5\",\"config_id\":\"c8a9f9da-b407-44b2-b894-1a5d57c34b4d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7323051f-bcce-4a72-8da5-4052ccd09d12\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpointslice-controller, role system:controller:endpointslice-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"86cb1c81-16c9-4e0b-a1b5-102ae5d99ab7\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user argocd-server, role argocd-server\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"90cd3582-945c-4cf5-a205-5670fc5e4a6a\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user canary-checker-sa, role canary-checker-role\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"419c6f03-e9f2-47df-be70-ebc5e5038652\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user mission-control-sa, role mission-control-role\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"68e14c56-5f3b-48fc-bf88-096d4f203326\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user coredns, role system:coredns\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4623b704-135d-4086-9ccf-d4f1aacd5a2d\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:k3s-controller, role system:k3s-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ce7ac3ff-7063-44e1-b5c3-74d247d4e530\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pvc-protection-controller, role system:controller:pvc-protection-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bb235eab-21d3-4359-87c4-04b6f0ff5da0\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user statefulset-controller, role system:controller:statefulset-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"03211909-dd95-42b4-9978-5db0af22fa24\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replication-controller, role system:controller:replication-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e31ea5c4-0591-461f-a064-81efc3c101f0\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f464db03-1d73-4135-8d78-b3f7844aad42\",\"config_id\":\"c8a9f9da-b407-44b2-b894-1a5d57c34b4d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"017dbac8-cd52-43f3-ac51-fc50eed34205\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pod-garbage-collector, role system:controller:pod-garbage-collector\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a9d6d277-bdcc-49b5-8475-1727fb6e8e3e\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user persistent-volume-binder, role system:controller:persistent-volume-binder\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"af2e9e99-a424-4633-9746-cd79302a8b9c\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user node-controller, role system:controller:node-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"75a7d454-3982-4234-8426-7bab69fde9f8\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9b0b1e68-9fb8-4f20-ae82-2aeba7b82b89\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user horizontal-pod-autoscaler, role system:controller:horizontal-pod-autoscaler\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"673b464b-baa8-46b4-bde0-f712ae960c04\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ephemeral-volume-controller, role system:controller:ephemeral-volume-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c1717473-0828-4d00-8567-e45ec351680a\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpoint-controller, role system:controller:endpoint-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"90c72718-67d5-42c6-ac59-b55918deacee\",\"config_id\":\"c8a9f9da-b407-44b2-b894-1a5d57c34b4d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user disruption-controller, role system:controller:disruption-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"69b08e9d-a4ff-43fd-b99a-e3e9cb25a9a9\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d3faf587-1fd7-44d9-89ab-240ebb896b84\",\"config_id\":\"c8a9f9da-b407-44b2-b894-1a5d57c34b4d\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T06:52:46.889553Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:58.08856Z\",\"name\":\"canary-checker-6cfdfcd9b7\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"143e0146-6294-402b-a059-e7e7a784411a\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user statefulset-controller, role system:controller:statefulset-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0752660e-702d-4e41-b7bb-8172d430ae02\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user horizontal-pod-autoscaler, role system:controller:horizontal-pod-autoscaler\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bffca304-f48e-43e4-b5b3-70f7ff1abb56\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7f55115d-3b64-4360-abe8-1c38fe970aa8\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user node-controller, role system:controller:node-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"427cfe40-5083-4b8d-928d-fdab3ee04cdc\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user persistent-volume-binder, role system:controller:persistent-volume-binder\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b6a7f124-61bf-4779-9c6e-8289600c43fe\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pod-garbage-collector, role system:controller:pod-garbage-collector\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"54d234da-f186-4c8b-bb10-4df888ded60e\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pvc-protection-controller, role system:controller:pvc-protection-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"267bb7e1-a6bb-4d14-a9e8-e17ed887c9ee\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"39abe837-99fa-4e12-a5f4-5954604b1d52\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replication-controller, role system:controller:replication-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b4362913-4628-4bf7-a8e0-d606812028d3\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user selinux-warning-controller, role system:controller:selinux-warning-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6462b35e-2b91-43f2-89d7-9097c4cb7f4e\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ephemeral-volume-controller, role system:controller:ephemeral-volume-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7a14da07-abda-4650-a7f3-d63bb1dc0ecd\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user coredns, role system:coredns\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8bb470bf-c140-4da1-b80b-ce0998c07417\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:k3s-controller, role system:k3s-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ba5d0167-5783-49c8-9bf2-2648fdeb2413\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"86e06c7e-afd9-4247-9276-58158b410523\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user metrics-server, role system:metrics-server\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c78c503e-d8b5-401f-b0b6-61607f790525\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role vc-mission-control-beta-v-mission-control\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c6cbc7b7-791d-4351-b8bc-39e8d8a41c50\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-demo, role vc-mission-control-demo-v-demo-env\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4314517c-e2fd-42fd-b75e-258170dac8db\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role mission-control-beta\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"242ed624-d4a7-471c-b199-0441a34a3481\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpointslice-controller, role system:controller:endpointslice-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"37cf55f2-cdfe-4836-8aa0-b0d29bc73979\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user nginx-ingress-nginx, role nginx-ingress-nginx\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2c7ecadc-acda-4986-b9a4-9228de7ee5df\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpoint-controller, role system:controller:endpoint-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1f999f34-a700-48db-86c7-3050e643cc90\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4b8f0abb-788e-4f7a-8714-cd0385512b8f\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user daemon-set-controller, role system:controller:daemon-set-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"62366f0f-3190-42ee-896f-20a1f302dcb3\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cbad075f-e24b-435c-9a00-8e4398dec618\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user attachdetach-controller, role system:controller:attachdetach-controller\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"57905ee1-85bd-4149-93ba-3c3125f0cfee\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-state-metrics, role prometheus-kube-state-metrics\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5a09e23b-8360-4b5d-8d2b-0030656d9730\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-prometheus, role prometheus-kube-prometheus-prometheus\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a13dacd6-d83c-42ff-939c-cbe35290e5e4\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-operator, role prometheus-kube-prometheus-operator\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6851da59-aa4f-4556-9344-e0b93302a7e0\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user local-path-provisioner-service-account, role local-path-provisioner-role\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0915fdcd-1a5c-4b44-9d16-0f5a492285b0\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user k3s-cloud-controller-manager, role k3s-cloud-controller-manager\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5d4211f3-dc75-40e3-8f68-46d3a8f895aa\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user clickhouse-scraper-opentelemetry-collector, role clickhouse-scraper-opentelemetry-collector\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"85848fca-5398-4a89-8805-f4d8177b292f\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cert-manager, role cert-manager-controller-challenges\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6b18a93a-0c9b-422d-9393-c9d244c6c6e6\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user canary-checker-sa, role canary-checker-role\",\"created_at\":\"2026-03-10T06:52:33.189076Z\",\"count\":0,\"first_observed\":\"2026-03-10T06:52:54.362582Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e744199a-5313-42c3-94a5-d2f488597947\",\"config_id\":\"04ab1867-41d6-472c-8a7d-88a279b7a8b0\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:50:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:49:56.100142Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8b5b55db-e5c8-48b4-bf89-a167da3fbe96\",\"config_id\":\"04ab1867-41d6-472c-8a7d-88a279b7a8b0\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:50:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:49:56.100142Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd681-f104-8649-1380-1816a6bc0606\",\"config_id\":\"04ab1867-41d6-472c-8a7d-88a279b7a8b0\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:49:26.020269Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:49:26.020269Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0fc645c9-ed82-4482-9f35-c3d957dad0d1\",\"config_id\":\"11ee5aef-b168-47b6-97cb-f6913a5ebd57\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:48:11.245848Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:48:11.245682Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"82fbbdd3-ba8e-49f0-bcbb-8a6de8c81bc7\",\"config_id\":\"11ee5aef-b168-47b6-97cb-f6913a5ebd57\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:48:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:48:05.18549Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f29661a5-ca8e-4e5b-8ecb-1bfd3ad7e2c7\",\"config_id\":\"11ee5aef-b168-47b6-97cb-f6913a5ebd57\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:48:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:48:05.18549Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd680-3ffb-4f19-5f50-d8b8d69865bb\",\"config_id\":\"11ee5aef-b168-47b6-97cb-f6913a5ebd57\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:47:35.162859Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:47:35.162859Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c4a37050-dd9b-45e6-963d-80fc79afa337\",\"config_id\":\"2b26cf41-15fb-49cb-9978-fec7b483634c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status, status.artifact\",\"created_at\":\"2026-03-10T06:45:14.316307Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:45:14.316128Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2966abb0-2efe-4ebf-9ae5-fb553f1818a6\",\"config_id\":\"3defe71a-9e86-41c9-930b-7f5c0f65c43a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:45:11.097697Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:45:11.097536Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"25057680-91f7-4882-8dcf-c5d16e416d27\",\"config_id\":\"3defe71a-9e86-41c9-930b-7f5c0f65c43a\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:45:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:45:02.169463Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6aba1e64-a7cf-4e63-9872-1341810ef5e5\",\"config_id\":\"3defe71a-9e86-41c9-930b-7f5c0f65c43a\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:45:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:45:02.169463Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd67d-816d-9a71-d664-6c802d413b2f\",\"config_id\":\"3defe71a-9e86-41c9-930b-7f5c0f65c43a\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:44:35.30908Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:44:35.30908Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c931bdd6-3c1a-4364-a1ca-1635c13ddc10\",\"config_id\":\"c97f0052-95ab-4e94-9d48-577300ea5f37\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:44:26.117918Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:44:26.117663Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ec40c5aa-139d-4317-afa5-abdfb2aaa038\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T06:44:11Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:33:59.294461Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a9112302-6001-4263-ac6b-7900d45971c5\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T06:44:11Z\",\"count\":3,\"first_observed\":\"2026-03-10T06:33:59.294461Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd67c-e922-c600-ace5-cc8b9427f405\",\"config_id\":\"d086bb1f-f94d-421d-8990-ded95f9d1b2a\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T06:43:56.321716Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:43:56.321716Z\",\"name\":\"default-postgresql\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7e245726-4412-4825-887e-bf4c4913d7df\",\"config_id\":\"c97f0052-95ab-4e94-9d48-577300ea5f37\",\"change_type\":\"NoPods\",\"severity\":\"low\",\"source\":\"controllermanager\",\"summary\":\"No matching pods found\",\"created_at\":\"2026-03-10T06:43:51Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:44:23.321414Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"992b6950-8831-4d51-b2f5-f39fb5bb3e67\",\"config_id\":\"d086bb1f-f94d-421d-8990-ded95f9d1b2a\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'postgresql' chart with version '18.5.5'\",\"created_at\":\"2026-03-10T06:43:50Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:44:23.321414Z\",\"name\":\"default-postgresql\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"56e10880-b436-46f3-bada-6ac83b071c95\",\"config_id\":\"fd61b61b-c004-4818-b6c4-f7021ea1a620\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:43:20.208423Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:43:20.208296Z\",\"name\":\"namespace-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"46a05824-5b7d-4d14-b569-a13a09f535c9\",\"config_id\":\"9b0d7d0a-4be3-47ba-9930-0afb1ae7dd4c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:43:11.368872Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:43:11.368697Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd67b-c393-14fa-7570-92c03cc41509\",\"config_id\":\"53827b37-2fc7-4d4e-b916-6282a831c662\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T06:42:41.170845Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:41.170845Z\",\"name\":\"canary-checker-vcluster-test-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd67b-b7c4-d1ee-3656-4e2b00d47bfe\",\"config_id\":\"9b0d7d0a-4be3-47ba-9930-0afb1ae7dd4c\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:42:38.14808Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:38.14808Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d6e99c6a-8320-4151-a28e-e8d0e57f986b\",\"config_id\":\"53827b37-2fc7-4d4e-b916-6282a831c662\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.2'\",\"created_at\":\"2026-03-10T06:42:37Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:43:08.268242Z\",\"name\":\"canary-checker-vcluster-test-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}}]}\n" + }, + "redirectURL": "", + "headersSize": 254, + "bodySize": 11801, + "_transferSize": 12055, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:55.273Z", + "time": 756.1939999931232, + "timings": { + "blocked": 0.7929999899156391, + "dns": 0.0030000000000000027, + "ssl": -1, + "connect": 0.232, + "send": 0.26299999999999996, + "wait": 753.9780000029281, + "receive": 0.9250000002793968, + "_blocked_queueing": 0.5719999899156392, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847455", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 82150 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 15185 + }, + { + "functionName": "queryFn", + "scriptId": "441", + "url": "http://localhost:3000/_next/static/chunks/51306.d553cebb7db1f5b5.js", + "lineNumber": 0, + "columnNumber": 1581 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "setOptions", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 40535 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55524 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ] + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "POST", + "url": "http://localhost:3000/api/catalog/changes", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Content-Length", + "value": "128" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Origin", + "value": "http://localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=3&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4450, + "bodySize": 128, + "postData": { + "mimeType": "application/json", + "text": "{\"from\":\"now-2d\",\"to\":\"now\",\"page\":4,\"page_size\":200,\"sort_by\":\"-created_at\",\"recursive\":\"none\",\"include_deleted_configs\":false}" + } + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:20:58 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 105147, + "mimeType": "application/json", + "compression": 92588, + "text": "{\"summary\":{\"CalculateExpectedPodCountFailed\":2,\"ChartPullSucceeded\":6,\"Completed\":3,\"GitHubActionRunSuccess\":1,\"HealthUnknown\":2,\"Healthy\":41,\"Killing\":2,\"NewArtifact\":4,\"NoPods\":1,\"Pulled\":3,\"Pulling\":3,\"SawCompletedJob\":4,\"ScalingReplicaSet\":2,\"Scheduled\":3,\"Started\":3,\"SuccessfulDelete\":5,\"Sync\":60,\"Unhealthy\":4,\"UpgradeSucceeded\":1,\"diff\":50},\"total\":2579,\"changes\":[{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3e628b05-94c6-4311-9d9a-8c1e23cd9444\",\"config_id\":\"6e7b6ca2-65af-4919-8d16-7a4893c3ea11\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:42:35.273157Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:35.272885Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"86e50510-f1d5-44d5-bdb2-f207aba509b3\",\"config_id\":\"affd23f8-673d-4216-8441-e69c51449d52\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:42:35.12227Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:35.120217Z\",\"name\":\"canary-checker-9cf995f86\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd67b-abe9-5217-b5a1-6f65bd3fe117\",\"config_id\":\"affd23f8-673d-4216-8441-e69c51449d52\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Scaled to Zero: 0/0 ready\",\"created_at\":\"2026-03-10T06:42:35.113103Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:35.113103Z\",\"name\":\"canary-checker-9cf995f86\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f0df622b-d34c-49bd-b3ba-46d992ed4371\",\"config_id\":\"9b0d7d0a-4be3-47ba-9930-0afb1ae7dd4c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:42:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:43:08.222551Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b9ddcec2-755d-4f71-9610-f36ffe73ad48\",\"config_id\":\"9b0d7d0a-4be3-47ba-9930-0afb1ae7dd4c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:42:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:43:08.222551Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e17eb2f3-412b-4a8e-acae-bf4050b8f82e\",\"config_id\":\"c8a9f9da-b407-44b2-b894-1a5d57c34b4d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:42:32.215887Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.215757Z\",\"name\":\"canary-checker-6cfdfcd9b7\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e61b9a18-8a5e-445b-b3db-c41574eb94e0\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:42:32.215887Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.215757Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"510a5919-63a2-4b9b-83ba-844544f74d53\",\"config_id\":\"affd23f8-673d-4216-8441-e69c51449d52\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"spec.replicas\",\"created_at\":\"2026-03-10T06:42:32.215887Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.215757Z\",\"name\":\"canary-checker-9cf995f86\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dc72608e-2be4-4275-86c4-70d3e4112fea\",\"config_id\":\"d649ddde-d8d7-42b5-b9f1-7d70d140c550\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:42:32.215887Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.215757Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8c765f1e-613c-4069-9af1-dd9dc4eee1bc\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:42:32.208977Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.208728Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd67b-a08a-b985-6348-7dbae8201a0b\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T06:42:32.201807Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.201807Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd67b-a070-c438-b7d6-05f6d53d6f18\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T06:42:32.176228Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.176228Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd67b-a06a-f3ce-ea2d-005ec7be9297\",\"config_id\":\"c8a9f9da-b407-44b2-b894-1a5d57c34b4d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: 1/1 ready\",\"created_at\":\"2026-03-10T06:42:32.169955Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.169955Z\",\"name\":\"canary-checker-6cfdfcd9b7\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9edfbeee-971e-40a1-9314-7c1060e895dd\",\"config_id\":\"6e7b6ca2-65af-4919-8d16-7a4893c3ea11\",\"change_type\":\"UpgradeSucceeded\",\"severity\":\"low\",\"source\":\"helm-controller\",\"summary\":\"Helm upgrade succeeded for release mission-control/mission-control-mission-control-beta-mis-2df14a61ee72.v492 with chart mission-control@0.1.307-beta.82\",\"created_at\":\"2026-03-10T06:42:30Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.208728Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"99be6dd0-2148-4975-93d1-8ee3be5dd737\",\"config_id\":\"affd23f8-673d-4216-8441-e69c51449d52\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"replicaset-controller\",\"summary\":\"Deleted pod: canary-checker-9cf995f86-dc72n\",\"created_at\":\"2026-03-10T06:42:29Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.215757Z\",\"name\":\"canary-checker-9cf995f86\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"116d736c-c7a0-4606-a703-239e228ce88a\",\"config_id\":\"d649ddde-d8d7-42b5-b9f1-7d70d140c550\",\"change_type\":\"ScalingReplicaSet\",\"severity\":\"info\",\"source\":\"deployment-controller\",\"summary\":\"Scaled down replica set canary-checker-9cf995f86 to 0 from 1\",\"created_at\":\"2026-03-10T06:42:29Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:32.215757Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"19f006b2-8822-4efe-85d1-cece25d13a86\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"docker.io/flanksource/canary-checker:v1.1.3-beta.89-full\\\" in 8.504s (8.504s including waiting). Image size: 1441624056 bytes.\",\"created_at\":\"2026-03-10T06:42:28Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:29.097367Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0ea16f66-35ec-4441-8559-36f5866ebea0\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"docker.io/flanksource/canary-checker:v1.1.3-beta.89-full\\\" in 8.504s (8.504s including waiting). Image size: 1441624056 bytes.\",\"created_at\":\"2026-03-10T06:42:28Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:29.255235Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9d1cdfca-88d4-406d-a3b4-c748ab3ba5a8\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container canary-checker\",\"created_at\":\"2026-03-10T06:42:28Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:29.255235Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e5e7d773-d610-4c32-81f3-25f614030913\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container canary-checker\",\"created_at\":\"2026-03-10T06:42:28Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:29.097367Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"933e687f-f018-4504-96ce-e9126181129d\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:42:23.039624Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:23.039508Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f494f555-6c1c-427b-b33b-262913a4911f\",\"config_id\":\"57563887-394d-4e56-acfa-cf84a6676ed0\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:42:20.065811Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:20.06571Z\",\"name\":\"postgrest-mission-control\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bdf4be1d-570e-4459-b46c-5e86bea31845\",\"config_id\":\"d649ddde-d8d7-42b5-b9f1-7d70d140c550\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status, metadata.labels, metadata.annotations.deployment.kubernetes.io/revision, spec.template.spec.containers\",\"created_at\":\"2026-03-10T06:42:20.065811Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:20.06571Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"98356ac6-7968-43cf-acb7-b99d882e8fa6\",\"config_id\":\"f92bacf0-ddee-48f9-888e-5759324fa970\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-10T06:42:20.065811Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:20.06571Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3d1dbe26-f4fc-43f2-acc3-7b53b6e4a03e\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"docker.io/flanksource/canary-checker:v1.1.3-beta.89-full\\\"\",\"created_at\":\"2026-03-10T06:42:20Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:23.165676Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"11ac8f9a-ee2c-450b-9398-eb10e77c63a4\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"docker.io/flanksource/canary-checker:v1.1.3-beta.89-full\\\"\",\"created_at\":\"2026-03-10T06:42:20Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:23.039508Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f9fa5ee0-b931-4ed7-af3d-a91b13a21e48\",\"config_id\":\"6a4a0072-220a-4798-8464-5d6073c47b71\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b to vps-d1140a41\",\"created_at\":\"2026-03-10T06:42:19Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:53.153951Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp-x-mission-control-x--f890709f9b\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c742ef1b-e84d-448d-bd15-66720c7ca0ad\",\"config_id\":\"f71f8c98-3fa8-484a-a55a-fba069291834\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/canary-checker-6cfdfcd9b7-qnltp to vps-d1140a41\",\"created_at\":\"2026-03-10T06:42:19Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:50.206603Z\",\"name\":\"canary-checker-6cfdfcd9b7-qnltp\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5823a98c-4059-4f13-9788-7b739fdcd296\",\"config_id\":\"d649ddde-d8d7-42b5-b9f1-7d70d140c550\",\"change_type\":\"ScalingReplicaSet\",\"severity\":\"info\",\"source\":\"deployment-controller\",\"summary\":\"Scaled up replica set canary-checker-6cfdfcd9b7 to 1\",\"created_at\":\"2026-03-10T06:42:19Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:42:20.06571Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3fc0b51c-b6b4-479b-a71e-eba50924f385\",\"config_id\":\"b7b322aa-d7ef-4970-a87f-42fa807ef6ea\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.39MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T06:40:48Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:40:50.197734Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cc6cf1e6-216f-4b9b-bb22-b69605efd62f\",\"config_id\":\"2b26cf41-15fb-49cb-9978-fec7b483634c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-10T06:40:08.29449Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:40:08.294275Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7715b33a-9a55-42e6-b1f6-44023b6915ac\",\"config_id\":\"f74a2f21-4f78-4506-bdcd-3e005d4d35a3\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.39MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T06:39:57Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:39:59.168368Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"31037654-bdc0-472f-9e8b-1410b5d0b8f4\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.39MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T06:38:40Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:38:41.195959Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fad93df1-98fd-406a-850b-e46db3bfd487\",\"config_id\":\"74f3fa16-48f2-44aa-a6d1-70685de3f994\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"http://10.244.0.72:80/health\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-10T06:38:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:38:35.243482Z\",\"name\":\"catalogue-85fbb5f6d4-n7fxr-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c0c5a366-a1b1-4f65-82a3-30047e7bdbda\",\"config_id\":\"0679e8ca-5edc-472c-b631-389b5f4f99bf\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.39MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-10T06:38:26Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:38:29.172883Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d7d410ae-3777-4633-a577-bd17703924d9\",\"config_id\":\"092a3a15-2b0d-4080-9b06-1a0bb68000c9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:37:11.118256Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:37:11.118049Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ce22b1e2-ddd6-4455-a9c0-3013c0e050e3\",\"config_id\":\"092a3a15-2b0d-4080-9b06-1a0bb68000c9\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:37:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:36:56.482549Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c13813f7-cec9-44e0-80ca-3168a4d55d27\",\"config_id\":\"092a3a15-2b0d-4080-9b06-1a0bb68000c9\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:37:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:36:56.482549Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd676-0a3e-6f9d-8626-63d801a42c7b\",\"config_id\":\"092a3a15-2b0d-4080-9b06-1a0bb68000c9\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:36:26.045945Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:36:26.045945Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ef42264c-da67-4de3-bada-924a300faea5\",\"config_id\":\"36326234-6532-3333-6464-393438326232\",\"change_type\":\"GitHubActionRunSuccess\",\"severity\":\"success\",\"source\":\"flankbot\",\"summary\":\"chore: update canary-checker chart dependency to 1.1.3-beta.89 (branch: main); duration: 4m11s\",\"created_at\":\"2026-03-10T06:35:24Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:53:06.65763Z\",\"name\":\"mission-control-chart/Create Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"10b0c660-f803-4328-9ccc-8316ee7e6539\",\"config_id\":\"e7b89b9f-b216-449e-a0df-f8ead4676309\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:35:11.248349Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:35:11.248049Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd674-710a-93f0-1d13-22b94f6e30a7\",\"config_id\":\"e7b89b9f-b216-449e-a0df-f8ead4676309\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:34:41.28991Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:34:41.28991Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"20fe8822-83f3-46f7-b64f-52586ba19e3d\",\"config_id\":\"e7b89b9f-b216-449e-a0df-f8ead4676309\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:34:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:35:08.21821Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9416d6d1-8b18-466f-b258-c1d644404b2d\",\"config_id\":\"e7b89b9f-b216-449e-a0df-f8ead4676309\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:34:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:35:08.21821Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f9c0f4f1-ee48-48b7-88ab-1eb3e6c3c11a\",\"config_id\":\"fd61b61b-c004-4818-b6c4-f7021ea1a620\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:32:14.093207Z\",\"count\":200,\"first_observed\":\"2026-03-03T09:31:58.327271Z\",\"name\":\"namespace-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"99291f2e-fcc7-4bf7-999b-0c3b53d6fccd\",\"config_id\":\"dc3b2e49-6cd2-4101-84a8-82a6ef1e59c6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:32:11.119844Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:32:11.119652Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a9485186-9d4b-4881-97f6-e8865af5d01b\",\"config_id\":\"dc3b2e49-6cd2-4101-84a8-82a6ef1e59c6\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:32:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:32:02.197076Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"18f8afa6-4f60-4474-871a-b2f2da988c6f\",\"config_id\":\"dc3b2e49-6cd2-4101-84a8-82a6ef1e59c6\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:32:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:32:02.197076Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd671-8e94-410c-99b9-9ba6a771426e\",\"config_id\":\"dc3b2e49-6cd2-4101-84a8-82a6ef1e59c6\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:31:32.244169Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:31:32.244169Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2a56f768-189c-480d-b2b0-566d7ee12917\",\"config_id\":\"8effb768-0388-4996-924d-4d428c1affea\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:30:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:29:53.177283Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"02adbda7-101f-4e33-950e-24609e2e2951\",\"config_id\":\"8effb768-0388-4996-924d-4d428c1affea\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:30:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:29:53.177283Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd66f-a1ce-be1c-3536-d7a8b8c63837\",\"config_id\":\"8effb768-0388-4996-924d-4d428c1affea\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:29:26.094349Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:29:26.094349Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7fac8399-2dcf-4b32-a7bb-05b2a46dd226\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-10T06:27:01.137394Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:27:01.137226Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b5b8b59a-e431-41aa-bb3b-1195e2d8b810\",\"config_id\":\"842e28f0-2919-439b-bab2-e83252c474eb\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:25:11.136802Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:25:11.136661Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd66b-601c-f35d-0ea1-b30ebf10e454\",\"config_id\":\"842e28f0-2919-439b-bab2-e83252c474eb\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:24:47.132318Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:24:47.132318Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"eb3d440b-eb51-42d1-926f-9010146e0f46\",\"config_id\":\"842e28f0-2919-439b-bab2-e83252c474eb\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:24:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:25:08.114813Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"28872a6d-7a96-4185-ab43-9e7e2b437709\",\"config_id\":\"842e28f0-2919-439b-bab2-e83252c474eb\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:24:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:25:08.114813Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c1c01d2d-bcd2-4831-9a42-f3edea0d68b7\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"etag\",\"created_at\":\"2026-03-10T06:23:06.966528Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:23:06.965372Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"db0e4ef0-0bdc-4edb-a268-465d522d50c6\",\"config_id\":\"323fcdea-baf6-4867-b69f-55804d448001\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:20:11.28317Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:20:11.283072Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e837c069-9220-471a-a245-6a7d17a8e7ed\",\"config_id\":\"323fcdea-baf6-4867-b69f-55804d448001\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:20:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:19:56.303098Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fd63795e-f9b8-4709-81c8-4df44dbf848d\",\"config_id\":\"323fcdea-baf6-4867-b69f-55804d448001\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:20:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:19:56.303098Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd666-8615-afe2-b25b-b2ce5db1aab2\",\"config_id\":\"323fcdea-baf6-4867-b69f-55804d448001\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:19:29.172738Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:19:29.172738Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b6247a4b-8821-4d48-b333-77345f602b0a\",\"config_id\":\"fd61b61b-c004-4818-b6c4-f7021ea1a620\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:17:02.241323Z\",\"count\":517,\"first_observed\":\"2026-02-20T08:43:22.239042Z\",\"name\":\"namespace-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd663-a437-8274-b49f-5318756bc7dd\",\"config_id\":\"2a35734a-51ff-4f0d-9953-fd51a1064e64\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:16:20.279252Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:16:20.279252Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c1d86dd5-7618-410d-a3f8-e120c050c2d2\",\"config_id\":\"2a35734a-51ff-4f0d-9953-fd51a1064e64\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:16:15Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:16:50.255946Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"de9a699f-7eb0-4e03-a52b-af026a0ff83f\",\"config_id\":\"2a35734a-51ff-4f0d-9953-fd51a1064e64\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:16:15Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:16:50.255946Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6eb15058-f2fa-41bf-9322-d177ecd5ae59\",\"config_id\":\"8812b286-dc29-4265-ba21-b08736a4770b\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:10:11.143824Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:10:11.143671Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd65d-a4d8-7f81-390e-0c37d75a5685\",\"config_id\":\"8812b286-dc29-4265-ba21-b08736a4770b\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:09:47.223924Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:09:47.223924Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d36d40c9-d684-48da-a9e2-854c04464e70\",\"config_id\":\"8812b286-dc29-4265-ba21-b08736a4770b\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:09:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:10:08.140787Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6739c7e8-0fd6-4541-9a70-4d5fcb04603c\",\"config_id\":\"8812b286-dc29-4265-ba21-b08736a4770b\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:09:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:10:08.140787Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e4edc782-455d-4261-81f4-71a6a383a4bc\",\"config_id\":\"fd61b61b-c004-4818-b6c4-f7021ea1a620\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:07:20.756908Z\",\"count\":50,\"first_observed\":\"2026-03-08T13:17:21.137679Z\",\"name\":\"namespace-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8ade7d8d-032c-442b-87b9-0d00ba590c43\",\"config_id\":\"30028edc-c90d-4656-94c5-070113cae7f0\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:07:12.133903Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:07:12.091831Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"99574c2a-959e-40b3-b5f7-4b04b172b779\",\"config_id\":\"30028edc-c90d-4656-94c5-070113cae7f0\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:07:05Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:07:08.469901Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd65b-1c8e-a8bc-f97c-2b61b60b1e1e\",\"config_id\":\"82de050f-2332-4bbe-91d0-d5a8dbf75180\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:07:01.261589Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:07:01.261589Z\",\"name\":\"test-namespace-pod\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"test-foo-5\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd65a-cd7d-ea3b-dfa6-08fa30ce9c5a\",\"config_id\":\"30028edc-c90d-4656-94c5-070113cae7f0\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:06:41.020964Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:06:41.020964Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"64c5ce9e-4f77-44b5-8535-d7d8696fa893\",\"config_id\":\"30028edc-c90d-4656-94c5-070113cae7f0\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:06:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:07:08.469901Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8162ab4d-0151-43ca-8728-d330ba7c37e9\",\"config_id\":\"2bfbf332-ffab-489c-b2f5-d0e730377bd8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:05:11.274663Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:05:11.274493Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dbd0a807-8f38-4961-b021-016f0443ff34\",\"config_id\":\"2bfbf332-ffab-489c-b2f5-d0e730377bd8\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:05:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:05:02.264885Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1b6ceb6f-9bb1-47ac-be22-9a61a092e808\",\"config_id\":\"2bfbf332-ffab-489c-b2f5-d0e730377bd8\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:05:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T06:05:02.264885Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd658-e1dc-7d70-8d1a-2834cc58b5f4\",\"config_id\":\"2bfbf332-ffab-489c-b2f5-d0e730377bd8\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T06:04:35.163566Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:04:35.163566Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4f0c5aaa-b1a8-47cd-86fc-048d9c74f3b3\",\"config_id\":\"1c30f841-8660-4bb9-8a38-67992f498a15\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T06:00:11.081522Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:00:11.081405Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"41bbc615-28f5-4be9-b131-13132cf3af64\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:00:05.309014Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:00:05.30882Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"87d6eb04-2e57-4321-afcf-6bcb14a6deab\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T06:00:05.309014Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:00:05.30882Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8ce331f5-c9c1-4e40-9c45-fffdbeb8531b\",\"config_id\":\"1c30f841-8660-4bb9-8a38-67992f498a15\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:00:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:59:59.306716Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a843716c-33af-47ef-b9d6-3dea5239c2ac\",\"config_id\":\"1c30f841-8660-4bb9-8a38-67992f498a15\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T06:00:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:59:59.306716Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"98fac460-67f0-4938-986f-448e80e4f609\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29552040, status: Complete\",\"created_at\":\"2026-03-10T06:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:00:05.30882Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"83eaee3c-66e3-422d-96ed-b1bca1f598e8\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551980\",\"created_at\":\"2026-03-10T06:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:00:05.30882Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2609983d-f4e5-43fa-b152-e2ff243e513d\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:00:02.14313Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:00:02.296184Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6a933830-9a96-4974-bb55-34cbbd8d8d93\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T06:00:02.136998Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:00:02.296184Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d6f19844-bfde-43a2-bd58-abe269409a7b\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551980\",\"created_at\":\"2026-03-10T06:00:02Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:00:05.30882Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5c3922e0-662a-4e1a-856c-4dbcce8a9a97\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29552040, status: Failed\",\"created_at\":\"2026-03-10T06:00:02Z\",\"count\":1,\"first_observed\":\"2026-03-10T06:00:05.30882Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd654-42a9-9edb-310b-87d56bc67bcf\",\"config_id\":\"1c30f841-8660-4bb9-8a38-67992f498a15\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:59:32.265236Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:59:32.265236Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd652-8522-b33e-e337-d5199f0c64aa\",\"config_id\":\"645de1de-ec76-4234-ad6b-f2124f7063b5\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T05:57:38.209533Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:57:38.209533Z\",\"name\":\"canary-checker-canary-checker-non-persisted\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-non-persisted\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"eb9e1cd0-c7fb-471a-90a5-3ee9b64825a6\",\"config_id\":\"645de1de-ec76-4234-ad6b-f2124f7063b5\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.3-beta.89'\",\"created_at\":\"2026-03-10T05:57:34Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:58:05.331288Z\",\"name\":\"canary-checker-canary-checker-non-persisted\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-non-persisted\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd652-6216-8208-d2db-6cd6b0578c6e\",\"config_id\":\"74d62d0e-3848-4411-9cd2-ba0470bb8e39\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T05:57:29.238054Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:57:29.238054Z\",\"name\":\"canary-checker-canary-checker-external-db\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-external\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd652-6216-d6b4-57f6-5b11017fd997\",\"config_id\":\"36c81fb3-e966-4708-98a1-feceb6d283c5\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T05:57:29.238054Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:57:29.238054Z\",\"name\":\"canary-checker-canary-checker-embedded-persisted\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-persisted\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"049299f2-5c07-4758-a2cf-1117b2f9710e\",\"config_id\":\"36c81fb3-e966-4708-98a1-feceb6d283c5\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.3-beta.89'\",\"created_at\":\"2026-03-10T05:57:25Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:57:59.238212Z\",\"name\":\"canary-checker-canary-checker-embedded-persisted\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-persisted\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"006e3f78-e775-401b-8353-7ee375a8f668\",\"config_id\":\"74d62d0e-3848-4411-9cd2-ba0470bb8e39\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.3-beta.89'\",\"created_at\":\"2026-03-10T05:57:25Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:57:59.238212Z\",\"name\":\"canary-checker-canary-checker-external-db\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-external\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd651-f8bf-5f7a-faab-9639f1eca797\",\"config_id\":\"f242c20d-4c6f-4b3e-a4c7-35bb20a16697\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T05:57:02.270791Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:57:02.270791Z\",\"name\":\"canary-checker-canary-checker-slim\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-slim\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8f98b149-861e-4e74-8c11-e9ebac320b8e\",\"config_id\":\"f242c20d-4c6f-4b3e-a4c7-35bb20a16697\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.3-beta.89'\",\"created_at\":\"2026-03-10T05:56:58Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:57:29.28926Z\",\"name\":\"canary-checker-canary-checker-slim\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker-slim\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e96c9cf5-dae0-4c83-88cd-c980d9739497\",\"config_id\":\"ba67903c-0f6a-42f5-931d-f682a7c37596\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:55:11.213046Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:55:11.212929Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"adca4dd4-db1b-4e68-aed5-e2974672cc4d\",\"config_id\":\"ba67903c-0f6a-42f5-931d-f682a7c37596\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:55:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:55:05.190346Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1736f4ef-f96f-4907-ad2e-29f05c9f3827\",\"config_id\":\"ba67903c-0f6a-42f5-931d-f682a7c37596\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:55:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:55:05.190346Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd64f-ba93-c520-ee0e-2158784a836c\",\"config_id\":\"ba67903c-0f6a-42f5-931d-f682a7c37596\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:54:35.283097Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:54:35.283097Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd648-385a-e2a2-0295-b24ad02938c6\",\"config_id\":\"c82637c9-ea7d-4d35-9e90-25ab001a23fa\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:46:23.193916Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:46:23.193916Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4d72074b-ff41-4cda-a626-4d3b3567177d\",\"config_id\":\"c82637c9-ea7d-4d35-9e90-25ab001a23fa\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:46:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:46:53.207842Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f6f02599-d216-487b-a01d-aaa5dbd793f5\",\"config_id\":\"c82637c9-ea7d-4d35-9e90-25ab001a23fa\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:46:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:46:53.207842Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2a347e13-b204-4c2e-a14e-db7e1ce54315\",\"config_id\":\"42a9f38c-d547-4835-98a7-f6eedf5057fe\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:45:11.270066Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:45:11.269852Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd646-c19e-bd1d-a044-421bb258139c\",\"config_id\":\"42a9f38c-d547-4835-98a7-f6eedf5057fe\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:44:47.261737Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:44:47.261737Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cc8f9d51-c3e0-45c4-bcb6-0fb7b1e87742\",\"config_id\":\"42a9f38c-d547-4835-98a7-f6eedf5057fe\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:44:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:45:08.288251Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"562c3f83-4f33-44a6-ad05-08273d1a6cdd\",\"config_id\":\"42a9f38c-d547-4835-98a7-f6eedf5057fe\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:44:42Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:45:08.288251Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a5379bda-d8b7-42e6-aa4b-2819901de9b3\",\"config_id\":\"834984a5-7bad-40a2-9b65-98769cd86fdc\",\"change_type\":\"CalculateExpectedPodCountFailed\",\"severity\":\"medium\",\"source\":\"controllermanager\",\"summary\":\"Failed to calculate the number of expected pods: found no controllers for pod \\\"postgresql-0\\\"\",\"created_at\":\"2026-03-10T05:43:32Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:43:35.264391Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f12a77cb-a4fa-436f-b708-5a8be7ad8eaa\",\"config_id\":\"834984a5-7bad-40a2-9b65-98769cd86fdc\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T05:43:29.303368Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:43:29.303204Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd645-1bc5-1df9-fe04-b5d1339e14ab\",\"config_id\":\"5d4107df-800b-4856-972d-4ac0607fd132\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T05:42:59.268739Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:59.268739Z\",\"name\":\"default-postgresql\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ed22402f-6c3b-48ac-b085-5e595a5729b8\",\"config_id\":\"834984a5-7bad-40a2-9b65-98769cd86fdc\",\"change_type\":\"NoPods\",\"severity\":\"low\",\"source\":\"controllermanager\",\"summary\":\"No matching pods found\",\"created_at\":\"2026-03-10T05:42:54Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:43:26.328744Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e5d0786c-f25c-4053-a06e-7da0fdf54bf3\",\"config_id\":\"5d4107df-800b-4856-972d-4ac0607fd132\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'postgresql' chart with version '18.5.5'\",\"created_at\":\"2026-03-10T05:42:53Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:43:26.328744Z\",\"name\":\"default-postgresql\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd644-ecf1-e382-323b-ab850ba42c0d\",\"config_id\":\"bc63de9c-2842-4469-b426-0a2f68836030\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T05:42:47.281044Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:47.281044Z\",\"name\":\"canary-checker-vcluster-test-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a64acb14-bbec-4813-9ff6-8b34fe1d0deb\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T05:42:44.310407Z\",\"count\":3,\"first_observed\":\"2026-03-10T04:36:08.209011Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ca93f50e-40ed-41da-842b-6fbe49feb424\",\"config_id\":\"bc63de9c-2842-4469-b426-0a2f68836030\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.2'\",\"created_at\":\"2026-03-10T05:42:43Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:43:17.141682Z\",\"name\":\"canary-checker-vcluster-test-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"96f6226d-5c38-4e69-a1b4-26556774acb1\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container shipping failed liveness probe, will be restarted\",\"created_at\":\"2026-03-10T05:42:42Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:44.307164Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b7e3b7f9-b226-4f8d-b136-b238169a28d6\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T05:42:20.298924Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:20.298811Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0b58810d-e547-464c-b3f7-4e1f9da79598\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata\",\"created_at\":\"2026-03-10T05:42:17.221413Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:17.220654Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd644-7779-1444-369f-e39ad4dae78d\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Terminating\",\"created_at\":\"2026-03-10T05:42:17.209275Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:17.209275Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b083f036-b3d9-49cd-987e-424d9fc3270c\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Stopping container hello\",\"created_at\":\"2026-03-10T05:42:16Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:17.220654Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"20066148-ba39-40b8-beda-fa6da984483a\",\"config_id\":\"dd3aa551-2478-422b-8e37-6537c8ad188c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:42:11.035637Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:11.035347Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7bf60911-620c-43c7-b65e-b7782fb48649\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T05:41:41.38145Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:41:41.38128Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd643-eb79-5233-c7e6-f9a8e9e1ee22\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T05:41:41.368585Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:41:41.368585Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd643-eb30-fdcd-da89-0f1af4c97a84\",\"config_id\":\"dd3aa551-2478-422b-8e37-6537c8ad188c\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:41:41.296356Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:41:41.296356Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c97090aa-c109-42e5-9c45-aa5390a9c7a9\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"quay.io/toni0/hello-webserver-golang:latest\\\" in 333ms (333ms including waiting). Image size: 6749549 bytes.\",\"created_at\":\"2026-03-10T05:41:37Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:11.035347Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ae399ce6-41ac-4888-a113-3db76d77b2da\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"quay.io/toni0/hello-webserver-golang:latest\\\"\",\"created_at\":\"2026-03-10T05:41:37Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:11.035347Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"51981b56-2f85-420f-8937-c1edd669b2b0\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container hello\",\"created_at\":\"2026-03-10T05:41:37Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:11.035347Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"56b5e572-8c5a-4887-ad9d-5593ff3e9596\",\"config_id\":\"e9fd6eec-3343-40de-9942-479a1c9a3e5e\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned mission-control/canary-check-pod-x-test-foo-0-x-mission-control-beta to vps-d1140a41\",\"created_at\":\"2026-03-10T05:41:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:42:11.035347Z\",\"name\":\"canary-check-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"662f2182-a356-4d48-857b-730bc96b4ab2\",\"config_id\":\"dd3aa551-2478-422b-8e37-6537c8ad188c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:41:36Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:42:08.286789Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"074ede27-cecb-4d1d-af51-6603ea5d5f35\",\"config_id\":\"dd3aa551-2478-422b-8e37-6537c8ad188c\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:41:36Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:42:08.286789Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2be6505a-bda8-4797-a4c2-bc0c64fcf538\",\"config_id\":\"cd91b656-8ab4-4a1f-ac64-e956e648140e\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:40:11.208529Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:40:11.20838Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd642-15c1-e3bb-5898-c96bc9877b6a\",\"config_id\":\"cd91b656-8ab4-4a1f-ac64-e956e648140e\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:39:41.121041Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:39:41.121041Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"38427c55-9d48-4e11-bb87-f5368ea96ccc\",\"config_id\":\"cd91b656-8ab4-4a1f-ac64-e956e648140e\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:39:36Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:40:08.052928Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d95ba12d-c6ce-4ae0-a73c-e0302d14b267\",\"config_id\":\"cd91b656-8ab4-4a1f-ac64-e956e648140e\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:39:36Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:40:08.052928Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9628e5ae-5541-47b7-b990-76164a949cc2\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T05:38:16.94524Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:38:16.944826Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd63d-3c1e-4994-e2ff-6dc4efd7e922\",\"config_id\":\"2eb884d0-524c-4011-b7b9-3b37aa1af2e7\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:34:23.261887Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:34:23.261887Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c90e1f27-efb6-4d06-b626-370de37239db\",\"config_id\":\"2eb884d0-524c-4011-b7b9-3b37aa1af2e7\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:34:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:34:50.185506Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2fac21b4-6972-49c5-b038-57da43c97c30\",\"config_id\":\"2eb884d0-524c-4011-b7b9-3b37aa1af2e7\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:34:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:34:50.185506Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"610d9fd0-ff46-4dd2-903c-dc505368d7fa\",\"config_id\":\"e6736180-3d75-45e0-8ef4-1e7cfae9ae12\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:30:11.183373Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:30:11.183134Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6fcc312a-ba27-4e08-875d-df4432084ecd\",\"config_id\":\"e6736180-3d75-45e0-8ef4-1e7cfae9ae12\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:30:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:29:56.130861Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"37a7dd64-fa95-4b67-a0d2-e2fc6085e1aa\",\"config_id\":\"e6736180-3d75-45e0-8ef4-1e7cfae9ae12\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:30:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:29:56.130861Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd638-b537-ef14-d5ca-b0f57db2e2ae\",\"config_id\":\"e6736180-3d75-45e0-8ef4-1e7cfae9ae12\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:29:26.582555Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:29:26.582555Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d737066a-be1b-4505-8872-beac4c88f767\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-10T05:26:58.112145Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:26:58.111992Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd635-e826-6c1b-0bdd-a7c7e6cd6972\",\"config_id\":\"91c73b64-c85f-42a2-a5d0-6cdbec52d68b\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:26:23.013575Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:26:23.013575Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"50b6a558-d2a7-4c7f-a754-8d8fd9285df3\",\"config_id\":\"91c73b64-c85f-42a2-a5d0-6cdbec52d68b\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:26:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:26:53.272488Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"17be3f84-af01-460f-9a18-96b56f23c5f6\",\"config_id\":\"91c73b64-c85f-42a2-a5d0-6cdbec52d68b\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:26:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:26:53.272488Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"088e776b-b16a-4a38-b9bb-78f3467dee17\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T05:22:28.121422Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:08:00.188926Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd62f-8001-9c45-9270-420bca7f89f2\",\"config_id\":\"6f138e95-6977-4d49-97c0-d7e8d9412f6f\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:19:23.136747Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:19:23.136747Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b3d1df5d-67c1-44e7-bacd-3983b56d26d3\",\"config_id\":\"6f138e95-6977-4d49-97c0-d7e8d9412f6f\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:19:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:19:53.061365Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"93b5db44-58cb-40a4-8b2b-d4ea6576ecd5\",\"config_id\":\"6f138e95-6977-4d49-97c0-d7e8d9412f6f\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:19:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:19:53.061365Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"66008220-3fb7-4479-92f4-5aeb721645d9\",\"config_id\":\"e505f9ad-7d2d-4c60-80c4-5b046b5474b9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:17:11.090968Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:17:11.090748Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"beb028f9-8d71-43b1-9e72-76a5f65fcb53\",\"config_id\":\"e505f9ad-7d2d-4c60-80c4-5b046b5474b9\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:17:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:16:56.184048Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c5dd11a5-6af0-4ea7-8cac-a5e2a66fdbb3\",\"config_id\":\"e505f9ad-7d2d-4c60-80c4-5b046b5474b9\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:17:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:16:56.184048Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd62c-d890-bef8-db75-5ff576ae5521\",\"config_id\":\"e505f9ad-7d2d-4c60-80c4-5b046b5474b9\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:16:29.200406Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:16:29.200406Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"41814572-0b30-4ef8-b27c-96021c0d12f4\",\"config_id\":\"fe385e70-44bd-4245-949b-5a1908b63f1d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:15:11.211871Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:15:11.21157Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd62b-27e3-efac-c4f1-b7cafa4d58d9\",\"config_id\":\"fe385e70-44bd-4245-949b-5a1908b63f1d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:14:38.435472Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:14:38.435472Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"15132433-ed90-4189-abe8-69ff89dfa720\",\"config_id\":\"fe385e70-44bd-4245-949b-5a1908b63f1d\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:14:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:15:08.064257Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"73238b57-1b30-46bc-9d84-58b686d89b20\",\"config_id\":\"fe385e70-44bd-4245-949b-5a1908b63f1d\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:14:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:15:08.064257Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"47db8cab-023f-4b05-8aaf-39b9c6eafb40\",\"config_id\":\"4060f1c6-04aa-4bf0-9746-71102e93781e\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:10:11.043132Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:10:11.042938Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"638b851b-cffe-4894-adaa-e9b6ec000f24\",\"config_id\":\"4060f1c6-04aa-4bf0-9746-71102e93781e\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:10:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:10:02.248081Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c24f602a-c61c-40a3-a81b-734b0e5417b0\",\"config_id\":\"4060f1c6-04aa-4bf0-9746-71102e93781e\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:10:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T05:10:02.248081Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd626-8766-9942-8a58-1c630f9851d2\",\"config_id\":\"4060f1c6-04aa-4bf0-9746-71102e93781e\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:09:35.205546Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:09:35.205546Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6cad2f4e-2a1c-49da-941d-69e5457fe911\",\"config_id\":\"4412bd53-9ea7-4ab3-8a39-9f61f8177a3e\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T05:05:11.020315Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:05:11.02011Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd621-fee4-91a5-0abf-40a43bf0686f\",\"config_id\":\"4412bd53-9ea7-4ab3-8a39-9f61f8177a3e\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T05:04:38.116405Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:04:38.116405Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4a1f40bc-7eee-440e-9d97-c1254f7452d2\",\"config_id\":\"4412bd53-9ea7-4ab3-8a39-9f61f8177a3e\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:04:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:05:08.323654Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"00d75781-a085-4fd0-b7c9-173a43292f24\",\"config_id\":\"4412bd53-9ea7-4ab3-8a39-9f61f8177a3e\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T05:04:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:05:08.323654Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"925fc95d-598b-41c9-a029-6f2ba5fb7a6b\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T05:00:05.366197Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:00:05.365834Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dea8dd95-98be-4627-abb0-d762d74c2a0a\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T05:00:05.366197Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:00:05.365834Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9b6af13d-b510-4c8e-ad4e-122795a596f8\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551980, status: Complete\",\"created_at\":\"2026-03-10T05:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:00:05.365834Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8577fb2b-d95e-4bb2-afaa-dc84bda749ad\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551920\",\"created_at\":\"2026-03-10T05:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:00:05.365834Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ccb951d0-338c-47ce-b894-bad14e0aee46\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551920\",\"created_at\":\"2026-03-10T05:00:02Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:00:05.365834Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ce549b73-88b0-4866-8038-616395869604\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551980, status: Failed\",\"created_at\":\"2026-03-10T05:00:02Z\",\"count\":1,\"first_observed\":\"2026-03-10T05:00:05.365834Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c5cbcda3-41d3-47ca-9535-fcff5bcc9e26\",\"config_id\":\"03650529-75bf-4282-891b-cd1ea8b84a6b\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:57:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:56:56.150919Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9be345c8-3a94-4e97-aa80-9b4c03ff13df\",\"config_id\":\"03650529-75bf-4282-891b-cd1ea8b84a6b\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:57:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:56:56.150919Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd61a-7c9c-a913-c385-7bcc518f3622\",\"config_id\":\"03650529-75bf-4282-891b-cd1ea8b84a6b\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:56:26.012146Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:56:26.012146Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd618-9c31-c87b-f846-c5ff2db6a4c9\",\"config_id\":\"f5f8d848-72f9-46e5-8e75-1c310175be13\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:54:23.025453Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:54:23.025453Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"835ec992-aff9-4e7b-887d-4daf9cc78718\",\"config_id\":\"f5f8d848-72f9-46e5-8e75-1c310175be13\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:54:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:54:50.130063Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9bbc74bd-5933-4caa-ad9d-30563ef81b32\",\"config_id\":\"f5f8d848-72f9-46e5-8e75-1c310175be13\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:54:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:54:50.130063Z\",\"name\":\"test-namespace-pod-x-test-foo-9-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fd3d3e51-2629-4293-9d1e-bf925184d9f5\",\"config_id\":\"63cdf044-474b-4c12-89de-dc74763d317b\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T04:52:11.074086Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:52:11.073928Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dec79c4a-a87b-4e84-b60e-b55380b06cd7\",\"config_id\":\"63cdf044-474b-4c12-89de-dc74763d317b\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:52:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:52:06.03439Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bd8c59f4-548a-4f34-afec-d3233395296d\",\"config_id\":\"63cdf044-474b-4c12-89de-dc74763d317b\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:52:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:52:06.03439Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd616-7069-fc0b-c2dd-7ba8764103ad\",\"config_id\":\"84c87369-dbbe-4b30-9158-cdf38e388e36\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:52:00.745413Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:52:00.745413Z\",\"name\":\"test-namespace-pod\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"test-foo-0\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd616-0bee-69af-aaf9-a764941c7d56\",\"config_id\":\"63cdf044-474b-4c12-89de-dc74763d317b\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:51:35.022127Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:51:35.022127Z\",\"name\":\"test-namespace-pod-x-test-foo-0-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d959e22b-159d-4e11-9a84-282a6de6c65c\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.33:8443/readyz\\\": context deadline exceeded\",\"created_at\":\"2026-03-10T04:49:50Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:49:53.257526Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c8ce1192-281d-41e4-bfd4-c75400b29b50\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.33:8443/healthz\\\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-10T04:49:50Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:49:53.257526Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9e15e848-cfcd-4b83-90e3-b8c749d17ef0\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.33:8443/readyz\\\": net/http: request canceled (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-10T04:49:49Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:49:50.019281Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd614-08ce-d380-868f-c1c86112d6fd\",\"config_id\":\"38e30743-2481-4824-9a97-fb96bd2e0a12\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:49:23.150158Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:49:23.150158Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a705218c-c12c-4606-86cf-56e0431b4221\",\"config_id\":\"38e30743-2481-4824-9a97-fb96bd2e0a12\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:49:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:49:53.257526Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c12baa62-da93-41f7-93a2-725ae3c18d11\",\"config_id\":\"38e30743-2481-4824-9a97-fb96bd2e0a12\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:49:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:49:53.257526Z\",\"name\":\"test-namespace-pod-x-test-foo-8-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"31cb507c-fcd3-4171-a9a3-6847f0ea1290\",\"config_id\":\"ef4452b9-2cda-4da7-b57d-f7dcd1ce3d4d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T04:45:11.158381Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:45:11.158148Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3ae6a0b5-633d-4b52-8fe3-1bfe80b49a9c\",\"config_id\":\"ef4452b9-2cda-4da7-b57d-f7dcd1ce3d4d\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:45:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:45:05.295925Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a4887c2a-acb5-4282-9c75-152aa5efa764\",\"config_id\":\"ef4452b9-2cda-4da7-b57d-f7dcd1ce3d4d\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:45:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:45:05.295925Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd60f-b014-32e1-aa29-d7292c4d50fc\",\"config_id\":\"ef4452b9-2cda-4da7-b57d-f7dcd1ce3d4d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:44:38.291666Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:44:38.291666Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0c15c660-7e21-496e-87d3-8cd676d92848\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T04:44:17.222444Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:44:17.222292Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5b051e23-5c44-4e99-877d-6bde1e2f4ad0\",\"config_id\":\"f41007ee-47b7-486d-b076-7545d31e8a3f\",\"change_type\":\"CalculateExpectedPodCountFailed\",\"severity\":\"medium\",\"source\":\"controllermanager\",\"summary\":\"Failed to calculate the number of expected pods: found no controllers for pod \\\"postgresql-0\\\"\",\"created_at\":\"2026-03-10T04:42:27Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:42:29.084296Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a26256f1-b4d1-4641-bb91-a6953a8b1e24\",\"config_id\":\"f41007ee-47b7-486d-b076-7545d31e8a3f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T04:42:26.246497Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:42:26.24631Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}}]}\n" + }, + "redirectURL": "", + "headersSize": 254, + "bodySize": 12559, + "_transferSize": 12813, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:57.429Z", + "time": 620.8819999869875, + "timings": { + "blocked": 0.7279999562390149, + "dns": 0.0040000000000000036, + "ssl": -1, + "connect": 0.237, + "send": 0.26699999999999996, + "wait": 615.4090000151842, + "receive": 4.237000015564263, + "_blocked_queueing": 0.5369999562390149, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847469", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 82150 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 15185 + }, + { + "functionName": "queryFn", + "scriptId": "441", + "url": "http://localhost:3000/_next/static/chunks/51306.d553cebb7db1f5b5.js", + "lineNumber": 0, + "columnNumber": 1581 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "setOptions", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 40535 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55524 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ] + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "POST", + "url": "http://localhost:3000/api/catalog/changes", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Content-Length", + "value": "128" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Origin", + "value": "http://localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=4&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4450, + "bodySize": 128, + "postData": { + "mimeType": "application/json", + "text": "{\"from\":\"now-2d\",\"to\":\"now\",\"page\":5,\"page_size\":200,\"sort_by\":\"-created_at\",\"recursive\":\"none\",\"include_deleted_configs\":false}" + } + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:21:00 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 104161, + "mimeType": "application/json", + "compression": 91400, + "text": "{\"summary\":{\"ChartPullSucceeded\":2,\"Completed\":4,\"Failed\":8,\"HealthUnknown\":5,\"Healthy\":18,\"Killing\":7,\"NewArtifact\":2,\"NoPods\":1,\"NotificationSilenced\":1,\"OOMKilled\":3,\"Pulled\":1,\"Pulling\":9,\"SawCompletedJob\":14,\"Scheduled\":1,\"Started\":1,\"SuccessfulDelete\":14,\"Sync\":14,\"Unhealthy\":19,\"UpdatedLoadBalancer\":1,\"Warning\":1,\"diff\":74},\"total\":2579,\"changes\":[{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd60d-36af-4891-f70d-c7df1319dc86\",\"config_id\":\"8038f257-e933-4370-9eee-e38d056e2158\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T04:41:56.142788Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:41:56.142788Z\",\"name\":\"default-postgresql\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd60d-2aa3-ce7a-ce35-181303e58a49\",\"config_id\":\"bfecb106-2a16-4617-a9a5-840fe7767cc8\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ChartPullSucceeded\",\"created_at\":\"2026-03-10T04:41:53.058853Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:41:53.058853Z\",\"name\":\"canary-checker-vcluster-test-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"81f8b811-097c-4c6a-956c-d9e382e7f5df\",\"config_id\":\"f41007ee-47b7-486d-b076-7545d31e8a3f\",\"change_type\":\"NoPods\",\"severity\":\"low\",\"source\":\"controllermanager\",\"summary\":\"No matching pods found\",\"created_at\":\"2026-03-10T04:41:51Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:42:23.086376Z\",\"name\":\"postgresql\",\"type\":\"Kubernetes::PodDisruptionBudget\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"af9679d8-e3e0-4d15-bdc7-d509024e5ce4\",\"config_id\":\"8038f257-e933-4370-9eee-e38d056e2158\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'postgresql' chart with version '18.5.5'\",\"created_at\":\"2026-03-10T04:41:50Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:42:23.086376Z\",\"name\":\"default-postgresql\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7774ad10-9a5e-46b2-bf97-9ea4f32d71bd\",\"config_id\":\"bfecb106-2a16-4617-a9a5-840fe7767cc8\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'canary-checker' chart with version '1.1.2'\",\"created_at\":\"2026-03-10T04:41:49Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:42:23.086376Z\",\"name\":\"canary-checker-vcluster-test-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c127f54c-fe8e-4649-a3ee-cff5dfdd25b8\",\"config_id\":\"1b94154e-48a0-4526-a223-10277439f213\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T04:40:11.320778Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:40:11.320614Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e633c0a7-9270-437d-9af8-370fc105ab16\",\"config_id\":\"e1df5ff1-ff01-47c7-967c-d68b1cb3255a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T04:40:08.372157Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:40:08.371989Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd60b-918f-e046-1f8b-24704a167093\",\"config_id\":\"e1df5ff1-ff01-47c7-967c-d68b1cb3255a\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ReconciliationSucceeded: Applied revision: main@sha1:c0debc7839ebb24de107d52cb5ba1e03f2302fde\",\"created_at\":\"2026-03-10T04:40:08.334832Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:40:08.334832Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ed18b634-bd6b-4e0d-9dbd-c26a9d31070c\",\"config_id\":\"1b94154e-48a0-4526-a223-10277439f213\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:40:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:39:59.199Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b5211413-6fe9-4560-b64c-d38a07890fd7\",\"config_id\":\"1b94154e-48a0-4526-a223-10277439f213\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:40:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:39:59.199Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9dad01c5-0b92-4227-b71c-a888f348bbeb\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container shipping failed liveness probe, will be restarted\",\"created_at\":\"2026-03-10T04:39:36Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:25:29.136897Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd60b-03d7-b2d8-e7cf-3d2db4d367d8\",\"config_id\":\"1b94154e-48a0-4526-a223-10277439f213\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:39:32.055395Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:39:32.055395Z\",\"name\":\"test-namespace-pod-x-test-foo-6-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"60f7fdf5-7917-44a1-938b-b6de78660c31\",\"config_id\":\"cef51d33-c78f-4c6a-ab2d-0a19f7f5635c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T04:38:17.861693Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:38:17.861137Z\",\"name\":\"prometheus\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1c41526c-52c8-4f8b-994e-72a7044fc149\",\"config_id\":\"e1df5ff1-ff01-47c7-967c-d68b1cb3255a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T04:38:17.861693Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:38:17.861137Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd609-e167-8a45-f7fa-59080ac9a99a\",\"config_id\":\"e1df5ff1-ff01-47c7-967c-d68b1cb3255a\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Progressing\",\"created_at\":\"2026-03-10T04:38:17.703142Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:38:17.703142Z\",\"name\":\"canary-checker\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bd3fa275-7a1e-4bab-a3e5-dacf2e263638\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T04:37:15.425232Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:37:15.424948Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cb9f940a-4956-4878-844e-112b10798283\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T04:36:38Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:34:05.04668Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bef31a4f-a222-4de2-bc45-e728788b1fb0\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T04:36:38Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:34:05.04668Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd607-ff28-b6f2-d7fd-669fe3526fa3\",\"config_id\":\"77302094-9930-4c0c-9332-6a6421a5bbe3\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:36:14.247799Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:36:14.247799Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4ef76732-9cc7-4fab-96a5-8043f1eecc78\",\"config_id\":\"77302094-9930-4c0c-9332-6a6421a5bbe3\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:36:09Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:36:44.34093Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dcb33919-0eca-4d93-a641-bcfc4febf1b6\",\"config_id\":\"77302094-9930-4c0c-9332-6a6421a5bbe3\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:36:09Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:36:44.34093Z\",\"name\":\"test-namespace-pod-x-test-foo-7-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f6f5284a-3cc7-4e72-a9b6-1524bc1cc17c\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T04:34:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:34:05.252087Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"62fceed6-13ab-4b40-a66b-fb3a4db00753\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T04:34:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:34:05.252087Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ece83435-98c3-4d46-8f8a-5036bd57c287\",\"config_id\":\"33943fcd-1ff3-4bcf-a5c9-09b8484c673a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T04:30:11.41654Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:30:11.416438Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"da3c6c38-a6d2-41b1-8661-3eb1f23978d9\",\"config_id\":\"33943fcd-1ff3-4bcf-a5c9-09b8484c673a\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:30:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:30:05.237683Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5d691a29-edda-463f-9f82-84a36d65e461\",\"config_id\":\"33943fcd-1ff3-4bcf-a5c9-09b8484c673a\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:30:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:30:05.237683Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd601-e898-1215-759b-fa34e02e2951\",\"config_id\":\"33943fcd-1ff3-4bcf-a5c9-09b8484c673a\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:29:35.256261Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:29:35.256261Z\",\"name\":\"test-namespace-pod-x-test-foo-4-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7269e13e-726a-4c49-8124-2c04c808fc7e\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-10T04:26:49.086255Z\",\"count\":2,\"first_observed\":\"2026-03-10T03:26:58.126217Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd5fe-d789-5fe8-3a84-be197dbe6554\",\"config_id\":\"f0a39552-b552-4da3-8103-3dac3013e909\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:26:14.281231Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:26:14.281231Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4e5f76bb-8431-48ae-aef7-a8db889642a2\",\"config_id\":\"f0a39552-b552-4da3-8103-3dac3013e909\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:26:09Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:26:44.096636Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c9b4c053-f4a5-402b-a7b6-4f4ba26927f8\",\"config_id\":\"f0a39552-b552-4da3-8103-3dac3013e909\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:26:09Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:26:44.096636Z\",\"name\":\"test-namespace-pod-x-test-foo-5-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"450473c6-50ea-4500-911e-9f651b037b52\",\"config_id\":\"ba44a1f3-0197-45e7-9a6b-007aa8f980ba\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T04:25:11.117068Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:25:11.116881Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd5fd-6bc5-2f15-98ec-f7402aac2d90\",\"config_id\":\"ba44a1f3-0197-45e7-9a6b-007aa8f980ba\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:24:41.157229Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:24:41.157229Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d5e48b6d-f6e5-492a-8130-0dc610eab3a3\",\"config_id\":\"ba44a1f3-0197-45e7-9a6b-007aa8f980ba\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:24:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:25:08.19793Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"abfd0e75-e1f8-416d-9dcd-8f648af3a263\",\"config_id\":\"ba44a1f3-0197-45e7-9a6b-007aa8f980ba\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:24:36Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:25:08.19793Z\",\"name\":\"test-namespace-pod-x-test-foo-3-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd5fb-7783-433f-5e13-db5bb0591c44\",\"config_id\":\"bf199b30-03dd-481e-8e3b-507f4b9d34c7\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ReconciliationSucceeded: Applied revision: master@sha1:f4e08c5dbc7d126a8e3d1f5e7e1dba2ff4425d03\",\"created_at\":\"2026-03-10T04:22:33.091101Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:22:33.091101Z\",\"name\":\"canaries\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b540e096-8934-4c54-b1c9-9fbb5db60567\",\"config_id\":\"cef51d33-c78f-4c6a-ab2d-0a19f7f5635c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T04:22:08.898168Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:22:08.839418Z\",\"name\":\"prometheus\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b0e68d14-8199-4a9d-8c16-492f861becfe\",\"config_id\":\"d7df1ce8-ea0f-4b2e-8f14-40b91ea93574\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.loadBalancer.ingress\",\"created_at\":\"2026-03-10T04:20:11.130432Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:20:11.13028Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd5f8-cc35-7468-de6e-f16746751ac2\",\"config_id\":\"d7df1ce8-ea0f-4b2e-8f14-40b91ea93574\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:19:38.16481Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:19:38.16481Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d1c1204c-421e-4704-8ed2-8ea335031c9d\",\"config_id\":\"d7df1ce8-ea0f-4b2e-8f14-40b91ea93574\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:19:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:20:08.142486Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9f14a024-7e1c-443e-9f6b-d9a7f26b1b4e\",\"config_id\":\"d7df1ce8-ea0f-4b2e-8f14-40b91ea93574\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:19:33Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:20:08.142486Z\",\"name\":\"test-namespace-pod-x-test-foo-2-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d7dc405b-2f2a-49c6-8700-d3c379ade82d\",\"config_id\":\"0a7d9c47-177c-4fb6-8126-c78d7540e155\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:15:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:14:56.045839Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dfe0a20e-e6e2-4789-a21d-065822047ad1\",\"config_id\":\"0a7d9c47-177c-4fb6-8126-c78d7540e155\",\"change_type\":\"Sync\",\"severity\":\"info\",\"source\":\"nginx-ingress-controller\",\"summary\":\"Scheduled for sync\",\"created_at\":\"2026-03-10T04:15:05Z\",\"count\":2,\"first_observed\":\"2026-03-10T04:14:56.045839Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b0489b28-371b-49e4-9b1a-b6326c6ed71a\",\"config_id\":\"3479a277-268b-4c48-85ba-1b5e74a2737d\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"metadata, status\",\"created_at\":\"2026-03-10T04:14:29.183666Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:29.18197Z\",\"name\":\"hello-world-fail-1-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd5f4-1527-f2eb-36a8-ae1e7116be28\",\"config_id\":\"3479a277-268b-4c48-85ba-1b5e74a2737d\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Terminating\",\"created_at\":\"2026-03-10T04:14:29.158587Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:29.158587Z\",\"name\":\"hello-world-fail-1-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd5f4-094d-6004-4ec0-242cce754c1c\",\"config_id\":\"3479a277-268b-4c48-85ba-1b5e74a2737d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: \",\"created_at\":\"2026-03-10T04:14:26.124882Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:26.124882Z\",\"name\":\"hello-world-fail-1-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd5f4-094d-690e-1d36-4727e9bc7bb0\",\"config_id\":\"0a7d9c47-177c-4fb6-8126-c78d7540e155\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Pending: ingress loadbalancer status not found\",\"created_at\":\"2026-03-10T04:14:26.124882Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:26.124882Z\",\"name\":\"test-namespace-pod-x-test-foo-1-x-mission-control-demo\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ffbaf0a7-e584-4f40-ab6a-8ef9b459ba74\",\"config_id\":\"3479a277-268b-4c48-85ba-1b5e74a2737d\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Stopping container httpbin\",\"created_at\":\"2026-03-10T04:14:26Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:29.18197Z\",\"name\":\"hello-world-fail-1-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0496543c-fa0c-4a5b-9ecf-0cf03178a506\",\"config_id\":\"3479a277-268b-4c48-85ba-1b5e74a2737d\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container httpbin\",\"created_at\":\"2026-03-10T04:14:25Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:59.231989Z\",\"name\":\"hello-world-fail-1-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"15cc651c-2cd2-4cc9-bd07-73437228fd65\",\"config_id\":\"3479a277-268b-4c48-85ba-1b5e74a2737d\",\"change_type\":\"Pulled\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Successfully pulled image \\\"kennethreitz/httpbin\\\" in 570ms (570ms including waiting). Image size: 214174220 bytes.\",\"created_at\":\"2026-03-10T04:14:25Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:59.231989Z\",\"name\":\"hello-world-fail-1-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"26670b4d-06d8-400d-b0b7-1711cd8a2ecf\",\"config_id\":\"3479a277-268b-4c48-85ba-1b5e74a2737d\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"kennethreitz/httpbin\\\"\",\"created_at\":\"2026-03-10T04:14:24Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:59.231989Z\",\"name\":\"hello-world-fail-1-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ec2151dd-fb3d-4174-9ac5-8b18ed3a4588\",\"config_id\":\"3479a277-268b-4c48-85ba-1b5e74a2737d\",\"change_type\":\"Scheduled\",\"severity\":\"info\",\"source\":\"kubernetes/\",\"summary\":\"Successfully assigned demo-env/hello-world-fail-1-x-canaries-x-mission-control-demo to vps-d1140a41\",\"created_at\":\"2026-03-10T04:14:24Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:14:59.231989Z\",\"name\":\"hello-world-fail-1-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"015df458-98f9-4c4b-8d9d-1aaf1ca0f7ee\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container carts failed liveness probe, will be restarted\",\"created_at\":\"2026-03-10T04:09:51Z\",\"count\":7,\"first_observed\":\"2026-03-10T02:42:26.180542Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cb0c8f69-b496-4c24-8078-a6fb4f7010cf\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T04:08:05.281063Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:08:05.280604Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3cc3107f-9b0e-483a-ade2-a4d3e3020c92\",\"config_id\":\"bf199b30-03dd-481e-8e3b-507f4b9d34c7\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T04:07:40.639393Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:07:40.638993Z\",\"name\":\"canaries\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd5ed-d8b8-51f9-ae3f-8b3431e6cf91\",\"config_id\":\"bf199b30-03dd-481e-8e3b-507f4b9d34c7\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Progressing\",\"created_at\":\"2026-03-10T04:07:40.472029Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:07:40.472029Z\",\"name\":\"canaries\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a6798cde-71c9-4f6f-b7ef-ca33c50b96a8\",\"config_id\":\"bf199b30-03dd-481e-8e3b-507f4b9d34c7\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T04:07:32.173929Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:07:32.173791Z\",\"name\":\"canaries\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d78837e2-7dfb-40f1-ab13-bf15da0a890f\",\"config_id\":\"36646666-6164-6331-3935-363232363238\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"internalMetadata\",\"created_at\":\"2026-03-10T04:07:25.579353Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:07:25.579009Z\",\"name\":\"projects/workload-prod-eu-02/locations/us-central1/repositories/831a9b85-a806-4931-aeb3-652e4f151b95/workspaces/AF04CC1B-56B3-4BBA-9A00-F63D207E7D53\",\"type\":\"GCP::Workspace\",\"tags\":{\"project\":\"workload-prod-eu-02\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0bd24475-504d-4d49-9ab4-c2fe9ed6c3cd\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T04:00:05.485613Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:00:05.485259Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5aa5cb46-3023-4b75-b66e-a14f74173bcb\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T04:00:05.485613Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:00:05.485259Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fd4256f0-2e45-4061-a7af-390ee0d966a3\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551860\",\"created_at\":\"2026-03-10T04:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:00:05.485259Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"73ad729c-63fd-43da-828c-bd27a345da22\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551920, status: Complete\",\"created_at\":\"2026-03-10T04:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:00:05.485259Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0553836a-7f10-49a4-b2e9-b16ac5c9bfb1\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551920, status: Failed\",\"created_at\":\"2026-03-10T04:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:00:05.485259Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"faa4a056-0ad6-4546-9601-4897e7741c83\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551860\",\"created_at\":\"2026-03-10T04:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:00:05.485259Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f5fdb092-ec25-4f3d-b637-190d3f4e3739\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T04:00:02.25345Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:00:02.253304Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"95cfa27b-1efd-40af-af70-3faa117ca48d\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T04:00:02.25345Z\",\"count\":1,\"first_observed\":\"2026-03-10T04:00:02.253304Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"523e2768-4046-48ba-946d-576ffee0bdd1\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T03:51:53.836836Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:51:53.836478Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bcad2181-37df-4860-9167-ccb5933d7c03\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.33:8443/healthz\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-10T03:31:10Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:31:11.182974Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"34fe0ad5-83ca-4b3e-b0f2-b9ddb2ee9959\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T03:23:01.104753Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:23:01.104336Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"963f9ae1-d493-4e15-aa3e-4d5bbefaad27\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T03:19:38.086415Z\",\"count\":7,\"first_observed\":\"2026-03-10T00:41:16.27432Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"39cb9ddf-c6c2-4898-ac49-b8d3b05f9406\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T03:14:02Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:14:05.276006Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8c92eec5-5be6-470c-811b-83dbfdf208d5\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T03:14:02Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:14:05.276006Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d837ebcd-17ea-4c2d-8642-e8c52ca98a82\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.33:8443/healthz\\\": context deadline exceeded\",\"created_at\":\"2026-03-10T03:04:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:04:20.368576Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ce381095-bc40-4c8d-ba93-f1eefacabf1d\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.33:8443/readyz\\\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-10T03:04:18Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:04:20.368576Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2b763826-5b4f-401c-978a-e1b08cf9f93c\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"http://10.244.0.82:80/health\\\": dial tcp 10.244.0.82:80: connect: connection refused\",\"created_at\":\"2026-03-10T03:04:00Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:04:02.01799Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"00616ab7-72e4-48f6-a57d-3d4632c55f24\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T03:00:05.546666Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:00:05.546476Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"86bff21c-c89e-4ffa-841c-4f243c08a67d\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T03:00:05.546666Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:00:05.546476Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"21b12a7a-24bf-4618-a295-e35e6cfdb9ff\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551800\",\"created_at\":\"2026-03-10T03:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:00:05.546476Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f2d10a0f-3d79-4c83-a887-2c03e840b61b\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551860, status: Complete\",\"created_at\":\"2026-03-10T03:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:00:05.546476Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"394b5157-2c5d-465b-a39a-c8fbedde1199\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551860, status: Failed\",\"created_at\":\"2026-03-10T03:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:00:05.546476Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7bfd068d-33ec-4c02-afa1-49aee37ffeb1\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551800\",\"created_at\":\"2026-03-10T03:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:00:05.546476Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"55761f07-52ce-4381-a52c-7b6323718e3b\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T03:00:02.148106Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:00:02.147911Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"73a15e8a-f08a-474f-aaa9-26dee3de4b67\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T03:00:02.148106Z\",\"count\":1,\"first_observed\":\"2026-03-10T03:00:02.147911Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5147273b-a41e-4340-b8d6-8bbe0da0e702\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T02:37:06.408409Z\",\"count\":4,\"first_observed\":\"2026-03-10T01:52:52.296876Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd591-b245-b87f-dd74-6342d512e4cd\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"NotificationSilenced\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-10T02:27:01.3172Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:27:01.3172Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2f7117df-0b46-423b-8701-794b22ee8568\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T02:27:01.101831Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:27:01.101723Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd591-b15b-dd9c-776a-18f2be071553\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"Warning\",\"severity\":\"low\",\"source\":\"config-db\",\"summary\":\"Warning\",\"created_at\":\"2026-03-10T02:27:01.083071Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:27:01.083071Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4b2505ea-e5b8-4b79-a0a4-02ce057e9e42\",\"config_id\":\"3cdbae61-ecb9-42cc-b0c6-e6dfabbcc199\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"http://10.244.0.78:80/health\\\": dial tcp 10.244.0.78:80: connect: connection refused\",\"created_at\":\"2026-03-10T02:26:06Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:26:08.152037Z\",\"name\":\"queue-master-559559984f-sdrct-x-sock-shop-x-mission--fddeffbe56\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"79dc8545-abe8-49ed-9251-43b6e529ac4c\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T02:22:51.64367Z\",\"count\":2,\"first_observed\":\"2026-03-10T01:37:12.676466Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a4e96d7d-8367-4d7e-92c4-211752b0b2f8\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T02:22:10.149728Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:22:10.149128Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd58d-40c0-1ec1-dd5f-c50953ea84d7\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running\",\"created_at\":\"2026-03-10T02:22:10.112312Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:22:10.112312Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"da852e70-3227-4684-8189-7b90b6bf5b85\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T02:07:14.358464Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:07:14.357414Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0cee5445-3c9f-4a59-a0d1-9989095a9e20\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T02:00:07.191591Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:00:07.19149Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f2a2496a-72c6-4fe1-a58d-f0cba8ec0b0b\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T02:00:07.191591Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:00:07.19149Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"44d3569b-e18e-439b-92eb-092fb30809c4\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551740\",\"created_at\":\"2026-03-10T02:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:00:07.19149Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f1057453-b207-43c8-b9d8-40526f26c309\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551800, status: Complete\",\"created_at\":\"2026-03-10T02:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:00:07.19149Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1d57debd-a568-47ec-9b3a-fad4bb23f697\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551800, status: Failed\",\"created_at\":\"2026-03-10T02:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:00:07.19149Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7601256b-5c48-442a-bba4-529a1eb28419\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551740\",\"created_at\":\"2026-03-10T02:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-10T02:00:07.19149Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8e685421-f9d3-46ca-82dc-709cc6dc95f6\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T02:00:01.16151Z\",\"count\":2,\"first_observed\":\"2026-03-10T01:00:01.388001Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"70d10885-4b15-49b3-85c1-db8b8670cef2\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T02:00:01.157409Z\",\"count\":2,\"first_observed\":\"2026-03-10T01:00:01.388001Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a45885f1-b351-48a6-86f7-35c5398ab3f8\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"http://10.244.0.82:80/health\\\": dial tcp 10.244.0.82:80: connect: connection refused\",\"created_at\":\"2026-03-10T01:59:00Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:59:01.296351Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fb71f0d4-ee65-4e2b-81c6-df1f830acfe4\",\"config_id\":\"7411988a-714d-43bb-b5fd-6755750227ab\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T01:52:52.297062Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:52:52.296876Z\",\"name\":\"mission-control-kubernetes-vps-d1140a41\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ef384099-6020-485d-a4c3-b254b6066306\",\"config_id\":\"8e7e8653-d7f8-4352-bf34-88e2c539f1e1\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.29:8443/healthz\\\": context deadline exceeded\",\"created_at\":\"2026-03-10T01:47:30Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:47:31.090421Z\",\"name\":\"mission-control-beta-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"543f4f16-9074-4751-bb29-711af90837d7\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-10T01:37:12.77051Z\",\"count\":6,\"first_observed\":\"2026-03-10T00:22:42.707918Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5f994e5c-5fb3-4cd4-9878-1c3bdc15b22f\",\"config_id\":\"7411988a-714d-43bb-b5fd-6755750227ab\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-10T01:37:12.682918Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:37:12.676466Z\",\"name\":\"mission-control-kubernetes-vps-d1140a41\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e46f96c9-a696-4206-8d49-38511b2e093b\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.33:8443/healthz\\\": net/http: request canceled (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-10T01:31:54Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:31:55.285684Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6d54f770-190e-49db-9931-494941b7a31b\",\"config_id\":\"71f8803c-208b-4737-8ac1-417ecb65c7bc\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"http://10.244.0.77:80/health\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-10T01:31:10Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:31:14.710672Z\",\"name\":\"payment-695f8cdd74-nsqkz-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"55ecf9e7-441e-4acc-9fc5-41ab28dc3009\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-10T01:26:43.114095Z\",\"count\":2,\"first_observed\":\"2026-03-10T00:27:07.090892Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e061d4af-cc28-4454-aab6-9e02691e2c93\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-10T01:23:05.297579Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:23:05.297475Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e081f2ad-eb73-46a2-a2f0-7362ce89a256\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container carts failed liveness probe, will be restarted\",\"created_at\":\"2026-03-10T01:22:57Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:22:58.232221Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"40959d11-befa-46b9-9546-3d44ef00fe75\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T01:21:43.045075Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:21:43.044876Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"260f8812-b5b5-423b-86b0-474900c9499d\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T01:21:40.279592Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:21:40.279457Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3043967d-19d6-4369-b441-a8e8e32b51cb\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T01:12:43.44369Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:12:43.44346Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"45e95940-63c8-4022-a9d4-778abdb1dfc9\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T01:00:07.488303Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:00:07.485323Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9965d7cf-b059-4673-b363-25b21d68eec7\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551740, status: Complete\",\"created_at\":\"2026-03-10T01:00:05Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:00:07.485323Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"180de21d-777d-4c5b-a4c5-82752700d5fb\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551680\",\"created_at\":\"2026-03-10T01:00:05Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:00:07.485323Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ff8624ce-1fbf-49de-93b4-a28ac65a706f\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T01:00:04.182119Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:00:04.181765Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c9aac0db-4d2d-46ae-a911-4d90b1542d2c\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551680\",\"created_at\":\"2026-03-10T01:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:00:04.181765Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9d41fbfd-e98c-4ffa-a9ba-decb10c5d094\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551740, status: Failed\",\"created_at\":\"2026-03-10T01:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T01:00:04.181765Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5f594f55-a284-4659-8d75-2ba510713c75\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T00:59:10Z\",\"count\":2,\"first_observed\":\"2026-03-10T00:54:10.178615Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cd6aad10-190f-4ded-a16a-b5e4297302dc\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T00:59:10Z\",\"count\":2,\"first_observed\":\"2026-03-10T00:54:10.112041Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9e4fc010-5eb5-4cb5-ae5d-976296b8dace\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T00:59:10Z\",\"count\":2,\"first_observed\":\"2026-03-10T00:54:10.178615Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0945acd2-9e13-4534-b46f-c732aa9b5ee2\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T00:59:10Z\",\"count\":2,\"first_observed\":\"2026-03-10T00:54:10.112041Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"63e57402-39eb-4f49-9f81-274cd809f2b9\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T00:40:13.248424Z\",\"count\":3,\"first_observed\":\"2026-03-09T23:39:40.310118Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0c1fb627-906b-46db-89dc-6fd3a4df5aab\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T00:37:39.838286Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:37:39.837854Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a4151c96-93ba-4c78-b521-49085b17932a\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-10T00:19:10Z\",\"count\":2,\"first_observed\":\"2026-03-10T00:14:10.143257Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b3fbe3f0-9285-4206-a41f-0b02360a146a\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-10T00:19:10Z\",\"count\":2,\"first_observed\":\"2026-03-10T00:14:10.143257Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"268ef539-d1cf-4867-8fc8-f643d48036dd\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container shipping failed liveness probe, will be restarted\",\"created_at\":\"2026-03-10T00:17:30Z\",\"count\":7,\"first_observed\":\"2026-03-09T21:17:55.051504Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"af33bc1f-8803-40bd-820b-1a6e6f075e9d\",\"config_id\":\"3cdbae61-ecb9-42cc-b0c6-e6dfabbcc199\",\"change_type\":\"Completed\",\"severity\":\"info\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-10T00:11:07.212926Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:11:07.212737Z\",\"name\":\"queue-master-559559984f-sdrct-x-sock-shop-x-mission--fddeffbe56\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"74248812-8a56-4f35-9bf5-e19272ff6f44\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-10T00:08:00.362449Z\",\"count\":4,\"first_observed\":\"2026-03-09T23:22:34.626351Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"43f36756-c4c3-49fd-b3dc-74fb1ea899d5\",\"config_id\":\"285d1e49-c4c4-4327-b810-00365a168e38\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-10T00:08:00.327109Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:08:00.326781Z\",\"name\":\"kubernetes-vps-d1140a41\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"89d6c7ad-d95f-4dd0-bca2-989a41eda5d4\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T00:00:07.32208Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:07.321921Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f6261243-90c0-4b58-8162-e5a90a0becd6\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastSuccessfulTime\",\"created_at\":\"2026-03-10T00:00:07.32208Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:07.321921Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd50b-347c-0f4c-84d1-784fd85a679f\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Completed: Last run at 2026-03-10 00:00:00 +0000 for 3s\",\"created_at\":\"2026-03-10T00:00:07.292286Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:07.292286Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4845d080-8e6e-44c2-adc1-a845e944128d\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-10T00:00:04.853595Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:04.853417Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd50b-2a44-8f6f-c5f1-0939e7b73008\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"Error: Last run failed, last successful run was 2026-03-09 23:00:04 +0000\",\"created_at\":\"2026-03-10T00:00:04.676231Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:04.676231Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e7503c24-a35e-46a1-9fe1-0e57c8d05258\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551620\",\"created_at\":\"2026-03-10T00:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:04.853417Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"96894dce-4300-4f6e-9a24-3948f0674363\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551680, status: Failed\",\"created_at\":\"2026-03-10T00:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:04.853417Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ce62f10a-bcd2-4798-a85e-e3c80931ec39\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551680, status: Complete\",\"created_at\":\"2026-03-10T00:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:04.853417Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8e5c09e2-90a7-4bb7-957b-6abffc7a0485\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551620\",\"created_at\":\"2026-03-10T00:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-10T00:00:04.853417Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"85956f81-86da-492a-ab8e-6c7afc9efce3\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T00:00:01.299794Z\",\"count\":3,\"first_observed\":\"2026-03-09T22:00:01.410385Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"46c42e6e-f56e-4357-ab4e-507f5de645e5\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-10T00:00:01.294673Z\",\"count\":3,\"first_observed\":\"2026-03-09T22:00:01.410385Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1c086b6c-1b90-4e56-83f2-00d75505c439\",\"config_id\":\"74f3fa16-48f2-44aa-a6d1-70685de3f994\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"http://10.244.0.72:80/health\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T23:54:11Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:54:13.240082Z\",\"name\":\"catalogue-85fbb5f6d4-n7fxr-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd504-4b1e-7298-4ea0-74ed29fde2d4\",\"config_id\":\"8db678ff-d3c6-4ddc-bb17-df74660438e9\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ReconciliationSucceeded: Applied revision: master@sha1:723b86e01bea11dcf72316cb172868fcbf05d69e\",\"created_at\":\"2026-03-09T23:52:34.333869Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:52:34.333869Z\",\"name\":\"sock-shop\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"42c39e8b-18cc-43d5-a729-1da37497ed6d\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container carts failed liveness probe, will be restarted\",\"created_at\":\"2026-03-09T23:43:36Z\",\"count\":2,\"first_observed\":\"2026-03-09T23:21:07.259661Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"62f60542-b127-43d0-862e-b0b4f608ea2d\",\"config_id\":\"8db678ff-d3c6-4ddc-bb17-df74660438e9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T23:38:10.919281Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:38:10.918844Z\",\"name\":\"sock-shop\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd4f7-1d75-94e4-91ea-b0b6d00f043a\",\"config_id\":\"8db678ff-d3c6-4ddc-bb17-df74660438e9\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Progressing\",\"created_at\":\"2026-03-09T23:38:10.677127Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:38:10.677127Z\",\"name\":\"sock-shop\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2361e5ec-415b-44ad-8c96-55d462301957\",\"config_id\":\"8db678ff-d3c6-4ddc-bb17-df74660438e9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T23:37:58.37771Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:37:58.377435Z\",\"name\":\"sock-shop\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6412b537-eac6-4950-996b-1678f0b3fce5\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T23:37:07.213351Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:37:07.211756Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a94f8558-b466-4c73-8cac-3ee6a8af7234\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-09T23:26:58.099047Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:26:58.098684Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ad6fa4f8-c7d3-43b8-a49e-3c68ffd5a29c\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T23:22:07.37904Z\",\"count\":2,\"first_observed\":\"2026-03-09T22:34:55.077749Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1f616b56-607a-4bc9-8661-40aa24d7c2bf\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-09T23:06:58.09183Z\",\"count\":31,\"first_observed\":\"2026-03-09T14:37:52.329794Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3029ed12-7588-44e8-884b-7ee343e37405\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T23:00:07.234319Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:00:07.198952Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"834e1519-675d-4708-ad2e-de6369bf503e\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T23:00:04.26128Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:00:04.261124Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0daf7603-2e23-49f6-a0d4-38a43436304d\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551620, status: Complete\",\"created_at\":\"2026-03-09T23:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:00:07.198952Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e5eea390-4b84-49af-86e0-d7ced783902b\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551560\",\"created_at\":\"2026-03-09T23:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:00:07.198952Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f3514da6-77df-4102-b2e6-a4c6d17e3b1f\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551620, status: Failed\",\"created_at\":\"2026-03-09T23:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:00:04.261124Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d9e60899-159f-4a08-9b4e-9c0b7e3d4189\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551560\",\"created_at\":\"2026-03-09T23:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T23:00:04.261124Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5fa58e33-4ee1-42d7-94b0-0388a6e8f242\",\"config_id\":\"8e7e8653-d7f8-4352-bf34-88e2c539f1e1\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.29:8443/healthz\\\": net/http: request canceled (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T22:52:00Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:52:01.301147Z\",\"name\":\"mission-control-beta-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"86f5a983-9675-40e1-8954-2c83a586e130\",\"config_id\":\"8e7e8653-d7f8-4352-bf34-88e2c539f1e1\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.29:8443/readyz\\\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T22:52:00Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:52:01.301147Z\",\"name\":\"mission-control-beta-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"422b95bb-090b-4d3d-8364-5477e351fab2\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T22:51:55.24677Z\",\"count\":2,\"first_observed\":\"2026-03-09T22:23:34.063534Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ef019dc4-972c-49d8-874c-f114da855433\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.33:8443/readyz\\\": context deadline exceeded\",\"created_at\":\"2026-03-09T22:47:51Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:47:52.266086Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e11beb83-91e8-470f-b805-142e09baacde\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.33:8443/healthz\\\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T22:47:50Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:47:52.266086Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cb5833f8-07c6-4b54-b15e-7738e525cf2d\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.33:8443/readyz\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T22:47:49Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:47:52.266086Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2e0b0b36-b85b-4fed-a36a-84f6b3bac235\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T22:39:13.296562Z\",\"count\":9,\"first_observed\":\"2026-03-09T18:37:46.330752Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"483c8c48-7e2f-43e7-a5fb-3e8044b01cd9\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T22:38:17.834341Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:38:17.834093Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd4bb-5275-d734-ba44-46a24e5b16ad\",\"config_id\":\"857c616a-59bf-4156-a683-c7a1cde076fe\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ReconciliationSucceeded: Applied revision: main@sha1:c0debc7839ebb24de107d52cb5ba1e03f2302fde\",\"created_at\":\"2026-03-09T22:32:52.084826Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:32:52.084826Z\",\"name\":\"mission-control-vcluster\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"36d2fa0f-719f-4a14-b531-91db4a625419\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-09T22:26:52.086422Z\",\"count\":2,\"first_observed\":\"2026-03-09T21:27:01.147608Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"da57f7d6-c1c0-47cd-afad-0ade4e0ce9c8\",\"config_id\":\"857c616a-59bf-4156-a683-c7a1cde076fe\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T22:22:35.129052Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:22:35.128447Z\",\"name\":\"mission-control-vcluster\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd4b1-e7c5-0b63-f2b7-2699fcbb3ed8\",\"config_id\":\"857c616a-59bf-4156-a683-c7a1cde076fe\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Progressing\",\"created_at\":\"2026-03-09T22:22:34.948757Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:22:34.948757Z\",\"name\":\"mission-control-vcluster\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"38e3791b-c605-4371-9a8d-9a2d60401362\",\"config_id\":\"857c616a-59bf-4156-a683-c7a1cde076fe\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T22:22:34.874191Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:22:34.874011Z\",\"name\":\"mission-control-vcluster\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd4b1-7ae2-bdc2-5628-385317c10e75\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Passed: uptime: 466/470 (99.1%)\",\"created_at\":\"2026-03-09T22:22:07.074054Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:22:07.074054Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"859c7bf0-2229-43dd-907f-2d46a8203e13\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T22:17:31.126403Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:17:31.126269Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e35597b3-90f7-4108-a585-1526e0273d52\",\"config_id\":\"d6307b1b-c03c-453d-81cd-2de20e41c198\",\"change_type\":\"UpdatedLoadBalancer\",\"severity\":\"low\",\"source\":\"service-lb-controller\",\"summary\":\"Updated LoadBalancer with new IPs: [37.59.119.142] -\\u003e [37.59.119.142]\",\"created_at\":\"2026-03-09T22:14:04Z\",\"count\":2,\"first_observed\":\"2026-03-09T22:14:01.252069Z\",\"name\":\"nginx-ingress-nginx-controller\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"nginx\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd4a5-c2c6-5790-7489-cd49ec37fad4\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"1086ms \\u003e 1000ms\",\"created_at\":\"2026-03-09T22:09:19.045777Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:09:19.045777Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5abd2cf5-095d-43e3-afb9-973df855949f\",\"config_id\":\"285d1e49-c4c4-4327-b810-00365a168e38\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-09T22:07:33.969205Z\",\"count\":3,\"first_observed\":\"2026-03-09T21:07:55.459465Z\",\"name\":\"kubernetes-vps-d1140a41\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd4a4-2757-65b3-ab0b-07cf1061658b\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Passed: uptime: 467/469 (99.6%)\",\"created_at\":\"2026-03-09T22:07:33.7193Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:07:33.7193Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bf315450-b4ac-402e-a8f9-81201748f3d7\",\"config_id\":\"c02dfbbb-4fbb-4bf9-9909-9e4ece6a33a5\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T22:05:25.138683Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:05:25.138535Z\",\"name\":\"monitoring-prom-adapter\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"149ab780-d702-4d4c-abeb-6c10ee7f7ca1\",\"config_id\":\"bb8a0d42-fb9c-4e71-8d3d-eba44fe15b74\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T22:05:25.138683Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:05:25.138535Z\",\"name\":\"monitoring-kube-prometheus-stack\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9fa09632-c4a6-4504-8b06-4df776b20b3d\",\"config_id\":\"d2b7e909-3d04-4edb-af36-ac6ddb8055fc\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T22:05:25.138683Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:05:25.138535Z\",\"name\":\"prometheus-community\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"30141e88-081c-4ce5-9319-9e54680f2495\",\"config_id\":\"d2b7e909-3d04-4edb-af36-ac6ddb8055fc\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 7.47MB from 'https://prometheus-community.github.io/helm-charts'\",\"created_at\":\"2026-03-09T22:05:19Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:05:22.10567Z\",\"name\":\"prometheus-community\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"13c748b6-443d-40f5-8b4b-14c669981293\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T22:04:13.099416Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:04:13.099232Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a05c9691-2ac3-4b24-824d-963bad3a0a0a\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T22:00:07.287334Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:00:07.287184Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"58bb829f-e053-4a82-bbeb-cd5d7b50727c\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551500\",\"created_at\":\"2026-03-09T22:00:05Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:00:07.287184Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b3e83c54-da71-4a20-9884-e02729d9f5e5\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551560, status: Complete\",\"created_at\":\"2026-03-09T22:00:05Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:00:07.287184Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c328f2df-4077-4a19-8a91-e4e9c0e1deaa\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T22:00:04.605828Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:00:04.605331Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3e1d8d0f-7777-4273-af57-008948f1d31b\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551560, status: Failed\",\"created_at\":\"2026-03-09T22:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:00:04.605331Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"54dd8509-2374-4708-9835-75ca640787dd\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551500\",\"created_at\":\"2026-03-09T22:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T22:00:04.605331Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"20706b8a-0a9d-493e-b3dc-6bee44143692\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container carts failed liveness probe, will be restarted\",\"created_at\":\"2026-03-09T21:59:21Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:59:22.230542Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"067e28d7-3c6d-42a1-a653-1873d6305c77\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-09T21:52:20.366559Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:52:20.366389Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd496-326f-3583-8f14-12e7cd7fcaf4\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"135ms \\u003e 100ms\",\"created_at\":\"2026-03-09T21:52:19.05549Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:52:19.05549Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8569da80-e5a4-47fb-b1f0-1b4100da784f\",\"config_id\":\"687b066c-6b4e-4a06-bfb4-1fbf5a3f2c38\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T21:44:49.067508Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:44:49.067414Z\",\"name\":\"monitoring-prometheus\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"378dd798-dffb-4e16-ab2d-916828e4e064\",\"config_id\":\"8e14fc13-3e07-4867-abee-c8e615791676\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T21:44:43.301654Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:44:43.301519Z\",\"name\":\"monitoring-prometheus-pushgateway\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1689dafc-57ff-4506-b621-aa31c6e45e39\",\"config_id\":\"933fa009-97d7-4be1-88c2-9501e280097d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T21:41:22.166505Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:41:22.166375Z\",\"name\":\"prometheus-community\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ea37d3fe-f779-4c89-bb12-6dbd31c7f433\",\"config_id\":\"933fa009-97d7-4be1-88c2-9501e280097d\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 7.47MB from 'https://prometheus-community.github.io/helm-charts'\",\"created_at\":\"2026-03-09T21:41:18Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:41:19.10332Z\",\"name\":\"prometheus-community\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"monitoring\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"28b7e2b0-6210-4bce-88a1-49646dfa6dda\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-09T21:34:14Z\",\"count\":2,\"first_observed\":\"2026-03-09T21:29:07.117637Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7dbfb69b-52a0-49cd-8c12-9aaeeee381b7\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-09T21:34:14Z\",\"count\":2,\"first_observed\":\"2026-03-09T21:29:07.144744Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"86c6f1b8-ed01-49ff-9339-2c9c3ba61475\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-09T21:34:14Z\",\"count\":2,\"first_observed\":\"2026-03-09T21:29:07.117637Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"41f7fad4-ff11-4c3a-880f-729a47e2252f\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-09T21:34:14Z\",\"count\":2,\"first_observed\":\"2026-03-09T21:29:07.144744Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"51303761-9bc9-4186-8862-3eadd9b9ccee\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.33:8443/readyz\\\": context deadline exceeded\",\"created_at\":\"2026-03-09T21:33:19Z\",\"count\":2,\"first_observed\":\"2026-03-09T21:12:52.068678Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}}]}\n" + }, + "redirectURL": "", + "headersSize": 254, + "bodySize": 12761, + "_transferSize": 13015, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:20:59.860Z", + "time": 687.9439999819473, + "timings": { + "blocked": 0.881999958280474, + "dns": 0.0030000000000000027, + "ssl": -1, + "connect": 0.28300000000000003, + "send": 0.29799999999999993, + "wait": 602.6929999993034, + "receive": 83.7850000243634, + "_blocked_queueing": 0.628999958280474, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847478", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 82150 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 15185 + }, + { + "functionName": "queryFn", + "scriptId": "441", + "url": "http://localhost:3000/_next/static/chunks/51306.d553cebb7db1f5b5.js", + "lineNumber": 0, + "columnNumber": 1581 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "setOptions", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 40535 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55524 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ] + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "POST", + "url": "http://localhost:3000/api/catalog/changes", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Content-Length", + "value": "128" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Origin", + "value": "http://localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=5&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4450, + "bodySize": 128, + "postData": { + "mimeType": "application/json", + "text": "{\"from\":\"now-2d\",\"to\":\"now\",\"page\":6,\"page_size\":200,\"sort_by\":\"-created_at\",\"recursive\":\"none\",\"include_deleted_configs\":false}" + } + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:21:01 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 102642, + "mimeType": "application/json", + "compression": 88122, + "text": "{\"summary\":{\"DependencyNotReady\":1,\"Failed\":4,\"GitHubActionRunFailure\":1,\"GitHubActionRunSuccess\":3,\"HealthUnknown\":3,\"Healthy\":8,\"Killing\":2,\"NewArtifact\":11,\"NotificationRepeat-Interval\":1,\"OOMKilled\":2,\"PermissionAdded\":5,\"Pulling\":4,\"SawCompletedJob\":11,\"ScalingReplicaSet\":2,\"Started\":1,\"SuccessfulDelete\":12,\"Unhealthy\":11,\"UpgradeSucceeded\":1,\"Warning\":2,\"diff\":115},\"total\":2579,\"changes\":[{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4efafb19-4353-4aec-bd35-7a7cbb38b9a6\",\"config_id\":\"71f8803c-208b-4737-8ac1-417ecb65c7bc\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"http://10.244.0.77:80/health\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T21:31:22Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:31:25.086362Z\",\"name\":\"payment-695f8cdd74-nsqkz-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7097ee05-a55e-426d-be9f-f4157d5060fc\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T21:23:10.02533Z\",\"count\":3,\"first_observed\":\"2026-03-09T19:38:17.838602Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"353fdb83-fb40-4b95-933b-caf36d82d063\",\"config_id\":\"a18077fa-adcf-4ef8-9952-33d0fe03744b\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T21:22:44.131638Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:22:44.131286Z\",\"name\":\"cert-manager-resources\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd47b-1c78-c215-d8cb-f99cebcba36b\",\"config_id\":\"a18077fa-adcf-4ef8-9952-33d0fe03744b\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ReconciliationSucceeded: Applied revision: main@sha1:c0debc7839ebb24de107d52cb5ba1e03f2302fde\",\"created_at\":\"2026-03-09T21:22:43.960285Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:22:43.960285Z\",\"name\":\"cert-manager-resources\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"38b13a0f-3ebc-49a4-9958-20fb42e217e6\",\"config_id\":\"a18077fa-adcf-4ef8-9952-33d0fe03744b\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T21:18:52.08895Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:18:52.088742Z\",\"name\":\"cert-manager-resources\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd477-92b0-e4a8-0f2f-01c61e6c827d\",\"config_id\":\"a18077fa-adcf-4ef8-9952-33d0fe03744b\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"DependencyNotReady: dependency 'flux-system/cert-manager-operator' is not ready\",\"created_at\":\"2026-03-09T21:18:52.079672Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:18:52.079672Z\",\"name\":\"cert-manager-resources\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a0943a4e-2875-43c3-9170-5dac5234f06e\",\"config_id\":\"a18077fa-adcf-4ef8-9952-33d0fe03744b\",\"change_type\":\"DependencyNotReady\",\"severity\":\"low\",\"source\":\"kustomize-controller\",\"summary\":\"Dependencies do not meet ready condition, retrying in 30s\",\"created_at\":\"2026-03-09T21:18:47Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:18:49.052355Z\",\"name\":\"cert-manager-resources\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a1c5f86c-2e9b-4fc6-bf0c-30c0fc56c671\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.33:8443/healthz\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T21:12:48Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:12:49.141275Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd46d-8b80-8832-8faf-41bc5c3020f1\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Passed: uptime: 431/433 (99.5%)\",\"created_at\":\"2026-03-09T21:07:54.87973Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:07:54.87973Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f5ebe5b5-0df3-49bd-b125-b09279462491\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastSuccessfulTime\",\"created_at\":\"2026-03-09T21:00:10.064606Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:10.064342Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd466-73c2-194a-d695-e87c017c1a5c\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Completed: Last run at 2026-03-09 21:00:00 +0000 for 4s\",\"created_at\":\"2026-03-09T21:00:10.050248Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:10.050248Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"913bbb57-eba4-409b-931e-d602e02b57c2\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T21:00:07.360693Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:07.36055Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd466-68e4-8de1-7498-9fcfce48943b\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"Error: Last run failed, last successful run was 2026-03-09 20:00:04 +0000\",\"created_at\":\"2026-03-09T21:00:07.267871Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:07.267871Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"177de008-3626-4820-b24b-30e57d7f69ec\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T21:00:04.207011Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:04.206872Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"408d3df8-0fa5-4ff0-be3b-b6d2eb5b4c8d\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551440\",\"created_at\":\"2026-03-09T21:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:07.36055Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"13cc7cf4-05e6-40d9-b06d-543771f573d3\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551500, status: Complete\",\"created_at\":\"2026-03-09T21:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:07.36055Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c7b40149-bb7d-4f47-8ad7-d4e4c2ef487d\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551500, status: Failed\",\"created_at\":\"2026-03-09T21:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:04.206872Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"03c63b05-28eb-4727-bbac-d33bddb51fb3\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551440\",\"created_at\":\"2026-03-09T21:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T21:00:04.206872Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"48b1cc1a-6db7-4f25-8960-ebe8ce604f01\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T21:00:01.215198Z\",\"count\":2,\"first_observed\":\"2026-03-09T20:00:01.384265Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f7ee3748-c75f-4a3c-96e0-ad6ad38909ac\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T21:00:01.211834Z\",\"count\":2,\"first_observed\":\"2026-03-09T20:00:01.384265Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd460-31d7-0739-e2e7-cbbf6583372b\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"NotificationRepeat-Interval\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-09T20:53:19.959056Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:53:19.959056Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd460-2f27-13cc-6e3c-e0e88d7f7ea2\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"116ms \\u003e 100ms\",\"created_at\":\"2026-03-09T20:53:19.271258Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:53:19.271258Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d0094811-4610-445a-9da4-a0264919d837\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T20:35:04.183023Z\",\"count\":14,\"first_observed\":\"2026-03-09T16:17:40.084644Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b3eb5cad-6d6d-47e2-9884-333fefb67e30\",\"config_id\":\"b16866d2-e87a-4c7e-8fd3-141f634bcd27\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:34:34.487587Z\",\"count\":3,\"first_observed\":\"2026-03-09T20:24:13.141721Z\",\"name\":\"nginx-nginx\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"nginx\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0c63134e-4e8b-4b5f-bc28-70e260188905\",\"config_id\":\"d5cdfa6e-81d1-4798-a3e6-d029ea101207\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T20:34:34.483454Z\",\"count\":3,\"first_observed\":\"2026-03-09T20:24:13.141721Z\",\"name\":\"nginx\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"nginx\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cab4618d-0f18-481e-b654-c8acf37ab3e5\",\"config_id\":\"d5cdfa6e-81d1-4798-a3e6-d029ea101207\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 236.8kB from 'https://kubernetes.github.io/ingress-nginx'\",\"created_at\":\"2026-03-09T20:34:28Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:34:31.426397Z\",\"name\":\"nginx\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"nginx\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"45e9d4e9-952a-4bfd-9571-9d6764c8411a\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-09T20:34:00Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:34:01.267605Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"23e89f51-4ec9-4b8a-affa-2939bece80d4\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-09T20:34:00Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:34:01.267605Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"122afed5-d4f6-4906-98fc-74b01db80c57\",\"config_id\":\"b7b322aa-d7ef-4970-a87f-42fa807ef6ea\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T20:30:25.148889Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:10:04.153872Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cabeb64a-b386-4109-9581-0f8e3026f230\",\"config_id\":\"d5cdfa6e-81d1-4798-a3e6-d029ea101207\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 235.4kB from 'https://kubernetes.github.io/ingress-nginx'\",\"created_at\":\"2026-03-09T20:29:23Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:29:25.151243Z\",\"name\":\"nginx\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"nginx\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7089595a-e522-4617-b434-96fea67b42fd\",\"config_id\":\"b770b55a-6334-44dd-827d-507d9dbda1bc\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:28:28.095085Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:08:25.377539Z\",\"name\":\"default-mission-control-prometheus\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"acfd2d81-52ed-42b3-89af-d38fe7084d32\",\"config_id\":\"088ae9d7-a7b0-4eaf-bd68-db43768a42d5\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:28:22.267728Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:08:25.377539Z\",\"name\":\"default-mission-control-flux\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6013f199-f51a-49a3-a98d-b7669e472a86\",\"config_id\":\"68c0615d-b480-4ae1-9eb5-577e42652721\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:27:28.271433Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:13:07.266415Z\",\"name\":\"mission-control-mission-control-kubernetes-view\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e28965f5-9f9a-43bd-9f50-d5d21a8f9fd9\",\"config_id\":\"cdeecdb1-d189-4158-9d21-ef196ada857d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:27:22.051627Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:12:22.145355Z\",\"name\":\"default-mission-control-argocd\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"57944f36-76aa-4072-befd-7034b072dd47\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-09T20:26:46.111391Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:26:46.111249Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f71ff525-0569-4d6c-8cce-dcbb2cfb692a\",\"config_id\":\"15014a4d-b817-4706-a3e4-e7e778aac725\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:25:31.076297Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:10:43.047891Z\",\"name\":\"mission-control-mission-control-playbooks-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"49d305e3-a73b-4c8e-ae07-886e947d85a8\",\"config_id\":\"244ec7b2-585c-45c5-b25a-f922a9005123\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:25:22.172379Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:10:22.060808Z\",\"name\":\"mission-control-mission-control-playbooks-ai\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"49880535-eddf-4347-8be7-d2be6b6dbdf7\",\"config_id\":\"4c62a73d-08a4-4c45-9838-5dbe98d157d5\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:25:22.17045Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:08:25.377539Z\",\"name\":\"mission-control-mission-control-watchtower\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"680e5913-7ab1-4f6b-bfd9-5c873fd09f9d\",\"config_id\":\"e22c529e-12e1-4888-a5a2-119cdd6ca14a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:25:16.482619Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:10:07.315344Z\",\"name\":\"mission-control-mission-control-aws\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1ece9f98-501e-41bd-a62b-472abe97b111\",\"config_id\":\"22cc2951-2a78-4ac1-9b91-4bf52953bf09\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:25:16.327205Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:10:07.315344Z\",\"name\":\"mission-control-mission-control-crds\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fa209009-9245-4c6d-9f85-db4feec557a2\",\"config_id\":\"eaaff2b6-7abb-4a97-9d0e-38ac84aafbb8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:25:16.324379Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:10:07.315344Z\",\"name\":\"mission-control-mission-control-beta\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"844577a5-c7f2-41df-a1bd-b99b22fc5c3f\",\"config_id\":\"d5cdfa6e-81d1-4798-a3e6-d029ea101207\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 234.1kB from 'https://kubernetes.github.io/ingress-nginx'\",\"created_at\":\"2026-03-09T20:24:08Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:24:10.26361Z\",\"name\":\"nginx\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"nginx\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"77131dd6-55ff-4247-bd7c-4e3575475a94\",\"config_id\":\"b1c0cbf1-31fd-4bd9-b11c-5c3c14b6a1f6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:23:40.177508Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:08:28.263015Z\",\"name\":\"mission-control-mission-control-kubernetes-vps-d1140a41\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6ed8eeb2-b01a-4d31-9d58-a6836a77092f\",\"config_id\":\"4c767e1a-d671-4f8e-962f-f3e150763569\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:23:40.175073Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:08:25.377539Z\",\"name\":\"mission-control-mission-control-playbooks-flux\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0c9822a7-eba7-4010-bcf6-871ab259505a\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T20:23:37.118525Z\",\"count\":3,\"first_observed\":\"2026-03-09T20:08:25.377539Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"441bdfe6-7f97-4e90-8d2b-7cc45880dd43\",\"config_id\":\"78394213-4d37-488c-a624-6f0cb2d104f3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:22:42.502711Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:07:22.256116Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a9fe043b-c7be-4209-b73c-5780c63f564a\",\"config_id\":\"0679e8ca-5edc-472c-b631-389b5f4f99bf\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions, status.artifact\",\"created_at\":\"2026-03-09T20:22:42.487154Z\",\"count\":3,\"first_observed\":\"2026-03-09T20:11:13.271513Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"27627d2a-6612-4795-a8ce-2ca68b5cff51\",\"config_id\":\"98d19886-ff7c-4936-b554-d7e47b65d22f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:22:42.481836Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:07:16.195983Z\",\"name\":\"demo-env-mission-control-demo-mission-control-tenant-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"110be19f-26cc-44dd-972d-c8fa8db0e83b\",\"config_id\":\"2b26cf41-15fb-49cb-9978-fec7b483634c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:22:42.474025Z\",\"count\":3,\"first_observed\":\"2026-03-09T20:08:34.588962Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f5088e02-0f99-46a4-9eb9-1f0d4f6f1b17\",\"config_id\":\"8f20060a-676c-47bf-bdbd-b8024e8e22d3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:22:42.407851Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:08:34.588962Z\",\"name\":\"demo-env-mission-control-demo-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8fc1f058-7448-4d3f-ba3b-719b8f53129c\",\"config_id\":\"6b5e5148-b83b-417f-a1fe-1e064a9c2a67\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:22:42.399587Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:06:58.104426Z\",\"name\":\"demo-env-mission-control-demo\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e3a19748-77f4-49aa-86a1-05768e95a233\",\"config_id\":\"95066c3d-5512-4a82-a407-fdc5354d6d64\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:22:42.376732Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:08:34.588962Z\",\"name\":\"demo-env-mission-control-aws\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5d69ebee-65bb-4943-b5ce-40112c2c4e98\",\"config_id\":\"c4cf68e5-8ea3-45fa-ad78-fd2b9b240401\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T20:22:42.3071Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:08:34.588962Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"46b9681c-5988-4c0c-bed4-77977bf3c0cd\",\"config_id\":\"f74a2f21-4f78-4506-bdcd-3e005d4d35a3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T20:22:42.298477Z\",\"count\":4,\"first_observed\":\"2026-03-09T20:06:55.244599Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6fbe7af2-a85f-4851-852c-31e17153895c\",\"config_id\":\"ec10a9ba-d2e8-4fe4-bf9f-eb778016a0a3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels, subsets\",\"created_at\":\"2026-03-09T20:22:42.176307Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:42.083498Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ff4f973f-8a26-42b9-95b5-7f38bbf97d68\",\"config_id\":\"f6e3f36f-2b5a-4aa2-b1cd-d7afd737785c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:42.176307Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:42.083498Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"33a7b269-ee67-4380-8cf2-7ea957e8ed77\",\"config_id\":\"16dc13c5-3893-48bf-a592-624be914417c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:42.176307Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:42.083498Z\",\"name\":\"mission-control-properties-config-x-mission-control--e3d9328de4\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7ecc5e50-afd6-4382-9127-005211346014\",\"config_id\":\"435e2274-046f-4c25-a091-1d1abc908476\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:42.176307Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:42.083498Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bdcd0a81-e582-45cb-9567-9d892c91c968\",\"config_id\":\"4c3447a2-277f-4e02-add2-2d10f707bc80\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:42.176307Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:42.083498Z\",\"name\":\"mission-control-kratos-config-x-mission-control-x-mi-0704b0eefb\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b6ee016d-246c-4e64-a1d6-864b9c2755d0\",\"config_id\":\"56e4e032-3eb8-4f34-a99f-0b0b307bae13\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:42.176307Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:42.083498Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7aa67307-feb7-4900-bf36-826e442f11c6\",\"config_id\":\"8444ebf2-1532-4340-a02e-c1241b5d6bf1\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:42.176307Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:42.083498Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0cdd4111-2344-475f-b30b-da1390803b42\",\"config_id\":\"3dc4de30-b1c9-458a-a4a3-e1cc1b188851\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control-system\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bab66505-ebd9-44ff-b7bb-0b62b1f9bb8f\",\"config_id\":\"8b261a43-ceb8-4da1-a50f-93433efe6130\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ed5e5c00-5263-424f-9fbe-c5348fbb881c\",\"config_id\":\"91957868-6a24-4926-942a-6e70968498bb\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control-properties-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4d5a86aa-b9c5-43ec-9f64-ff09265187cb\",\"config_id\":\"ffaf184c-05aa-4f2b-b602-418dab80e8e2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control-pods\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"50ef8e73-cd3a-4f27-9d01-0b5a20f07f26\",\"config_id\":\"903822c6-72f6-4f30-b6c0-bd648bff6856\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"failing-health-checks\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9d56c3a8-8d5e-41e0-98b2-b7f2ec932570\",\"config_id\":\"7bc7f0d7-00c5-4dc1-afdb-950349c9f199\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control-kratos-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7ca980e4-dee2-4850-8f0f-62919a8cc599\",\"config_id\":\"cbe6a8f1-3a21-4195-8d2f-c5888919daf8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"notification-send-history\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fe72ccf5-3fc9-46c5-bb3e-1816d2922939\",\"config_id\":\"06b5529b-7ae0-4f4e-ad02-947d4df6495d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels, subsets\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8c94e94a-792b-4f11-85ed-1780a84d8c5c\",\"config_id\":\"e8a350e5-8f01-4d70-aad4-2da2c8988437\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"recent-changes\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d3699895-fd9a-468c-a552-bca8123a26f2\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c64cd078-fe6d-4067-bff9-6e8c12ca8629\",\"config_id\":\"98bf42c8-5d2e-4628-bcdf-0b990ee89151\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"unhealthy-configs\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ab6f478c-3973-4bda-8e17-9b7d8a537475\",\"config_id\":\"57217e8d-48c7-42fd-9262-3ee2784543d6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control-dashboard\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3dac009e-2e30-46ce-ada9-f0b4e4dd03c7\",\"config_id\":\"f8c7acfe-d813-4d1b-a89f-8f6d0ef35ae2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control-db\",\"type\":\"MissionControl::Connection\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"734b8e14-ecb8-41dd-8091-918d5064efd6\",\"config_id\":\"ebbfaab0-b5fd-47c1-a28d-13b27cbeea55\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d14828ea-97eb-4861-aa28-4191d7828830\",\"config_id\":\"b5335272-e1d1-4430-ab6f-acb62d3f402a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b3029f2f-c7b3-4545-b3ae-7cb369725b10\",\"config_id\":\"78971e6d-2ea4-4aeb-92fa-00014c430f77\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"jobhistory\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0b543958-191d-430b-8cd4-9031f75115db\",\"config_id\":\"6a6fe1f7-b724-4da4-99e5-13b58aa36e4f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control-database\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"55fcf08a-8a3a-494e-b810-4f7e1a04d8c3\",\"config_id\":\"bace5094-3bf7-4657-8fc8-efc981bcded4\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control-sa\",\"type\":\"Kubernetes::ServiceAccount\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"48b39fe2-d197-402a-8aae-7cfec96ad521\",\"config_id\":\"d41a077e-7610-479b-8d1f-4da66bcbf542\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:22:32.589752Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd444-00c3-f565-51af-7946d5f86b6d\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Succeeded\",\"created_at\":\"2026-03-09T20:22:32.387123Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:32.387123Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7ffc14f8-81a1-4f1a-b1a4-c3a5ff6cdd45\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user disruption-controller, role system:controller:disruption-controller\",\"created_at\":\"2026-03-09T20:22:12.062626Z\",\"count\":0,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7188fed4-6c36-4dc6-b85f-628b673c9743\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-09T20:22:12.062626Z\",\"count\":0,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"00bd9647-be3e-42a3-9176-d3341906b7de\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-09T20:22:12.062626Z\",\"count\":0,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3ad31a04-d591-46ac-a3e1-666992e554aa\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-09T20:22:12.062626Z\",\"count\":0,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"01cff5ae-07d4-4348-ba5e-086df5ba262d\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-09T20:22:12.062626Z\",\"count\":0,\"first_observed\":\"2026-03-09T20:22:32.589471Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a903869d-eab0-4fea-822c-309de09fc9d3\",\"config_id\":\"03bbcb57-86a0-4f24-bb30-5f0da03e18cc\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T20:21:55.291472Z\",\"count\":3,\"first_observed\":\"2026-03-09T20:11:58.28496Z\",\"name\":\"canary-checker-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"298ed61b-95bb-443e-a579-0015c5abc715\",\"config_id\":\"fbac0e19-1664-4805-ac9f-6186b0a66f3a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T20:20:25.259583Z\",\"count\":3,\"first_observed\":\"2026-03-09T20:08:34.588962Z\",\"name\":\"mission-control-demo-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"49023183-1a7e-4443-b0be-eb4b6466ac21\",\"config_id\":\"fbac0e19-1664-4805-ac9f-6186b0a66f3a\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.39MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T20:20:20Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:20:22.078286Z\",\"name\":\"mission-control-demo-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"542d2987-a968-4e80-9fec-73f8d75284bd\",\"config_id\":\"2b26cf41-15fb-49cb-9978-fec7b483634c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status, status.artifact\",\"created_at\":\"2026-03-09T20:20:07.243898Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:20:07.243101Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"30e5dde1-906a-47c7-a53d-338f6d8f23ce\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T20:18:37.193616Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:18:37.193255Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd440-69fe-3e18-28d2-fe5b144457b2\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Updating\",\"created_at\":\"2026-03-09T20:18:37.181762Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:18:37.181762Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8a6b3892-bf5a-47d6-918e-f60bb8fb08d1\",\"config_id\":\"6e7b6ca2-65af-4919-8d16-7a4893c3ea11\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T20:17:04.2326Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:17:04.232357Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2027d279-d16a-4cd3-b036-056fd40d7e6b\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"spec.replicas, status\",\"created_at\":\"2026-03-09T20:16:58.073958Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:58.073625Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"05729497-d128-405f-adfc-ef87afc7294a\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T20:16:58.073958Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:58.073625Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9ccac7a1-3a3a-4116-89da-87a97a0af2b0\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T20:16:58.073958Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:58.073625Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd43e-e6cf-8ff7-b3e4-7a527a70ac5d\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Scaled to Zero: 0/0 ready\",\"created_at\":\"2026-03-09T20:16:58.06265Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:58.06265Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd43e-e6c7-b753-be43-9963729d43bd\",\"config_id\":\"d6ffbd2b-1650-48be-b77d-86dea7e87e62\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: 1/1 ready\",\"created_at\":\"2026-03-09T20:16:58.055163Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:58.055163Z\",\"name\":\"incident-manager-ui-656686cd5d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d5b072b5-8831-4ff0-9635-0433d9843452\",\"config_id\":\"6e7b6ca2-65af-4919-8d16-7a4893c3ea11\",\"change_type\":\"UpgradeSucceeded\",\"severity\":\"low\",\"source\":\"helm-controller\",\"summary\":\"Helm upgrade succeeded for release mission-control/mission-control-mission-control-beta-mis-2df14a61ee72.v491 with chart mission-control@0.1.307-beta.81\",\"created_at\":\"2026-03-09T20:16:58Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:17:01.10463Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0121b6af-5a25-41b9-a7ee-1b931ef1e09e\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"replicaset-controller\",\"summary\":\"Deleted pod: incident-manager-ui-cbd74d78d-nkxrj\",\"created_at\":\"2026-03-09T20:16:56Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:58.073625Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5340dd78-a593-48ec-b8b4-c7727a61ef1d\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"ScalingReplicaSet\",\"severity\":\"info\",\"source\":\"deployment-controller\",\"summary\":\"Scaled down replica set incident-manager-ui-cbd74d78d to 0 from 1\",\"created_at\":\"2026-03-09T20:16:56Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:58.073625Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c732d79a-c334-4d27-86bb-edc9487cc11f\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.annotations.deployment.kubernetes.io/revision, status\",\"created_at\":\"2026-03-09T20:16:46.115785Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:46.11556Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"19bab410-41a9-4c81-a9d2-90b22c68c62e\",\"config_id\":\"f92bacf0-ddee-48f9-888e-5759324fa970\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:16:43.304232Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:43.304125Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"faa84df4-1e51-41f8-b9ef-1ed9207a7725\",\"config_id\":\"57563887-394d-4e56-acfa-cf84a6676ed0\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T20:16:43.304232Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:43.304125Z\",\"name\":\"postgrest-mission-control\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0eab50dd-a0dc-4054-b9e2-1d9cb7942f52\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels, spec.template.spec.containers\",\"created_at\":\"2026-03-09T20:16:43.304232Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:43.304125Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"915374a3-aaa8-4923-bc05-42173e60c042\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"ScalingReplicaSet\",\"severity\":\"info\",\"source\":\"deployment-controller\",\"summary\":\"Scaled up replica set incident-manager-ui-656686cd5d to 1\",\"created_at\":\"2026-03-09T20:16:42Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:43.304125Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cdc4ece6-1343-47a7-8d2f-bb5582ad77c8\",\"config_id\":\"0679e8ca-5edc-472c-b631-389b5f4f99bf\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.39MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T20:16:12Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:16:13.261136Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e82c534a-a87e-4400-bd50-d48f95b71d46\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T20:14:28.172708Z\",\"count\":2,\"first_observed\":\"2026-03-09T19:59:07.107615Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4a885180-6189-489e-88d1-83c39013859f\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T20:13:32Z\",\"count\":2,\"first_observed\":\"2026-03-09T20:08:22.241948Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9ef56522-6d82-4802-9a6f-d846f6f16589\",\"config_id\":\"0679e8ca-5edc-472c-b631-389b5f4f99bf\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T20:11:08Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:11:10.071496Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"427bd854-fc7d-412c-a711-ea4da9b6e201\",\"config_id\":\"c4cf68e5-8ea3-45fa-ad78-fd2b9b240401\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T20:10:24Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:10:25.031519Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c4eb529b-4789-4334-8e72-201a80fd5758\",\"config_id\":\"b7b322aa-d7ef-4970-a87f-42fa807ef6ea\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T20:10:00Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:10:01.075575Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b97bd664-9f9a-40e2-abbc-615f843ef2ab\",\"config_id\":\"36326234-6532-3333-6464-393438326232\",\"change_type\":\"GitHubActionRunSuccess\",\"severity\":\"success\",\"source\":\"flankbot\",\"summary\":\"chore: update flanksource-ui chart dependency to 1.4.202 (branch: main); duration: 4m44s\",\"created_at\":\"2026-03-09T20:08:34Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:52.110329Z\",\"name\":\"mission-control-chart/Create Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8b230155-ae82-46ee-bbc2-5eb1ef689566\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"etag\",\"created_at\":\"2026-03-09T20:07:20.550814Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:07:20.550579Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e85bb375-0d64-47a3-b1d5-52e0ede56eb3\",\"config_id\":\"f74a2f21-4f78-4506-bdcd-3e005d4d35a3\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T20:06:51Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:06:52.436079Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7e8cea92-a4b4-4e0c-b693-8881b75d2085\",\"config_id\":\"36326234-6532-3333-6464-393438326232\",\"change_type\":\"GitHubActionRunFailure\",\"severity\":\"failure\",\"source\":\"flankbot\",\"summary\":\"failure: Process completed with exit code 1.\",\"created_at\":\"2026-03-09T20:04:18Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:22:52.110329Z\",\"name\":\"mission-control-chart/Create Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8f8d0a28-89f1-4f36-a307-2ec04b9eb17f\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T20:00:07.905272Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:00:07.905119Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d5694e3a-b031-4279-9f7f-6121b714c1f4\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T20:00:07.905272Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:00:07.905119Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"46432f6f-6a0a-4fd2-ae9f-51b3a312c119\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551380\",\"created_at\":\"2026-03-09T20:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:00:07.905119Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ec2e959f-34a0-4382-baad-7325a2a05c3f\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551440, status: Complete\",\"created_at\":\"2026-03-09T20:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:00:07.905119Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"87f7d46a-57ab-44f6-9425-b26028af9867\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551380\",\"created_at\":\"2026-03-09T20:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:00:07.905119Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ece2a509-3b15-4575-9c50-cfaf9543d450\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551440, status: Failed\",\"created_at\":\"2026-03-09T20:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T20:00:07.905119Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"50855edd-132d-4bda-bf66-1a84c24f133c\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container shipping failed liveness probe, will be restarted\",\"created_at\":\"2026-03-09T19:58:24Z\",\"count\":3,\"first_observed\":\"2026-03-09T18:47:55.074681Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"accf09f2-077d-4953-a9d7-29e07e408b81\",\"config_id\":\"35616161-3930-6134-3363-393835643134\",\"change_type\":\"GitHubActionRunSuccess\",\"severity\":\"success\",\"source\":\"moshloop\",\"summary\":\"fix(view): preserve prefixed sort params in table filters (branch: main); duration: 15m52s\",\"created_at\":\"2026-03-09T19:52:42Z\",\"count\":2,\"first_observed\":\"2026-03-09T19:53:17.201341Z\",\"name\":\"flanksource-ui/Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4ed1bb1b-54aa-46c3-b1cd-0a4a8c4771f4\",\"config_id\":\"35616161-3930-6134-3363-393835643134\",\"change_type\":\"GitHubActionRunSuccess\",\"severity\":\"success\",\"source\":\"moshloop\",\"summary\":\"chore: Increase global search default limit to 25 (branch: main); duration: 16m21s\",\"created_at\":\"2026-03-09T19:47:59Z\",\"count\":2,\"first_observed\":\"2026-03-09T19:53:17.201341Z\",\"name\":\"flanksource-ui/Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7ca1f23d-c9ed-4290-9046-82fa324464fa\",\"config_id\":\"34376662-3232-3366-6165-313535303832\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"internalMetadata\",\"created_at\":\"2026-03-09T19:37:39.392197Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:37:39.392023Z\",\"name\":\"projects/workload-prod-eu-02/locations/us-central1/repositories/636cae4e-1712-4fe0-a94e-1ab855e2f168/workspaces/AF04CC1B-56B3-4BBA-9A00-F63D207E7D53\",\"type\":\"GCP::Workspace\",\"tags\":{\"project\":\"workload-prod-eu-02\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"40f38b0a-946f-4bcb-b875-03a80f024e1d\",\"config_id\":\"36646666-6164-6331-3935-363232363238\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"internalMetadata\",\"created_at\":\"2026-03-09T19:37:39.392197Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:37:39.392023Z\",\"name\":\"projects/workload-prod-eu-02/locations/us-central1/repositories/831a9b85-a806-4931-aeb3-652e4f151b95/workspaces/AF04CC1B-56B3-4BBA-9A00-F63D207E7D53\",\"type\":\"GCP::Workspace\",\"tags\":{\"project\":\"workload-prod-eu-02\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b9a44531-4209-409c-b5c5-bfa57edd69f8\",\"config_id\":\"8c683aa5-a809-40e7-bb17-d808804d8246\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"http://10.244.0.183:8080/ready\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T19:31:28Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:31:29.099533Z\",\"name\":\"config-db-559fc75697-79w4d\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b3d08393-7fe2-48c6-9340-de7b89d2d0c2\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"http://10.244.0.183:8080/ready\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T19:31:28Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:31:28.997749Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8808c3c3-ae42-4080-bb80-7e2c1b8c9506\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-09T19:26:46.095005Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:26:46.094844Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"769d8fa3-09b8-4282-905e-e8e278a8704b\",\"config_id\":\"3cdbae61-ecb9-42cc-b0c6-e6dfabbcc199\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"http://10.244.0.78:80/health\\\": dial tcp 10.244.0.78:80: connect: connection refused\",\"created_at\":\"2026-03-09T19:11:06Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:11:07.117567Z\",\"name\":\"queue-master-559559984f-sdrct-x-sock-shop-x-mission--fddeffbe56\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bbe00611-7a62-4f9d-97af-70890bc957ef\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T19:08:09.344052Z\",\"count\":2,\"first_observed\":\"2026-03-09T18:52:52.394588Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7da5ecee-67f4-4c7c-8a76-eb1df62e91be\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-09T19:06:53.27999Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:06:53.279631Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4fa27c1c-c110-4ca7-a404-cc04b69e516f\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T19:00:07.374875Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:00:07.37424Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cd22de71-0235-4c86-8f3f-4e89c296882f\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551320\",\"created_at\":\"2026-03-09T19:00:05Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:00:07.37424Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0826d746-a6d3-41a8-a93b-3ec06d5a3d3c\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551380, status: Complete\",\"created_at\":\"2026-03-09T19:00:05Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:00:07.37424Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f69cc816-5578-47cd-9fcc-c2bc31702f80\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T19:00:04.335798Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:00:04.335653Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ebfe95cb-720b-4383-8982-49ffe8f2e9e7\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551380, status: Failed\",\"created_at\":\"2026-03-09T19:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:00:04.335653Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a69b351e-e192-4c1f-bc4e-a368b9a9e351\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551320\",\"created_at\":\"2026-03-09T19:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:00:04.335653Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"badcfb07-f314-4d8e-bced-60bd1b309696\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T19:00:01.363676Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:00:01.363566Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7039772a-1735-4ef7-b60b-fcd74d805f62\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T19:00:01.363676Z\",\"count\":1,\"first_observed\":\"2026-03-09T19:00:01.363566Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"98c062d0-d80e-4d3a-bb06-ca0693e23d50\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T18:53:31.104314Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:53:31.10408Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"024674d1-b428-4791-a8bf-52c86708e30d\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T18:53:28.03106Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:53:28.030912Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"feea00ad-251f-4a16-9dc4-e5dffd27828d\",\"config_id\":\"285d1e49-c4c4-4327-b810-00365a168e38\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-09T18:37:07.229381Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:37:07.229002Z\",\"name\":\"kubernetes-vps-d1140a41\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4c8f0e97-b831-4a1f-a55f-0a12a7034bfc\",\"config_id\":\"8e7e8653-d7f8-4352-bf34-88e2c539f1e1\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.29:8443/readyz\\\": net/http: request canceled (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T18:33:10Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:33:13.216534Z\",\"name\":\"mission-control-beta-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"01ad54b9-1973-4b88-91e6-47b69cf7b212\",\"config_id\":\"2f904077-882b-4b8c-8681-b8f335063711\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T18:26:55.285747Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:26:55.285625Z\",\"name\":\"canary-checker-vcluster-test-vcluster\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d5201c84-22c5-4bb0-9e6f-0ba7ff17b869\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-09T18:26:43.095816Z\",\"count\":2,\"first_observed\":\"2026-03-09T17:26:49.115412Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd3d9-f70d-1638-fa4e-9b01738188da\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"Warning\",\"severity\":\"low\",\"source\":\"config-db\",\"summary\":\"Warning\",\"created_at\":\"2026-03-09T18:26:43.085138Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:26:43.085138Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d125f5e6-794e-4253-8b68-92ff3bb8ddd3\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T18:23:05.877216Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:23:05.87603Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e4452dac-e59f-4e7c-936d-7dae1d8f5aab\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-09T18:21:52.09548Z\",\"count\":2,\"first_observed\":\"2026-03-09T17:22:04.796829Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd3d5-8654-8a4b-6d12-5ff93a77e787\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running\",\"created_at\":\"2026-03-09T18:21:52.084008Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:21:52.084008Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1dc2616a-dd3f-4d5e-999d-9840f6aef280\",\"config_id\":\"71f8803c-208b-4737-8ac1-417ecb65c7bc\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"http://10.244.0.77:80/health\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T18:13:25Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:13:28.459679Z\",\"name\":\"payment-695f8cdd74-nsqkz-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6af17983-ec74-427a-a5b6-c0ac835a1351\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"etag\",\"created_at\":\"2026-03-09T18:07:48.101001Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:07:48.100699Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"97775437-864c-4fc0-9e07-c1bada05d814\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T18:00:07.672858Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:00:07.672537Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9b65750b-b3d0-45a2-bd38-318daf1f560a\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T18:00:07.672858Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:00:07.672537Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"58dbfe6d-0c07-4b19-8f7f-5183671d58c9\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551260\",\"created_at\":\"2026-03-09T18:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:00:07.672537Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7e5b9000-ee8a-4da7-81d7-b71334956e86\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551260\",\"created_at\":\"2026-03-09T18:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:00:07.672537Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"add6a2cb-10c6-4fed-9176-c182fa380a97\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551320, status: Complete\",\"created_at\":\"2026-03-09T18:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:00:07.672537Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"73b40074-b3b8-4aec-8834-9521c705e9aa\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551320, status: Failed\",\"created_at\":\"2026-03-09T18:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:00:07.672537Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e4437b91-15f8-42ed-a70f-7abeea624e3f\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T18:00:01.251356Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:00:01.25117Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1551d4a9-6cde-432e-9e85-c2acb0edc5f9\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T18:00:01.251356Z\",\"count\":1,\"first_observed\":\"2026-03-09T18:00:01.25117Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"58a22323-ca23-4334-9ecc-6c41bd5f1d6f\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-09T17:39:11Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:39:13.062663Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3b2a63ec-90e5-41f9-a08f-b446ab2c90eb\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-09T17:39:11Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:39:13.288067Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b0a9954b-fe2f-435a-bddf-a6207f90ebcd\",\"config_id\":\"215f3a0e-f65e-4a7f-ac58-e54d6d74e853\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-09T17:39:11Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:39:13.288067Z\",\"name\":\"k8s-check-not-ready\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"46dc9ffb-e47d-403b-836f-6a882eada29d\",\"config_id\":\"f690f0bf-51fe-43a7-8a90-a03bcd996c00\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-09T17:39:11Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:39:13.062663Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-beta\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"12ca34ff-4016-4bb4-8dce-f04b6d61cf2c\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T17:36:04.033858Z\",\"count\":4,\"first_observed\":\"2026-03-09T16:44:43.421929Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f01d28c1-5aa4-4bd0-9b6b-973b2c10d1e6\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T17:34:10.37135Z\",\"count\":27,\"first_observed\":\"2026-03-09T09:53:40.091812Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd3a3-200d-f322-4be7-6d39cc2b9b29\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"Warning\",\"severity\":\"low\",\"source\":\"config-db\",\"summary\":\"Warning\",\"created_at\":\"2026-03-09T17:26:49.101433Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:26:49.101433Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d10110e6-be73-40fa-8c50-e03e50f0caef\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T17:23:10.127774Z\",\"count\":2,\"first_observed\":\"2026-03-09T16:37:20.480229Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd39e-c968-ffd9-629a-66fd7cf96b3f\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running\",\"created_at\":\"2026-03-09T17:22:04.776203Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:22:04.776203Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"584cb6f9-11d5-4daf-ae53-b384b3c4597a\",\"config_id\":\"24618f8f-3a51-462a-aafa-62784a65a9b9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T17:10:46.239598Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:10:46.239424Z\",\"name\":\"jetstack\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"cert-manager\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"07902dc9-1e4c-43cb-8de3-eb2ef15cb2d4\",\"config_id\":\"f7acfd50-43bb-458e-b807-76bd5077fe47\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T17:10:46.239598Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:10:46.239424Z\",\"name\":\"cert-manager-cert-manager\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"cert-manager\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9e88b910-d4ff-4322-a244-dbe71c5ca508\",\"config_id\":\"24618f8f-3a51-462a-aafa-62784a65a9b9\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 532.7kB from 'https://charts.jetstack.io'\",\"created_at\":\"2026-03-09T17:10:41Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:10:43.046692Z\",\"name\":\"jetstack\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"cert-manager\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c64a8dfb-6b40-4c77-b5e6-32cf4f85582e\",\"config_id\":\"34336566-3934-3631-3563-393437626536\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"nextRotationTime, primary\",\"created_at\":\"2026-03-09T17:08:07.959387Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:08:07.958977Z\",\"name\":\"projects/flanksource-sandbox/locations/global/keyRings/sops-keyring/cryptoKeys/sops-key\",\"type\":\"GCP::CryptoKey\",\"tags\":{\"project\":\"flanksource-sandbox\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"52fd3750-8773-40ee-99b7-e9f13b0956b9\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T17:00:07.679702Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:00:07.679376Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"58bfd68b-6b4d-4a8d-a422-23a8eee08b17\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T17:00:04.302249Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:00:04.302123Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"605eaa00-5948-4741-91dc-7ad5353d827e\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551200\",\"created_at\":\"2026-03-09T17:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:00:07.679376Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5066d491-0e96-48ad-a499-12242aa24957\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551260, status: Complete\",\"created_at\":\"2026-03-09T17:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:00:07.679376Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d7fa1d04-e660-4639-876b-8fb505d879ac\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551200\",\"created_at\":\"2026-03-09T17:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:00:04.302123Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fa5ac193-d2e2-452e-b65d-d06bf9e09a9e\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551260, status: Failed\",\"created_at\":\"2026-03-09T17:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T17:00:04.302123Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f07444e5-a5b2-4224-b797-08bfc8907626\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T17:00:01.194065Z\",\"count\":2,\"first_observed\":\"2026-03-09T16:00:01.248829Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f63f9229-d4d6-4416-8728-a562ff77d658\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T17:00:01.187984Z\",\"count\":2,\"first_observed\":\"2026-03-09T16:00:01.248829Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6ad03c64-8932-4155-9f39-8d9268f4f7d7\",\"config_id\":\"74f3fa16-48f2-44aa-a6d1-70685de3f994\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"http://10.244.0.72:80/health\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T16:56:08Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:56:10.034225Z\",\"name\":\"catalogue-85fbb5f6d4-n7fxr-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f2b30963-4ec1-49bc-93b9-4432d523b418\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T16:52:16.265785Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:52:16.264863Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4487a3e8-328e-48cb-8b1e-0af19948a707\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-09T16:49:08Z\",\"count\":2,\"first_observed\":\"2026-03-09T16:44:04.109957Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"01c00a1a-fac2-46ba-8650-2d2445358db7\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-09T16:49:08Z\",\"count\":2,\"first_observed\":\"2026-03-09T16:44:04.109957Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0cc87800-5729-4f6f-9894-5f2a8c0ebffc\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container shipping failed liveness probe, will be restarted\",\"created_at\":\"2026-03-09T16:33:06Z\",\"count\":2,\"first_observed\":\"2026-03-09T16:08:55.109967Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c862e884-e94c-4b67-a119-045d561dc5e0\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"Started\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Started container carts\",\"created_at\":\"2026-03-09T16:32:51Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:32:52.252874Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9eb979dd-8a70-4f9f-8964-ad27cb78c7fd\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-09T16:26:49.091752Z\",\"count\":2,\"first_observed\":\"2026-03-09T15:27:07.092674Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"603b45a8-0e69-4ef5-9d6e-534bdd0c1ea5\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Readiness probe failed: Get \\\"https://10.244.0.33:8443/readyz\\\": context deadline exceeded\",\"created_at\":\"2026-03-09T16:15:18Z\",\"count\":2,\"first_observed\":\"2026-03-09T15:54:43.278518Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0b8f6f4d-a06a-45c6-98bc-5146638b0e21\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T16:13:01.13467Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:13:01.134508Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"01155b5b-1725-4dd1-a441-c2fe69cfbbfc\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T16:08:06.236872Z\",\"count\":2,\"first_observed\":\"2026-03-09T15:53:00.302147Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3bed6502-0622-4b01-a94b-e1ce8462b56b\",\"config_id\":\"1b24de87-4c79-429d-8a39-1bf55c9a1217\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.sent\",\"created_at\":\"2026-03-09T16:08:06.175941Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:08:06.175196Z\",\"name\":\"notify-recommender-playbook\",\"type\":\"MissionControl::Notification\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd35b-0dfb-b986-1161-36164cd1b4b8\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Passed: uptime: 440/462 (95.2%)\",\"created_at\":\"2026-03-09T16:08:05.883043Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:08:05.883043Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f6309e2d-8008-4885-ad62-db4106611b8e\",\"config_id\":\"38373432-3336-3131-3061-343938616636\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"ipAllocationPolicy.defaultPodIpv4RangeUtilization, \",\"created_at\":\"2026-03-09T16:06:44.691691Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:06:44.691598Z\",\"name\":\"hub-cluster\",\"type\":\"GCP::GKECluster\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"78a362fe-0003-4b3f-98cd-c6583d5e1f5d\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-09T16:06:44.691691Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:06:44.691598Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6d57fa11-66ba-4155-8ee0-aed0fff658e8\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T16:00:04.787335Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:00:04.787074Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b3a11ab5-74a2-4b1e-807f-a469150626e6\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T16:00:04.787335Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:00:04.787074Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"26b356c1-d7ba-4d22-99b2-46d6995be0cf\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551140\",\"created_at\":\"2026-03-09T16:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:00:04.787074Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9ca679b4-223a-4ef5-b432-5a985503ecb6\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551200, status: Complete\",\"created_at\":\"2026-03-09T16:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:00:04.787074Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}}]}\n" + }, + "redirectURL": "", + "headersSize": 254, + "bodySize": 14520, + "_transferSize": 14774, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:21:00.364Z", + "time": 759.1830000518561, + "timings": { + "blocked": 0.7800000481233, + "dns": 0.0030000000000000027, + "ssl": -1, + "connect": 0.29800000000000004, + "send": 0.251, + "wait": 681.6910000068434, + "receive": 76.15999999688938, + "_blocked_queueing": 0.5720000481233001, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + }, + { + "_connectionId": "1847493", + "_initiator": { + "type": "script", + "stack": { + "callFrames": [ + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 77028 + }, + { + "functionName": "xhr", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 74183 + }, + { + "functionName": "tR", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 78123 + }, + { + "functionName": "request", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 81706 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 82150 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 56461 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 146, + "columnNumber": 15185 + }, + { + "functionName": "queryFn", + "scriptId": "441", + "url": "http://localhost:3000/_next/static/chunks/51306.d553cebb7db1f5b5.js", + "lineNumber": 0, + "columnNumber": 1581 + }, + { + "functionName": "fetchFn", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 281962 + }, + { + "functionName": "_", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 48700 + }, + { + "functionName": "u", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 49093 + }, + { + "functionName": "fetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 198, + "columnNumber": 282641 + }, + { + "functionName": "executeFetch", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 41967 + }, + { + "functionName": "setOptions", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 40535 + }, + { + "functionName": "", + "scriptId": "385", + "url": "http://localhost:3000/_next/static/chunks/pages/_app-624301ec1338b900.js", + "lineNumber": 240, + "columnNumber": 55524 + }, + { + "functionName": "uU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 84107 + }, + { + "functionName": "oV", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 113153 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111539 + }, + { + "functionName": "oU", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 111605 + }, + { + "functionName": "oP", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 96234 + }, + { + "functionName": "r8", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 44812 + }, + { + "functionName": "", + "scriptId": "389", + "url": "http://localhost:3000/_next/static/chunks/framework-bbe2e40cc22b61d5.js", + "lineNumber": 8, + "columnNumber": 93598 + } + ] + } + }, + "_priority": "High", + "_resourceType": "xhr", + "cache": {}, + "connection": "3000", + "pageref": "page_1", + "request": { + "method": "POST", + "url": "http://localhost:3000/api/catalog/changes", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Accept", + "value": "application/json" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Accept-Language", + "value": "en-US,en;q=0.9" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Content-Length", + "value": "128" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "Host", + "value": "localhost:3000" + }, + { + "name": "Origin", + "value": "http://localhost:3000" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Prefer", + "value": "return=representation" + }, + { + "name": "Referer", + "value": "http://localhost:3000/catalog/changes?pageIndex=6&pageSize=200" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" + }, + { + "name": "sec-ch-ua", + "value": "\"Not:A-Brand\";v=\"99\", \"Google Chrome\";v=\"145\", \"Chromium\";v=\"145\"" + }, + { + "name": "sec-ch-ua-mobile", + "value": "?0" + }, + { + "name": "sec-ch-ua-platform", + "value": "\"macOS\"" + } + ], + "queryString": [], + "cookies": [], + "headersSize": 4450, + "bodySize": 128, + "postData": { + "mimeType": "application/json", + "text": "{\"from\":\"now-2d\",\"to\":\"now\",\"page\":7,\"page_size\":200,\"sort_by\":\"-created_at\",\"recursive\":\"none\",\"include_deleted_configs\":false}" + } + }, + "response": { + "status": 200, + "statusText": "OK", + "httpVersion": "HTTP/1.1", + "headers": [ + { + "name": "Vary", + "value": "Origin, Accept-Encoding" + }, + { + "name": "connection", + "value": "close" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "date", + "value": "Tue, 10 Mar 2026 08:21:03 GMT" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains" + }, + { + "name": "transfer-encoding", + "value": "chunked" + } + ], + "cookies": [], + "content": { + "size": 107901, + "mimeType": "application/json", + "compression": 93294, + "text": "{\"summary\":{\"ChartPullSucceeded\":1,\"Failed\":1,\"GitHubActionRunSuccess\":2,\"HealthUnknown\":3,\"Healthy\":10,\"Killing\":3,\"NewArtifact\":5,\"NotificationSent\":6,\"OOMKilled\":1,\"PermissionAdded\":38,\"PlaybookScheduled\":3,\"Pulling\":1,\"SawCompletedJob\":5,\"ScalingReplicaSet\":2,\"SuccessfulDelete\":7,\"Unhealthy\":5,\"UpgradeSucceeded\":1,\"Warning\":1,\"diff\":105},\"total\":2580,\"changes\":[{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"26b356c1-d7ba-4d22-99b2-46d6995be0cf\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551140\",\"created_at\":\"2026-03-09T16:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:00:04.787074Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5aaf75ca-2e28-4c93-b0e0-771de8149c4a\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551200, status: Failed\",\"created_at\":\"2026-03-09T16:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:00:04.787074Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ccdc9770-6e41-4b33-9d94-3f779cf509c8\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551140\",\"created_at\":\"2026-03-09T16:00:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T16:00:04.787074Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ac1e2013-f5e3-47ab-bec4-a015384d2c93\",\"config_id\":\"5fd5dd89-924b-4a8e-8e2b-ec077c42f66d\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"https://10.244.0.33:8443/healthz\\\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T15:54:50Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:54:52.287034Z\",\"name\":\"mission-control-demo-0\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5c5574b2-6f17-4761-860c-8fd2f390e0aa\",\"config_id\":\"71f8803c-208b-4737-8ac1-417ecb65c7bc\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Liveness probe failed: Get \\\"http://10.244.0.77:80/health\\\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)\",\"created_at\":\"2026-03-09T15:54:25Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:54:28.29643Z\",\"name\":\"payment-695f8cdd74-nsqkz-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd34c-cc78-dd93-fb8d-b042d2aacb53\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"NotificationSent\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-09T15:52:31.608274Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:52:31.608274Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4aef3312-218b-442d-9019-5d9423374aac\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"PlaybookScheduled\",\"severity\":\"info\",\"source\":\"Playbook\",\"summary\":\"Playbook: recommend-playbook\",\"created_at\":\"2026-03-09T15:51:54.707245Z\",\"count\":0,\"first_observed\":\"2026-03-09T15:51:54.706992Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd34c-3bef-53f8-c977-73b5a9fe0b71\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"NotificationSent\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-09T15:51:54.606798Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:51:54.606798Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd347-1dfd-7e90-aaf2-e5c4152a7da8\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"1039ms \\u003e 1000ms\",\"created_at\":\"2026-03-09T15:46:19.260852Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:46:19.260852Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ec299ca1-484f-4a80-80da-5a0df593d540\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T15:36:59.094735Z\",\"count\":2,\"first_observed\":\"2026-03-09T14:37:52.329794Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd33e-0dc8-a954-8338-d62815ec8109\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Passed: uptime: 464/466 (99.6%)\",\"created_at\":\"2026-03-09T15:36:25.28775Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:36:25.28775Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd339-56be-09fa-67ae-9f740ece03d8\",\"config_id\":\"298543f0-04e0-4956-a8fe-3ae54f4f74fa\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"129ms \\u003e 100ms\",\"created_at\":\"2026-03-09T15:31:16.286227Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:31:16.286227Z\",\"name\":\"dns-pass\",\"type\":\"MissionControl::Canary\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6d15abe2-d094-42ea-84af-16aaa342b14a\",\"config_id\":\"34313762-6131-3666-3262-376263633834\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"created_at\":\"2026-03-09T15:22:47.978904Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:22:47.978281Z\",\"name\":\"flanksource-prod:billing.gcp_billing_export_v1_012394_00F442_85A410\",\"type\":\"GCP::BigQuery::Table\",\"tags\":{\"project\":\"flanksource-prod\",\"region\":\"europe-west1\",\"zone\":\"europe-west1\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"21f84694-183a-4f83-8ce9-106e840b620f\",\"config_id\":\"7174f568-6a0d-4864-8587-a80f3d3836b3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T15:02:46.241753Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:02:46.241621Z\",\"name\":\"external-dns-df78679c-ppwwk\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"external-dns\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dd2e65a3-9897-43ab-a3dd-acf36a8f20a7\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T15:00:07.536483Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:00:07.535752Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bf85b642-9969-47f8-b436-2a566df40c78\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T15:00:07.536483Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:00:07.535752Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c1dc881b-df8a-4e9e-a1f3-310b9b93e14e\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551140, status: Failed\",\"created_at\":\"2026-03-09T15:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:00:07.535752Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e57e6158-a6f3-43b0-92f6-023784fd8dde\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551140, status: Complete\",\"created_at\":\"2026-03-09T15:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:00:07.535752Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c963da6b-8ced-48f5-b58d-3fa1eb2674fc\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551080\",\"created_at\":\"2026-03-09T15:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:00:07.535752Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d1bef321-5070-4c35-9cd5-dda36f905e07\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551080\",\"created_at\":\"2026-03-09T15:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T15:00:07.535752Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e56361e6-787e-46cd-bd12-ffc402d9fea2\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T15:00:01.1083Z\",\"count\":3,\"first_observed\":\"2026-03-09T13:00:03.300579Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7a60c905-81c9-4a16-bc8f-a78f72590c1c\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T15:00:01.102683Z\",\"count\":3,\"first_observed\":\"2026-03-09T13:00:03.300579Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f407370b-39ce-484e-9ea4-f0fec6afba5b\",\"config_id\":\"eab5c353-95e6-42e8-8cb4-a44cb31e9170\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T14:54:16.318107Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:54:16.317603Z\",\"name\":\"specs\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd317-76ed-4694-bf8a-397b96a27084\",\"config_id\":\"eab5c353-95e6-42e8-8cb4-a44cb31e9170\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"ReconciliationSucceeded: Applied revision: main@sha1:c0debc7839ebb24de107d52cb5ba1e03f2302fde\",\"created_at\":\"2026-03-09T14:54:16.301137Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:54:16.301137Z\",\"name\":\"specs\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ffff3c4f-615b-4b6e-91ad-cd54148a5272\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"OOMKilled\",\"severity\":\"high\",\"source\":\"diff\",\"summary\":\"status.containerStatuses\",\"created_at\":\"2026-03-09T14:52:49.163284Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:52:49.163115Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4ee719f5-3a0f-4e53-9fa9-5bdbca6ee560\",\"config_id\":\"eab5c353-95e6-42e8-8cb4-a44cb31e9170\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T14:52:33.629215Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:52:33.628953Z\",\"name\":\"specs\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd315-e53d-b867-3f3c-d3b597f6552d\",\"config_id\":\"eab5c353-95e6-42e8-8cb4-a44cb31e9170\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Progressing\",\"created_at\":\"2026-03-09T14:52:33.468594Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:52:33.468594Z\",\"name\":\"specs\",\"type\":\"Kubernetes::Kustomization\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"flux-system\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0e31d642-3da5-4ccc-9f5d-d9d0965a6bb7\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container shipping failed liveness probe, will be restarted\",\"created_at\":\"2026-03-09T14:50:33Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:50:34.020779Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0c8b3a96-c4d9-413b-b95c-1e00babcec59\",\"config_id\":\"84aa7588-843e-41c9-bb70-26901a946ace\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container carts failed liveness probe, will be restarted\",\"created_at\":\"2026-03-09T14:39:03Z\",\"count\":2,\"first_observed\":\"2026-03-09T13:38:19.2887Z\",\"name\":\"carts-65bbfd77dc-bbz6f-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd308-72a1-b647-0e92-303d05fd927b\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"Warning\",\"severity\":\"low\",\"source\":\"config-db\",\"summary\":\"failed to describe instances: operation error EC2: DescribeInstances, exceeded maximum number of attempts, 3, https response error StatusCode: 500, RequestID: 54470b7d-fa4e-4c0b-a8df-73e3c73505c0, api error InternalError: exception while calling ec2.DescribeInstances: Docker not available,failed to get restore operations for RDS instances: failed to get RDS events: operation error RDS: DescribeEvents, https response error StatusCode: 501, RequestID: c41c19c8-93ec-4ac2-b922-1b95a854fe86, api error InternalFailure: The API action 'DescribeEvents' for service 'rds' is either not available in your current license plan or has not yet been emulated by LocalStack. Please refer to https://docs.localstack.cloud/references/coverage/coverage_rds for more information.,Failed to describe config rules: operation error Config Service: DescribeConfigRules, https response error StatusCode: 400, RequestID: 4783b3b6-764f-4356-b028-933e068504a6, api error UnrecognizedClientException: The security token included in the request is invalid.,failed to scrape backup jobs: failed to list backup jobs: operation error Backup: ListBackupJobs, https response error StatusCode: 501, RequestID: 3752be00-9a01-497a-b541-193bbee8be7c, api error InternalFailure: The API action 'ListBackupJobs' for service 'backup' is either not available in your current license plan or has not yet been emulated by LocalStack. Please refer to https://docs.localstack.cloud/references/coverage/coverage_backup for more information.,failed to scrape restore jobs: failed to list restore jobs: operation error Backup: ListRestoreJobs, https response error StatusCode: 501, RequestID: c8b83dd9-cf54-40b2-aaeb-0d456c185e80, api error InternalFailure: The API action 'ListRestoreJobs' for service 'backup' is either not available in your current license plan or has not yet been emulated by LocalStack. Please refer to https://docs.localstack.cloud/references/coverage/coverage_backup for more information.,failed to describe instances: operation error EC2: DescribeInstances, exceeded maximum number of attempts, 3, https response error StatusCode: 500, RequestID: f64b58a5-56b3-42bd-904a-8d51859db5ac, api error InternalError: exception while calling ec2.DescribeInstances: Docker not available,failed to get restore operations for RDS instances: failed to get RDS events: operation error RDS: DescribeEvents, https response error StatusCode: 501, RequestID: 5e630cd6-d303-4ecb-a8da-e29c5d7184fd, api error InternalFailure: The API action 'DescribeEvents' for service 'rds' is either not available in your current license plan or has not yet been emulated by LocalStack. Please refer to https://docs.localstack.cloud/references/coverage/coverage_rds for more information.,Failed to describe config rules: operation error Config Service: DescribeConfigRules, https response error StatusCode: 400, RequestID: 48e0d99c-18cd-4097-af0b-d8abd2fa6666, api error UnrecognizedClientException: The security token included in the request is invalid.,failed to scrape backup jobs: failed to list backup jobs: operation error Backup: ListBackupJobs, https response error StatusCode: 501, RequestID: 6c886c33-ee7a-4aa1-b56c-e1196ca6d1d6, api error InternalFailure: The API action 'ListBackupJobs' for service 'backup' is either not available in your current license plan or has not yet been emulated by LocalStack. Please refer to https://docs.localstack.cloud/references/coverage/coverage_backup for more information.,failed to scrape restore jobs: failed to list restore jobs: operation error Backup: ListRestoreJobs, https response error StatusCode: 501, RequestID: 22c8ab4e-42bb-4ff3-b062-d94e10477ad8, api error InternalFailure: The API action 'ListRestoreJobs' for service 'backup' is either not available in your current license plan or has not yet been emulated by LocalStack. Please refer to https://docs.localstack.cloud/references/coverage/coverage_backup for more information.,Failed to describe trusted advisor checks: operation error Support: DescribeTrustedAdvisorChecks, https response error StatusCode: 400, RequestID: ea46c41f-f7e2-435d-834c-62e341c8af0d, api error UnrecognizedClientException: The security token included in the request is invalid.\",\"created_at\":\"2026-03-09T14:37:52.160988Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:37:52.160988Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b09826f9-db46-4476-85de-3012c1505267\",\"config_id\":\"2f904077-882b-4b8c-8681-b8f335063711\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:29:01.227225Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:29:01.227129Z\",\"name\":\"canary-checker-vcluster-test-vcluster\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canary-checker-vcluster-test\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"660a8fec-de8a-4edd-84d6-f50ca5fd5385\",\"config_id\":\"63653134-3937-3464-6638-613130363564\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"errors\",\"created_at\":\"2026-03-09T14:26:58.112121Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:26:58.111912Z\",\"name\":\"Scraper/81d62007-0387-4f14-81d8-1ef999f849ad\",\"type\":\"MissionControl::Job\"},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"38c6ad8a-e121-4b4e-8192-6edbf6d3ade1\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun\",\"created_at\":\"2026-03-09T14:23:18.462218Z\",\"count\":3,\"first_observed\":\"2026-03-09T13:42:39.888749Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"931dc753-c2df-4909-b1ab-211a39b4ef13\",\"config_id\":\"1b24de87-4c79-429d-8a39-1bf55c9a1217\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.sent\",\"created_at\":\"2026-03-09T14:23:18.460064Z\",\"count\":2,\"first_observed\":\"2026-03-09T13:52:05.937812Z\",\"name\":\"notify-recommender-playbook\",\"type\":\"MissionControl::Notification\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a06b0ad5-313f-4dfb-bfaf-02d0144a52ff\",\"config_id\":\"38ea6ad2-a824-42b9-a76a-acbc5633a180\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T14:22:59.845774Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:22:59.845378Z\",\"name\":\"mission-control-demo\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3033f8ce-2c29-4aff-b53a-ebad7010b92c\",\"config_id\":\"0679e8ca-5edc-472c-b631-389b5f4f99bf\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T14:14:40.168312Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:10.316184Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2f2-b64f-24a7-234f-d9c9e1f924a8\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"NotificationSent\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-09T14:14:07.695287Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:14:07.695287Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ef641ab3-222d-446f-b279-9a473bf4842e\",\"config_id\":\"6b5e5148-b83b-417f-a1fe-1e064a9c2a67\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:14:01.122482Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:47:47.395224Z\",\"name\":\"demo-env-mission-control-demo\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b09293d2-de8f-4496-95f4-48f25782d4fe\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"PlaybookScheduled\",\"severity\":\"info\",\"source\":\"Playbook\",\"summary\":\"Playbook: recommend-playbook\",\"created_at\":\"2026-03-09T14:13:54.681828Z\",\"count\":0,\"first_observed\":\"2026-03-09T14:13:54.681552Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2f2-832f-33ec-aad7-02e7569aca7a\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"NotificationSent\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-09T14:13:54.607113Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:13:54.607113Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7f9f90c8-bd33-45aa-a163-639d5b4b7c05\",\"config_id\":\"f74a2f21-4f78-4506-bdcd-3e005d4d35a3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions, status.artifact\",\"created_at\":\"2026-03-09T14:12:34.2663Z\",\"count\":6,\"first_observed\":\"2026-03-09T11:47:47.395224Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f361650e-4f7d-4bb1-b981-696869a2a541\",\"config_id\":\"03bbcb57-86a0-4f24-bb30-5f0da03e18cc\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:12:07.144183Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:46:52.181373Z\",\"name\":\"canary-checker-canary-checker\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ac79817c-f177-4a71-bd62-0d7458a41abc\",\"config_id\":\"95066c3d-5512-4a82-a407-fdc5354d6d64\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:09:22.180744Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:48:11.769698Z\",\"name\":\"demo-env-mission-control-aws\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"04d4dc27-caa4-4910-8089-7ffb93f53cad\",\"config_id\":\"15014a4d-b817-4706-a3e4-e7e778aac725\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:08:19.211708Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:48:05.416576Z\",\"name\":\"mission-control-mission-control-playbooks-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3247f58d-3f33-4e40-9733-b0a094935232\",\"config_id\":\"244ec7b2-585c-45c5-b25a-f922a9005123\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:08:19.197497Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:58.200477Z\",\"name\":\"mission-control-mission-control-playbooks-ai\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7a3eae04-b835-4ae8-9e8e-3b47c99cd180\",\"config_id\":\"4c62a73d-08a4-4c45-9838-5dbe98d157d5\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:08:19.194019Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:58.200477Z\",\"name\":\"mission-control-mission-control-watchtower\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c401c089-45f2-49d7-8d6c-366cad85afb2\",\"config_id\":\"68c0615d-b480-4ae1-9eb5-577e42652721\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:08:19.182524Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:58.200477Z\",\"name\":\"mission-control-mission-control-kubernetes-view\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"880634db-f6b1-4b6e-9b1c-5ea2a357106b\",\"config_id\":\"cdeecdb1-d189-4158-9d21-ef196ada857d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:08:19.179999Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:58.200477Z\",\"name\":\"default-mission-control-argocd\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5c8b3a93-9e00-4d29-918c-44b3b36a2e6a\",\"config_id\":\"088ae9d7-a7b0-4eaf-bd68-db43768a42d5\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:08:19.173316Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:58.200477Z\",\"name\":\"default-mission-control-flux\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e27a341c-c8d8-4c1d-9c74-7de434356a31\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9c11acd7-026a-462e-b005-0313781716a1\",\"config_id\":\"7bc7f0d7-00c5-4dc1-afdb-950349c9f199\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control-kratos-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bc6b8a0b-1f6d-40f1-9232-535908d0dfc4\",\"config_id\":\"57217e8d-48c7-42fd-9262-3ee2784543d6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control-dashboard\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"73f5fbfc-61d2-436c-9f3e-5c041c33f31f\",\"config_id\":\"cbe6a8f1-3a21-4195-8d2f-c5888919daf8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"notification-send-history\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"56fd77e0-d2af-408d-928b-1095719b4f49\",\"config_id\":\"e8a350e5-8f01-4d70-aad4-2da2c8988437\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"recent-changes\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"552316ff-8b75-45ba-98cb-8a68345b0521\",\"config_id\":\"903822c6-72f6-4f30-b6c0-bd648bff6856\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"failing-health-checks\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"25f7f382-1d36-49d4-8285-c3ad6f47ef0c\",\"config_id\":\"f8c7acfe-d813-4d1b-a89f-8f6d0ef35ae2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control-db\",\"type\":\"MissionControl::Connection\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"93fbd473-74de-4850-bd82-a64a9e15aa90\",\"config_id\":\"ebbfaab0-b5fd-47c1-a28d-13b27cbeea55\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"547fa4fc-73d8-4296-9e5b-941b6c98ce6d\",\"config_id\":\"d41a077e-7610-479b-8d1f-4da66bcbf542\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4e0f8aae-bd0c-4c32-be10-c02bb5d9ee20\",\"config_id\":\"91957868-6a24-4926-942a-6e70968498bb\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control-properties-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"25db0616-d667-42df-9494-475c6897f1a7\",\"config_id\":\"78971e6d-2ea4-4aeb-92fa-00014c430f77\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"jobhistory\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c536b0f5-17c2-44d6-9898-d257f07bb13c\",\"config_id\":\"6a6fe1f7-b724-4da4-99e5-13b58aa36e4f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control-database\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"64a2d677-3aed-49dd-9b8c-1646f1386627\",\"config_id\":\"06b5529b-7ae0-4f4e-ad02-947d4df6495d\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels, subsets\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b17b8a51-94c1-4da8-b21c-d73200e88858\",\"config_id\":\"3dc4de30-b1c9-458a-a4a3-e1cc1b188851\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control-system\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"192fa919-6a66-4ac5-a472-b892ba9d4a6f\",\"config_id\":\"8b261a43-ceb8-4da1-a50f-93433efe6130\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"17e5f7d1-33be-4f76-8544-071be1378f23\",\"config_id\":\"ffaf184c-05aa-4f2b-b602-418dab80e8e2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control-pods\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"575c0a9c-f0bf-4453-a274-e3a4a8635b83\",\"config_id\":\"98bf42c8-5d2e-4628-bcdf-0b990ee89151\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"unhealthy-configs\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"60121f66-fed1-4816-8c2c-aa6781331916\",\"config_id\":\"bace5094-3bf7-4657-8fc8-efc981bcded4\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"mission-control-sa\",\"type\":\"Kubernetes::ServiceAccount\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"09a84258-5d88-4afc-b567-06df6970f30c\",\"config_id\":\"b5335272-e1d1-4430-ab6f-acb62d3f402a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:08:19.098376Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2ed-6462-cbd5-183e-66423cb285e6\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Succeeded\",\"created_at\":\"2026-03-09T14:08:19.041608Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:19.041608Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2ed-6310-fe78-e77b-20d960facfb8\",\"config_id\":\"ee9ba697-373e-4e82-8bdc-7c830bc6f17d\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"created_at\":\"2026-03-09T14:08:18.703854Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:18.703854Z\",\"name\":\"flanksource-github-actions\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2ed-62ce-10a5-c5d7-9ca233077099\",\"config_id\":\"81d62007-0387-4f14-81d8-1ef999f849ad\",\"change_type\":\"Unhealthy\",\"severity\":\"medium\",\"source\":\"config-db\",\"summary\":\"Stale: scraper hasn't run for 125m\",\"created_at\":\"2026-03-09T14:08:18.638011Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:08:18.638011Z\",\"name\":\"aws\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1457b2d7-32c9-4dac-a08a-bd1a8c8be299\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-09T14:08:13.561364Z\",\"count\":0,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0a5e5bc8-f8c5-4574-95ee-14dffcce41c6\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-09T14:08:13.561364Z\",\"count\":0,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7eb208bc-6e95-48b6-a611-0363c05ba3ca\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-09T14:08:13.561364Z\",\"count\":0,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"96cfa3f7-273e-4686-b724-a01116ecea33\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user disruption-controller, role system:controller:disruption-controller\",\"created_at\":\"2026-03-09T14:08:13.561364Z\",\"count\":0,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3360cb58-e539-4ec5-acde-be6b50e948bd\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user kube-prometheus-stack-kube-state-metrics, role kube-prometheus-stack-kube-state-metrics\",\"created_at\":\"2026-03-09T14:08:13.561364Z\",\"count\":0,\"first_observed\":\"2026-03-09T14:08:19.097524Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e9e755cf-abaa-46d7-ac48-653058158fe5\",\"config_id\":\"4c767e1a-d671-4f8e-962f-f3e150763569\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:07:43.055582Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:58.200477Z\",\"name\":\"mission-control-mission-control-playbooks-flux\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1cc457b1-9faf-4ea2-8bf6-ea6151b43a1b\",\"config_id\":\"e22c529e-12e1-4888-a5a2-119cdd6ca14a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:07:26.421135Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:48:11.769698Z\",\"name\":\"mission-control-mission-control-aws\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f891d380-3946-4b20-b5d9-c5f918b80b06\",\"config_id\":\"fbac0e19-1664-4805-ac9f-6186b0a66f3a\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T14:07:26.419382Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:25.238222Z\",\"name\":\"mission-control-demo-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dcd578c5-3b1c-4f14-957c-82f837f7694c\",\"config_id\":\"8f20060a-676c-47bf-bdbd-b8024e8e22d3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:07:26.415917Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:31.243336Z\",\"name\":\"demo-env-mission-control-demo-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"245317ea-e165-46fc-97f3-54c7e56178a4\",\"config_id\":\"eaaff2b6-7abb-4a97-9d0e-38ac84aafbb8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:07:26.407726Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:04.051654Z\",\"name\":\"mission-control-mission-control-beta\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3b3ee726-463e-44f0-97f0-02eb5cb3f618\",\"config_id\":\"8444ebf2-1532-4340-a02e-c1241b5d6bf1\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:07:26.383325Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:07:26.328921Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1c19ee55-485b-41a8-a157-f92d4e0fdc31\",\"config_id\":\"4c3447a2-277f-4e02-add2-2d10f707bc80\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:07:26.383325Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:07:26.328921Z\",\"name\":\"mission-control-kratos-config-x-mission-control-x-mi-0704b0eefb\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b635340a-1c3f-44b5-a49e-997ff09fa98e\",\"config_id\":\"38ea6ad2-a824-42b9-a76a-acbc5633a180\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T14:07:26.383325Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:07:26.328921Z\",\"name\":\"mission-control-demo\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f28935c6-dec8-4b40-a9f9-986d99f60d2d\",\"config_id\":\"f6e3f36f-2b5a-4aa2-b1cd-d7afd737785c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:07:26.383325Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:07:26.328921Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Ingress\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e8b91769-fe32-466f-a574-d5622e3f36c7\",\"config_id\":\"435e2274-046f-4c25-a091-1d1abc908476\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:07:26.383325Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:07:26.328921Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a7cc452b-8683-4e51-bbeb-0fcbf896fd56\",\"config_id\":\"56e4e032-3eb8-4f34-a99f-0b0b307bae13\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:07:26.383325Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:07:26.328921Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e40b9ff1-0aff-4c33-8bde-5ea2dfbc0d9f\",\"config_id\":\"16dc13c5-3893-48bf-a592-624be914417c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:07:26.383325Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:07:26.328921Z\",\"name\":\"mission-control-properties-config-x-mission-control--e3d9328de4\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4ed47d52-327c-4872-b497-a1158998d080\",\"config_id\":\"ec10a9ba-d2e8-4fe4-bf9f-eb778016a0a3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels, subsets\",\"created_at\":\"2026-03-09T14:07:26.383325Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:07:26.328921Z\",\"name\":\"incident-manager-ui-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"40aaedcb-1464-40c2-b986-ac5e4c096c65\",\"config_id\":\"b770b55a-6334-44dd-827d-507d9dbda1bc\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:06:04.273246Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:58.200477Z\",\"name\":\"default-mission-control-prometheus\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f0d963b6-0f13-4a5d-bebb-eaea33446e29\",\"config_id\":\"b1c0cbf1-31fd-4bd9-b11c-5c3c14b6a1f6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:06:04.266572Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:58.200477Z\",\"name\":\"mission-control-mission-control-kubernetes-vps-d1140a41\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"eeec3ae8-5eae-4c89-8b06-04819d6b6046\",\"config_id\":\"98d19886-ff7c-4936-b554-d7e47b65d22f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:06:04.261611Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:44:28.293456Z\",\"name\":\"demo-env-mission-control-demo-mission-control-tenant-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d839ebcc-3141-4205-8036-7d8d7fb34e5c\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions\",\"created_at\":\"2026-03-09T14:06:01.297838Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:06:01.297674Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2eb-4a4a-dcf1-031a-ca2dd2d61255\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Updating\",\"created_at\":\"2026-03-09T14:06:01.289522Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:06:01.289522Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"64bd6a54-103e-42dd-a1c5-03e2e14bf1ee\",\"config_id\":\"22cc2951-2a78-4ac1-9b91-4bf52953bf09\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:05:58.148433Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:04.051654Z\",\"name\":\"mission-control-mission-control-crds\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b1958d29-fd0c-4c96-99b6-15386cc2126e\",\"config_id\":\"b7b322aa-d7ef-4970-a87f-42fa807ef6ea\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T14:05:55.305377Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:45:04.051654Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"03d03c2a-5e21-4586-80a4-6a06eaecfab9\",\"config_id\":\"6e7b6ca2-65af-4919-8d16-7a4893c3ea11\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T14:05:37.269774Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:37.269617Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8b4c12f8-c1c6-482b-8d67-30a3cbcbe77b\",\"config_id\":\"2b226eae-eca4-4f99-8ca9-e17416b144c8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T14:05:34.089265Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:34.088533Z\",\"name\":\"incident-manager-ui-56788cbb75\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2ea-dff5-7619-34b7-de68cd4cddbd\",\"config_id\":\"2b226eae-eca4-4f99-8ca9-e17416b144c8\",\"change_type\":\"HealthUnknown\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Scaled to Zero: 0/0 ready\",\"created_at\":\"2026-03-09T14:05:34.068524Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:34.068524Z\",\"name\":\"incident-manager-ui-56788cbb75\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c79e52bb-a352-4b87-a9bc-378fe5abf2f4\",\"config_id\":\"6e7b6ca2-65af-4919-8d16-7a4893c3ea11\",\"change_type\":\"UpgradeSucceeded\",\"severity\":\"low\",\"source\":\"helm-controller\",\"summary\":\"Helm upgrade succeeded for release mission-control/mission-control-mission-control-beta-mis-2df14a61ee72.v490 with chart mission-control@0.1.307-beta.79\",\"created_at\":\"2026-03-09T14:05:32Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:34.16233Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRelease\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"6e745b94-9a85-424f-a5d2-9cd6b00d81ec\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T14:05:31.256494Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:31.255938Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0b012caf-05b2-4cb3-bd8d-3740c235a645\",\"config_id\":\"2b226eae-eca4-4f99-8ca9-e17416b144c8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"spec.replicas\",\"created_at\":\"2026-03-09T14:05:31.256494Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:31.255938Z\",\"name\":\"incident-manager-ui-56788cbb75\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"37aaa385-0325-4ac6-964e-e4753f6cae48\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T14:05:31.256494Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:31.255938Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2ea-d4e8-a432-1d36-902d97bcc69f\",\"config_id\":\"7d5cd828-8f11-488b-8177-bce7011f5e95\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Running: 1/1 ready\",\"created_at\":\"2026-03-09T14:05:31.240263Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:31.240263Z\",\"name\":\"incident-manager-ui-cbd74d78d\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8e454f1d-274a-420f-be44-79b0bb1d5f86\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"ScalingReplicaSet\",\"severity\":\"info\",\"source\":\"deployment-controller\",\"summary\":\"Scaled down replica set incident-manager-ui-56788cbb75 to 0 from 1\",\"created_at\":\"2026-03-09T14:05:30Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:31.255938Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"8e66ecd0-cf55-4f39-8199-fb194f338c58\",\"config_id\":\"2b226eae-eca4-4f99-8ca9-e17416b144c8\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"replicaset-controller\",\"summary\":\"Deleted pod: incident-manager-ui-56788cbb75-59pzx\",\"created_at\":\"2026-03-09T14:05:30Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:31.255938Z\",\"name\":\"incident-manager-ui-56788cbb75\",\"type\":\"Kubernetes::ReplicaSet\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e092d3b4-afce-453f-bb71-8cf46f5f4ef2\",\"config_id\":\"57563887-394d-4e56-acfa-cf84a6676ed0\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:05:19.18328Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:19.183183Z\",\"name\":\"postgrest-mission-control\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"99176ef9-99e7-4280-8fb5-38bcdeed1f43\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status, metadata.labels, metadata.annotations.deployment.kubernetes.io/revision, spec.template.spec.containers\",\"created_at\":\"2026-03-09T14:05:19.18328Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:19.183183Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7dfa56fb-f68f-4b3d-8aab-e216fcc2eddf\",\"config_id\":\"f92bacf0-ddee-48f9-888e-5759324fa970\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T14:05:19.18328Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:19.183183Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e51355bb-0c19-48f8-b6ea-9a1449a10499\",\"config_id\":\"51e430fa-6c1f-4dd7-bb23-ecb93bfdfb93\",\"change_type\":\"ScalingReplicaSet\",\"severity\":\"info\",\"source\":\"deployment-controller\",\"summary\":\"Scaled up replica set incident-manager-ui-cbd74d78d to 1\",\"created_at\":\"2026-03-09T14:05:17Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:19.183183Z\",\"name\":\"incident-manager-ui\",\"type\":\"Kubernetes::Deployment\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f035652d-ead3-4fde-8406-2726e5c9e6fd\",\"config_id\":\"2b26cf41-15fb-49cb-9978-fec7b483634c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status\",\"created_at\":\"2026-03-09T14:05:10.361369Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:10.361022Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4f4bcc9d-edb8-4d31-a9d2-7c99a0c5b243\",\"config_id\":\"78394213-4d37-488c-a624-6f0cb2d104f3\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.observedSourceArtifactRevision\",\"created_at\":\"2026-03-09T14:05:07.125985Z\",\"count\":7,\"first_observed\":\"2026-03-09T11:44:22.188796Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant-kubernetes\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d50a8192-0944-4eed-b332-98297e0486b1\",\"config_id\":\"c4cf68e5-8ea3-45fa-ad78-fd2b9b240401\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.conditions, status.artifact\",\"created_at\":\"2026-03-09T14:05:07.123286Z\",\"count\":6,\"first_observed\":\"2026-03-09T11:45:22.022924Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"fe9b278c-84e7-4cc6-a3d0-aa312ae8b4d5\",\"config_id\":\"2b26cf41-15fb-49cb-9978-fec7b483634c\",\"change_type\":\"ChartPullSucceeded\",\"severity\":\"info\",\"source\":\"source-controller\",\"summary\":\"pulled 'mission-control' chart with version '0.1.307-beta.79'\",\"created_at\":\"2026-03-09T14:05:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:07.112715Z\",\"name\":\"mission-control-mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmChart\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"571a866e-48e2-4e60-9d03-0aa5daca1f5c\",\"config_id\":\"c4cf68e5-8ea3-45fa-ad78-fd2b9b240401\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T14:05:03Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:05:04.023857Z\",\"name\":\"mission-control-beta-mission-control-tenant\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"142e3dc0-1ace-44cd-b558-2cfc127f9718\",\"config_id\":\"0679e8ca-5edc-472c-b631-389b5f4f99bf\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T14:04:42Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:04:43.088637Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"canary-checker\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e390b15e-e8d5-40b8-b004-0e500643e6a2\",\"config_id\":\"f74a2f21-4f78-4506-bdcd-3e005d4d35a3\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T14:02:47Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:02:49.056218Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dd4f5f6a-0629-4f37-bd89-79fa3fd92db7\",\"config_id\":\"b7b322aa-d7ef-4970-a87f-42fa807ef6ea\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T14:01:02Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:01:04.160062Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"7fa9340a-1fa4-4a56-817c-094cae33f356\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.artifact, status.conditions\",\"created_at\":\"2026-03-09T14:00:52.082334Z\",\"count\":6,\"first_observed\":\"2026-03-09T11:45:55.14913Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2496133e-74f9-4b4c-88e9-7a3e28fc1383\",\"config_id\":\"161a1f98-1acd-45f0-a7e3-cbd083678912\",\"change_type\":\"NewArtifact\",\"severity\":\"low\",\"source\":\"source-controller\",\"summary\":\"stored fetched index of size 12.38MB from 'http://flanksource.github.io/charts'\",\"created_at\":\"2026-03-09T14:00:46Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:00:49.260997Z\",\"name\":\"flanksource\",\"type\":\"Kubernetes::HelmRepository\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"default\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"724055e9-f136-4d7d-838c-1a2340211065\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.active\",\"created_at\":\"2026-03-09T14:00:07.171974Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:00:07.171821Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"eda68961-6341-48e1-b1d3-9d614ad1b6fb\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status\",\"created_at\":\"2026-03-09T14:00:07.171974Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:00:07.171821Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"19773bfd-520d-4824-a31b-24ddd3a4d129\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-passing-29551080, status: Complete\",\"created_at\":\"2026-03-09T14:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:00:07.171821Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cc9b1954-eca2-4b65-9899-bac61f12d692\",\"config_id\":\"c4c870f5-0015-4013-a3ee-afa1a1a34b88\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-passing-29551020\",\"created_at\":\"2026-03-09T14:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:00:07.171821Z\",\"name\":\"always-passing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"17a76273-9cae-4552-96bb-215af5585928\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SuccessfulDelete\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Deleted job always-failing-29551020\",\"created_at\":\"2026-03-09T14:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:00:07.171821Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"20b828b6-184d-42ca-8dbf-d7c2259e1098\",\"config_id\":\"5bcce883-9ebe-4ad6-a8cd-2dfe272a99b2\",\"change_type\":\"SawCompletedJob\",\"severity\":\"info\",\"source\":\"cronjob-controller\",\"summary\":\"Saw completed job: always-failing-29551080, status: Failed\",\"created_at\":\"2026-03-09T14:00:04Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:00:07.171821Z\",\"name\":\"always-failing\",\"type\":\"Kubernetes::CronJob\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"canaries\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0d1fc270-ac7b-4786-9e94-d3dec8364a24\",\"config_id\":\"36326234-6532-3333-6464-393438326232\",\"change_type\":\"GitHubActionRunSuccess\",\"severity\":\"success\",\"source\":\"flankbot\",\"summary\":\"chore: update flanksource-ui chart dependency to 1.4.200 (branch: main); duration: 4m34s\",\"created_at\":\"2026-03-09T13:57:56Z\",\"count\":1,\"first_observed\":\"2026-03-09T14:22:52.593643Z\",\"name\":\"mission-control-chart/Create Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2e0-32b9-0d70-d586-234f8f5b870c\",\"config_id\":\"36326234-6532-3333-6464-393438326232\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"summary\":\"Success\",\"created_at\":\"2026-03-09T13:53:54.361319Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:53:54.361319Z\",\"name\":\"mission-control-chart/Create Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2d6-86bf-b177-18a7-06749fa4782d\",\"config_id\":\"ee9ba697-373e-4e82-8bdc-7c830bc6f17d\",\"change_type\":\"NotificationSent\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-09T13:43:20.511232Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:43:20.511232Z\",\"name\":\"flanksource-github-actions\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cf8fe487-d3e6-42f0-b5d5-6307e7f381d4\",\"config_id\":\"ee9ba697-373e-4e82-8bdc-7c830bc6f17d\",\"change_type\":\"PlaybookScheduled\",\"severity\":\"info\",\"source\":\"Playbook\",\"summary\":\"Playbook: recommend-playbook\",\"created_at\":\"2026-03-09T13:42:55.465085Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:42:55.46484Z\",\"name\":\"flanksource-github-actions\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2d6-247c-9128-17fa-dab4723d1ef9\",\"config_id\":\"ee9ba697-373e-4e82-8bdc-7c830bc6f17d\",\"change_type\":\"NotificationSent\",\"severity\":\"info\",\"source\":\"notification\",\"created_at\":\"2026-03-09T13:42:55.355566Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:42:55.355566Z\",\"name\":\"flanksource-github-actions\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2d5-e804-ceb0-1716-6b34a2738802\",\"config_id\":\"285d1e49-c4c4-4327-b810-00365a168e38\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"created_at\":\"2026-03-09T13:42:39.876162Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:42:39.876162Z\",\"name\":\"kubernetes-vps-d1140a41\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2d5-e7fa-5a07-4d4b-d529772180ee\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"created_at\":\"2026-03-09T13:42:39.865733Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:42:39.865733Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2d5-abb6-f5f8-4e3f-ae55193c4cf2\",\"config_id\":\"3bf17645-f3bb-411d-825c-a472534eaefe\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"created_at\":\"2026-03-09T13:42:24.438402Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:42:24.438402Z\",\"name\":\"gcp-scraper-workload-prod-eu-02\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"019cd2d5-ab98-1b25-e42e-4093c53f2191\",\"config_id\":\"a992e329-e976-4e78-83a3-341b7fdbef76\",\"change_type\":\"Healthy\",\"severity\":\"info\",\"source\":\"config-db\",\"created_at\":\"2026-03-09T13:42:24.407746Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:42:24.407746Z\",\"name\":\"gcp-scraper-flanksource-prod\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5d88c16f-5004-4fa4-9e02-bbd94f187266\",\"config_id\":\"35616161-3930-6134-3363-393835643134\",\"change_type\":\"GitHubActionRunSuccess\",\"severity\":\"success\",\"source\":\"moshloop\",\"summary\":\"perf: optimization (#2901) (branch: main); duration: 16m16s\",\"created_at\":\"2026-03-09T13:41:42Z\",\"count\":2,\"first_observed\":\"2026-03-09T13:53:54.368119Z\",\"name\":\"flanksource-ui/Release\",\"type\":\"GitHubAction::Workflow\",\"tags\":{\"org\":\"flanksource\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2e8d79ef-3eba-4f28-9009-e365da5170be\",\"config_id\":\"d0082c99-83ec-4ae4-9c46-10fc396b0110\",\"change_type\":\"Killing\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Container shipping failed liveness probe, will be restarted\",\"created_at\":\"2026-03-09T13:40:12Z\",\"count\":2,\"first_observed\":\"2026-03-09T12:48:42.272635Z\",\"name\":\"shipping-6b4896bf9b-q7vnt-x-sock-shop-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"001eded4-5ebd-4896-b304-d49a62c2cd7e\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Pulling\",\"severity\":\"info\",\"source\":\"kubelet\",\"summary\":\"Pulling image \\\"busybox-random\\\"\",\"created_at\":\"2026-03-09T13:39:12Z\",\"count\":3,\"first_observed\":\"2026-03-09T13:29:01.116675Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4494cdb2-ac83-4c8c-b501-0735b37fb406\",\"config_id\":\"6e81e8bf-8a9d-431e-bdeb-8904678ba05c\",\"change_type\":\"Failed\",\"severity\":\"medium\",\"source\":\"kubelet\",\"summary\":\"Failed to pull image \\\"busybox-random\\\": failed to pull and unpack image \\\"docker.io/library/busybox-random:latest\\\": failed to resolve reference \\\"docker.io/library/busybox-random:latest\\\": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed\",\"created_at\":\"2026-03-09T13:39:12Z\",\"count\":3,\"first_observed\":\"2026-03-09T13:29:01.116675Z\",\"name\":\"k8s-check-not-ready-x-canaries-x-mission-control-demo\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"demo-env\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"710a19f8-3a88-4e62-92a5-362a8603d63d\",\"config_id\":\"435e2274-046f-4c25-a091-1d1abc908476\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:42.571571Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"63471d69-8800-41a0-939d-17d1ab93d034\",\"config_id\":\"1e6d2a0c-39cd-49b2-9c69-f5430a62a701\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.vcluster.loft.sh/label-mission-control-beta-x-ca538eb9b7\",\"created_at\":\"2026-03-09T13:37:42.571571Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3e61a1b5-fffa-4913-9f6f-dd8e44b56a7e\",\"config_id\":\"16dc13c5-3893-48bf-a592-624be914417c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:42.571571Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"mission-control-properties-config-x-mission-control--e3d9328de4\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"890f6c1b-39b8-42f9-9317-37ca29efb23a\",\"config_id\":\"4c3447a2-277f-4e02-add2-2d10f707bc80\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:42.571571Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"mission-control-kratos-config-x-mission-control-x-mi-0704b0eefb\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ba35fc0f-a7cc-4b7f-a3b7-f51579a9ef68\",\"config_id\":\"56e4e032-3eb8-4f34-a99f-0b0b307bae13\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:42.571571Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"mission-control-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4fa37922-e180-4a22-92b1-94b18fd6ec7c\",\"config_id\":\"93a725f2-7f91-49be-83ac-2d73d1e29f49\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.vcluster.loft.sh/label-mission-control-beta-x-ca538eb9b7, subsets\",\"created_at\":\"2026-03-09T13:37:42.571571Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"92312c6e-4997-4360-8891-50c14119f30f\",\"config_id\":\"866fda6f-00b2-4b41-8d70-7f3143b792cf\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.vcluster.loft.sh/label-mission-control-beta-x-ca538eb9b7\",\"created_at\":\"2026-03-09T13:37:42.571571Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-x-mission-control-x-mission-control-beta\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b395b435-265e-4792-97c5-e607f8f3fb3a\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:k3s-controller, role system:k3s-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"43cc48f0-93f0-4db7-acfe-da46f4479954\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user coredns, role system:coredns\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"285f1298-5130-4fda-89bd-1029b5e32330\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user persistent-volume-binder, role system:controller:persistent-volume-binder\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"82a4f0d9-2c23-4773-9a3f-0f059d8740f6\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user daemon-set-controller, role system:controller:daemon-set-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e0567072-d57a-44ce-9d86-e17acb3d962b\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user attachdetach-controller, role system:controller:attachdetach-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5a6cbc21-e12a-4f1b-a7dc-223d01f34684\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cronjob-controller, role system:controller:cronjob-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9c060af9-5e0b-4a0a-b349-74c536ded904\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user cert-manager, role cert-manager-controller-challenges\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2de5bee7-d2d0-4fa8-9402-ae905a169f34\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user deployment-controller, role system:controller:deployment-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d97a3f5e-fe1d-41eb-a753-948666f4ba83\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpointslice-controller, role system:controller:endpointslice-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0c43f171-0a11-4c78-9562-e7636600be38\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role mission-control-beta\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"45807f00-b856-44ec-95b7-80d5edc6b170\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user clickhouse-scraper-opentelemetry-collector, role clickhouse-scraper-opentelemetry-collector\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dd82cf7e-f90b-4103-a752-dfcdbd81242c\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user local-path-provisioner-service-account, role local-path-provisioner-role\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0dbbf24b-13a5-4125-8055-778220829073\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-operator, role prometheus-kube-prometheus-operator\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"dd2a79b0-71bc-4f27-8e9f-78279e8757a6\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-prometheus-prometheus, role prometheus-kube-prometheus-prometheus\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"9a0a35a3-771c-44da-a554-15e80ff164a6\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user prometheus-kube-state-metrics, role prometheus-kube-state-metrics\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5fa180e9-56cf-4de1-ac2c-9ec45d0a5520\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user endpoint-controller, role system:controller:endpoint-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"b6e0599c-eed9-4346-a40b-ebec3a5d9442\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user horizontal-pod-autoscaler, role system:controller:horizontal-pod-autoscaler\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2adc85ef-5798-4c7c-86a9-7e9a05be6f3d\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user job-controller, role system:controller:job-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"07d8adc4-f9c5-4b08-b925-01548a4e987f\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user node-controller, role system:controller:node-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"1cfb384a-b7b7-4949-b7de-45d52e42ae11\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replicaset-controller, role system:controller:replicaset-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5e6a3e07-b2a9-4414-944c-36a1e02e71a8\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user statefulset-controller, role system:controller:statefulset-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ef40690f-3dbd-4d9d-b3fa-0e31d98a6b75\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user system:kube-scheduler, role system:kube-scheduler\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a37de99e-26ea-4ed7-9b51-9f849e15d995\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user metrics-server, role system:metrics-server\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"06819437-0e0c-46cb-8344-61e81f75a92a\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-demo, role vc-mission-control-demo-v-demo-env\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2441ec4a-cb07-4a0d-b5b5-e9d45335a473\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user ephemeral-volume-controller, role system:controller:ephemeral-volume-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5f2a7327-eb14-4b87-8c99-4be66afb6cd5\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pod-garbage-collector, role system:controller:pod-garbage-collector\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"cc1a8823-ca71-48c5-9a5e-b8354083cdfe\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user nginx-ingress-nginx, role nginx-ingress-nginx\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"d94f0eef-d412-4ed1-8218-38783f41d280\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user pvc-protection-controller, role system:controller:pvc-protection-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"65fe0bdf-3ded-45f4-ab1c-6e3661da325a\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user k3s-cloud-controller-manager, role k3s-cloud-controller-manager\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"229cb013-7c64-4871-94f3-bfd1162ba7b9\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user replication-controller, role system:controller:replication-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"18685ed4-ecd9-48a5-8f43-0b5ebba112e1\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user selinux-warning-controller, role system:controller:selinux-warning-controller\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"2b50775d-e9b3-4060-94ec-43de1bce5f90\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user vc-mission-control-beta, role vc-mission-control-beta-v-mission-control\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"260fba78-3624-47ce-bb8c-8ee6beb301e5\",\"config_id\":\"10429293-7f3a-4d70-a45c-dfcde89708e4\",\"change_type\":\"PermissionAdded\",\"severity\":\"\",\"source\":\"\",\"summary\":\"PermissionAdded: user canary-checker-sa, role canary-checker-role\",\"created_at\":\"2026-03-09T13:37:32.488929Z\",\"count\":0,\"first_observed\":\"2026-03-09T13:37:42.513491Z\",\"name\":\"config-db-559fc75697-79w4d-x-mission-control-x-missi-ad31dfb4ef\",\"type\":\"Kubernetes::Pod\",\"tags\":{\"cluster\":\"vps-d1140a41\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"48c4865e-89b4-4a77-971c-d7b041aaca32\",\"config_id\":\"20c20794-e304-4c08-bab7-6a96c22956f9\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"status.lastRun.timestamp\",\"created_at\":\"2026-03-09T13:37:20.990838Z\",\"count\":30,\"first_observed\":\"2026-03-09T04:21:25.219614Z\",\"name\":\"kubernetes-beta-cluster\",\"type\":\"MissionControl::ScrapeConfig\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"90f79b09-dbf2-4658-948c-4a1735c69fea\",\"config_id\":\"f8c7acfe-d813-4d1b-a89f-8f6d0ef35ae2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control-db\",\"type\":\"MissionControl::Connection\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"16166a41-0eea-416f-9995-79b65b522bc6\",\"config_id\":\"d41a077e-7610-479b-8d1f-4da66bcbf542\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"f3c2cc55-7ae7-47b2-9f9a-90dd3d00e730\",\"config_id\":\"78971e6d-2ea4-4aeb-92fa-00014c430f77\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"jobhistory\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5343a9b9-f709-4823-afe0-b5fdbfa66eec\",\"config_id\":\"40c65413-ac4e-44e9-a900-7eb0424ff3ad\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.helm.sh/chart\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"config-db\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"ee1fb3fe-573d-4c61-884c-35066536e826\",\"config_id\":\"91957868-6a24-4926-942a-6e70968498bb\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control-properties-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"50ce7c68-3908-4a0f-90cc-4f6b97acdd4b\",\"config_id\":\"57217e8d-48c7-42fd-9262-3ee2784543d6\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control-dashboard\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e1f37523-d7d6-44ec-81d0-4deb6b747376\",\"config_id\":\"61cd7756-a8d9-4f1f-92c1-12116be89e9c\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.helm.sh/chart\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"config-db-sa\",\"type\":\"Kubernetes::ServiceAccount\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e8878bc8-5d12-49d4-bf1d-cbd68b2b676b\",\"config_id\":\"ebbfaab0-b5fd-47c1-a28d-13b27cbeea55\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a0d295ba-7de8-4a60-8ab3-7ce096d5e5e4\",\"config_id\":\"903822c6-72f6-4f30-b6c0-bd648bff6856\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"failing-health-checks\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"4ec6a858-eb5e-45ad-8b1b-8634bc6517aa\",\"config_id\":\"fcee904f-96dc-4a2a-9fc8-6397a090cc90\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.helm.sh/chart\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"config-db-sa-role\",\"type\":\"Kubernetes::ClusterRole\",\"tags\":{\"cluster\":\"beta-cluster\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"401b28fe-67cf-4c20-8680-afe92536cecd\",\"config_id\":\"cbe6a8f1-3a21-4195-8d2f-c5888919daf8\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"notification-send-history\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"a6e8baa4-aea9-4fc6-b77f-42f1ab7ffe75\",\"config_id\":\"ffaf184c-05aa-4f2b-b602-418dab80e8e2\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control-pods\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"c4de0fcc-b85f-4d68-87e7-5d3a4f5a9bdf\",\"config_id\":\"4429a21e-7bab-4ea4-8021-945d9ac90627\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.helm.sh/chart\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"config-db-sa-rolebinding\",\"type\":\"Kubernetes::ClusterRoleBinding\",\"tags\":{\"cluster\":\"beta-cluster\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"e920d1bb-2ac1-44a4-8901-10f90fb89e42\",\"config_id\":\"3dc4de30-b1c9-458a-a4a3-e1cc1b188851\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control-system\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"44ddb4cf-64d9-4cb2-8ae3-a2fb48c008e5\",\"config_id\":\"6a6fe1f7-b724-4da4-99e5-13b58aa36e4f\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control-database\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"3347f0d3-c4d8-4965-bcb3-d6db82788e93\",\"config_id\":\"bace5094-3bf7-4657-8fc8-efc981bcded4\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control-sa\",\"type\":\"Kubernetes::ServiceAccount\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"bf031008-7c4b-4276-8438-f9eb11aa5738\",\"config_id\":\"e8a350e5-8f01-4d70-aad4-2da2c8988437\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"recent-changes\",\"type\":\"MissionControl::View\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"5d23ced7-33ec-427a-a4ac-6b82ea9197e3\",\"config_id\":\"1f49bd04-2847-414e-b5e8-67eea5dbd82b\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.helm.sh/chart\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"config-db\",\"type\":\"Kubernetes::Service\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"0feeb3d6-5f23-4d26-8d9e-953906d44830\",\"config_id\":\"7bc7f0d7-00c5-4dc1-afdb-950349c9f199\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"mission-control-kratos-config\",\"type\":\"Kubernetes::ConfigMap\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}},{\"agent_id\":\"00000000-0000-0000-0000-000000000000\",\"external_change_id\":\"\",\"id\":\"86f01204-5a87-4d2a-87eb-1bb633fa8888\",\"config_id\":\"674180af-be9b-428b-ab9a-a717175ab4ee\",\"change_type\":\"diff\",\"severity\":\"\",\"source\":\"diff\",\"summary\":\"metadata.labels.helm.sh/chart, subsets\",\"created_at\":\"2026-03-09T13:37:20.344505Z\",\"count\":1,\"first_observed\":\"2026-03-09T13:37:20.15816Z\",\"name\":\"config-db\",\"type\":\"Kubernetes::Endpoints\",\"tags\":{\"cluster\":\"beta-cluster\",\"namespace\":\"mission-control\"}}]}\n" + }, + "redirectURL": "", + "headersSize": 254, + "bodySize": 14607, + "_transferSize": 14861, + "_error": null, + "_fetchedViaServiceWorker": false + }, + "serverIPAddress": "[::1]", + "startedDateTime": "2026-03-10T08:21:02.304Z", + "time": 887.9450000012033, + "timings": { + "blocked": 0.9540000000819564, + "dns": 0.0030000000000000027, + "ssl": -1, + "connect": 0.29899999999999993, + "send": 0.272, + "wait": 788.2520000271611, + "receive": 98.16499997396022, + "_blocked_queueing": 0.6880000000819564, + "_workerStart": -1, + "_workerReady": -1, + "_workerFetchStart": -1, + "_workerRespondWithSettled": -1 + } + } + ] + } +} \ No newline at end of file diff --git a/src/components/ui/hover-card.tsx b/src/components/ui/hover-card.tsx index fbb5d1b4be..ec1699325b 100644 --- a/src/components/ui/hover-card.tsx +++ b/src/components/ui/hover-card.tsx @@ -11,16 +11,18 @@ const HoverCardContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, align = "center", sideOffset = 4, ...props }, ref) => ( - + + + )); HoverCardContent.displayName = HoverCardPrimitive.Content.displayName; diff --git a/src/pages/config/ConfigChangesPage.tsx b/src/pages/config/ConfigChangesPage.tsx index 30b4acbfe8..3417b51bdf 100644 --- a/src/pages/config/ConfigChangesPage.tsx +++ b/src/pages/config/ConfigChangesPage.tsx @@ -1,7 +1,16 @@ -import { useGetAllConfigsChangesQuery } from "@flanksource-ui/api/query-hooks/useConfigChangesHooks"; +import { + useGetAllConfigsChangesInfiniteQuery, + useGetAllConfigsChangesQuery +} from "@flanksource-ui/api/query-hooks/useConfigChangesHooks"; +import { useGetConfigChangesById } from "@flanksource-ui/api/query-hooks/useGetConfigChangesByConfigChangeIdQuery"; import { ConfigChange } from "@flanksource-ui/api/types/configs"; import { ConfigChangeTable } from "@flanksource-ui/components/Configs/Changes/ConfigChangeTable"; import { ConfigChangeFilters } from "@flanksource-ui/components/Configs/Changes/ConfigChangesFilters/ConfigChangesFilters"; +import ConfigChangesSwimlane from "@flanksource-ui/components/Configs/Changes/ConfigChangesSwimlane"; +import ConfigChangesViewToggle, { + useConfigChangesViewToggleState +} from "@flanksource-ui/components/Configs/Changes/ConfigChangesViewToggle"; +import { ConfigDetailChangeModal } from "@flanksource-ui/components/Configs/Changes/ConfigDetailsChanges/ConfigDetailsChanges"; import ConfigPageTabs from "@flanksource-ui/components/Configs/ConfigPageTabs"; import ConfigsTypeIcon from "@flanksource-ui/components/Configs/ConfigsTypeIcon"; import { InfoMessage } from "@flanksource-ui/components/InfoMessage"; @@ -10,10 +19,10 @@ import { BreadcrumbNav, BreadcrumbRoot } from "@flanksource-ui/ui/BreadcrumbNav"; +import { Toggle } from "@flanksource-ui/ui/FormControls/Toggle"; import { Head } from "@flanksource-ui/ui/Head"; import { SearchLayout } from "@flanksource-ui/ui/Layout/SearchLayout"; import { refreshButtonClickedTrigger } from "@flanksource-ui/ui/SlidingSideBar/SlidingSideBar"; -import { Toggle } from "@flanksource-ui/ui/FormControls/Toggle"; import { useAtom } from "jotai"; import { useEffect, useMemo, useRef, useState } from "react"; import { useSearchParams } from "react-router-dom"; @@ -39,10 +48,24 @@ function getLiveTailQueryKey(params: URLSearchParams) { .join("&"); } +function normalizeChange(c: ConfigChange): ConfigChange { + return { + ...c, + config: { + id: c.config_id!, + type: c.type!, + name: c.name!, + deleted_at: c.deleted_at + } + }; +} + export function ConfigChangesPage() { const [, setRefreshButtonClickedTrigger] = useAtom( refreshButtonClickedTrigger ); + const view = useConfigChangesViewToggleState(); + const isGraphView = view === "Graph"; const [params] = useSearchParams({}); const configTypes = params.get("configTypes") ?? undefined; @@ -61,26 +84,38 @@ export function ConfigChangesPage() { const liveTailQueryKey = useMemo(() => getLiveTailQueryKey(params), [params]); const liveTailQueryKeyRef = useRef(liveTailQueryKey); - const { data, isLoading, error, isRefetching, refetch, isPreviousData } = - useGetAllConfigsChangesQuery({ - keepPreviousData: true - }); + // Table view: paginated query (with optional live tail) + const tableQuery = useGetAllConfigsChangesQuery({ + keepPreviousData: true, + enabled: !isGraphView + }); + + // Graph view: infinite query + const infiniteQuery = useGetAllConfigsChangesInfiniteQuery({ + pageSize: parseInt(pageSize) + }); // Initialize cursor from base data when live tail is turned on useEffect(() => { - if (liveTail && data?.changes?.length && !tailCursor && !isPreviousData) { - setTailCursor(getNewestInsertedAt(data.changes)); + if ( + liveTail && + tableQuery.data?.changes?.length && + !tailCursor && + !tableQuery.isPreviousData + ) { + setTailCursor(getNewestInsertedAt(tableQuery.data.changes)); } - }, [liveTail, data, tailCursor, isPreviousData]); + }, [liveTail, tableQuery.data, tailCursor, tableQuery.isPreviousData]); // Reset when live tail is turned off useEffect(() => { if (!liveTail) { setTailedChanges([]); setTailCursor(undefined); - refetch(); + tableQuery.refetch(); } - }, [liveTail, refetch]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [liveTail]); // Reset live tail state whenever filters, sorting, pagination, or date range changes. useEffect(() => { @@ -99,8 +134,8 @@ export function ConfigChangesPage() { const { data: pollData } = useGetAllConfigsChangesQuery({ from_inserted_at: tailCursor, keepPreviousData: false, - enabled: liveTail && !!tailCursor, - refetchInterval: liveTail ? 5000 : false + enabled: !isGraphView && liveTail && !!tailCursor, + refetchInterval: !isGraphView && liveTail ? 5000 : false }); // Accumulate new items from poll and advance cursor @@ -120,41 +155,58 @@ export function ConfigChangesPage() { }); }, [pollData]); - const baseChanges = (data?.changes ?? []).map((change) => ({ - ...change, - config: { - id: change.config_id!, - type: change.type!, - name: change.name!, - deleted_at: change.deleted_at - } - })); + const { changes, totalChanges, isLoading, isRefetching, error, refetch } = + useMemo(() => { + if (isGraphView) { + const allChanges = + infiniteQuery.data?.pages.flatMap((p) => + (p.changes ?? []).map(normalizeChange) + ) ?? []; + return { + changes: allChanges, + totalChanges: infiniteQuery.data?.pages[0]?.total ?? 0, + isLoading: infiniteQuery.isLoading, + isRefetching: infiniteQuery.isRefetching, + error: infiniteQuery.error, + refetch: infiniteQuery.refetch + }; + } + + const baseChanges = (tableQuery.data?.changes ?? []).map(normalizeChange); + const tailedWithConfig = tailedChanges.map(normalizeChange); + const tailedIds = new Set(tailedWithConfig.map((c) => c.id)); + const baseWithoutTailed = baseChanges.filter((c) => !tailedIds.has(c.id)); + const baseIds = new Set(baseChanges.map((c) => c.id)); + const newTailedCount = tailedWithConfig.filter( + (c) => !baseIds.has(c.id) + ).length; + + return { + changes: liveTail + ? [...tailedWithConfig, ...baseWithoutTailed] + : baseChanges, + totalChanges: liveTail + ? (tableQuery.data?.total ?? 0) + newTailedCount + : (tableQuery.data?.total ?? 0), + isLoading: tableQuery.isLoading, + isRefetching: tableQuery.isRefetching, + error: tableQuery.error, + refetch: tableQuery.refetch + }; + }, [isGraphView, infiniteQuery, tableQuery, tailedChanges, liveTail]); - const tailedWithConfig = tailedChanges.map((change) => ({ - ...change, - config: { - id: change.config_id!, - type: change.type!, - name: change.name!, - deleted_at: change.deleted_at - } - })); - - const tailedIds = new Set(tailedWithConfig.map((c) => c.id)); - const baseWithoutTailed = baseChanges.filter((c) => !tailedIds.has(c.id)); - const baseIds = new Set(baseChanges.map((c) => c.id)); - const newTailedCount = tailedWithConfig.filter( - (c) => !baseIds.has(c.id) - ).length; - const changes = liveTail - ? [...tailedWithConfig, ...baseWithoutTailed] - : baseChanges; - - const totalChanges = liveTail - ? (data?.total ?? 0) + newTailedCount - : (data?.total ?? 0); const totalChangesPages = Math.ceil(totalChanges / parseInt(pageSize)); + const [selectedChange, setSelectedChange] = useState(); + const { data: changeDetails, isLoading: changeLoading } = + useGetConfigChangesById(selectedChange?.id ?? "", { + enabled: !!selectedChange + }); + + useEffect(() => { + if (!isGraphView) setSelectedChange(undefined); + }, [isGraphView]); + const errorMessage = typeof error === "string" ? error @@ -208,20 +260,47 @@ export function ConfigChangesPage() { + <> + {!isGraphView && ( + + )} + + } /> - + {isGraphView ? ( + <> + setSelectedChange(change)} + fetchNextPage={infiniteQuery.fetchNextPage} + hasNextPage={infiniteQuery.hasNextPage} + isFetchingNextPage={infiniteQuery.isFetchingNextPage} + /> + {selectedChange && ( + { + if (!open) setSelectedChange(undefined); + }} + changeDetails={changeDetails ?? undefined} + /> + )} + + ) : ( + + )} )} diff --git a/src/ui/Icons/ChangeIcon.tsx b/src/ui/Icons/ChangeIcon.tsx index 5c1f034057..88da9426b9 100644 --- a/src/ui/Icons/ChangeIcon.tsx +++ b/src/ui/Icons/ChangeIcon.tsx @@ -2,8 +2,16 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; import { configChangeSeverity } from "@flanksource-ui/components/Configs/Changes/ConfigChangesFilters/ConfigChangeSeverity"; import clsx from "clsx"; import { useMemo } from "react"; +import { FaDotCircle } from "react-icons/fa"; import { Icon } from "./Icon"; +export function severityColorClass(severity?: string): string { + const item = Object.values(configChangeSeverity).find( + (i) => i.value === severity + ); + return item?.colorClass ?? ""; +} + interface ChangeIconProps { change?: Pick; className?: string; @@ -15,16 +23,17 @@ export function ChangeIcon({ name, change }: ChangeIconProps) { - const colorClass = useMemo(() => { - const items = Object.values(configChangeSeverity).find( - (item) => item.value === change?.severity - ); - return items?.colorClass ?? ""; - }, [change?.severity]); + const colorClass = useMemo( + () => severityColorClass(change?.severity), + [change?.severity] + ); + + const iconName = change?.change_type || name; return ( } className={clsx("opacity-50", className, colorClass)} /> ); diff --git a/src/ui/Icons/Icon.tsx b/src/ui/Icons/Icon.tsx index a43214584c..ce33d2e7b2 100644 --- a/src/ui/Icons/Icon.tsx +++ b/src/ui/Icons/Icon.tsx @@ -932,6 +932,7 @@ export type IconProps = { prefix?: any; size?: any; iconWithColor?: string; + fallback?: React.ReactNode; }; type IconCache = { @@ -993,6 +994,7 @@ export function Icon({ alt = "", prefix, iconWithColor, + fallback, ...props }: IconProps) { if (name && (name.startsWith("http:") || name.startsWith("https://"))) { @@ -1003,7 +1005,7 @@ export function Icon({ const Icon = findIcon(name, secondary, iconWithColor); if (!Icon || !Icon.SVG) { - return null; + return fallback ? (fallback as React.ReactElement) : null; } return ( From 4eaaff4e849666f8a409d594485dd104c651a283 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Tue, 5 May 2026 14:00:27 +0545 Subject: [PATCH 02/17] fix(config): address swimlane review comments Avoid modifying the base shadcn hover-card by moving portaled content into a project wrapper used by the swimlane. Gate the config changes infinite query so table view does not issue the extra swimlane request, and clone fallback icons with the same className and forwarded props as normal icons. --- src/api/query-hooks/useConfigChangesHooks.ts | 7 +++-- .../Configs/Changes/ConfigChangesSwimlane.tsx | 2 +- src/components/ui/hover-card.tsx | 22 +++++++--------- src/components/ui/portaled-hover-card.tsx | 25 ++++++++++++++++++ src/pages/config/ConfigChangesPage.tsx | 3 ++- src/ui/Icons/Icon.tsx | 26 ++++++++++++++++++- 6 files changed, 68 insertions(+), 17 deletions(-) create mode 100644 src/components/ui/portaled-hover-card.tsx diff --git a/src/api/query-hooks/useConfigChangesHooks.ts b/src/api/query-hooks/useConfigChangesHooks.ts index dc4a14ef82..9791e29fdb 100644 --- a/src/api/query-hooks/useConfigChangesHooks.ts +++ b/src/api/query-hooks/useConfigChangesHooks.ts @@ -174,10 +174,12 @@ export function useGetConfigChangesByIDQuery( export function useGetAllConfigsChangesInfiniteQuery({ pageSize = 200, - paramPrefix + paramPrefix, + enabled = true }: { pageSize?: number; paramPrefix?: string; + enabled?: boolean; } = {}) { const showChangesFromDeletedConfigs = useShowDeletedConfigs(); const { timeRangeValue } = useTimeRangeParams( @@ -221,6 +223,7 @@ export function useGetAllConfigsChangesInfiniteQuery({ lastPage.changes && lastPage.changes.length < pageSize ? undefined : allPages.length, - keepPreviousData: true + keepPreviousData: true, + enabled }); } diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index 6c59a3a2ca..f57dbea60e 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -1,9 +1,9 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; import { HoverCard, - HoverCardContent, HoverCardTrigger } from "@flanksource-ui/components/ui/hover-card"; +import { PortaledHoverCardContent as HoverCardContent } from "@flanksource-ui/components/ui/portaled-hover-card"; import { Age } from "@flanksource-ui/ui/Age"; import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; import { relativeDateTime } from "@flanksource-ui/utils/date"; diff --git a/src/components/ui/hover-card.tsx b/src/components/ui/hover-card.tsx index ec1699325b..fbb5d1b4be 100644 --- a/src/components/ui/hover-card.tsx +++ b/src/components/ui/hover-card.tsx @@ -11,18 +11,16 @@ const HoverCardContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, align = "center", sideOffset = 4, ...props }, ref) => ( - - - + )); HoverCardContent.displayName = HoverCardPrimitive.Content.displayName; diff --git a/src/components/ui/portaled-hover-card.tsx b/src/components/ui/portaled-hover-card.tsx new file mode 100644 index 0000000000..4f8c0bdf36 --- /dev/null +++ b/src/components/ui/portaled-hover-card.tsx @@ -0,0 +1,25 @@ +import * as React from "react"; +import * as HoverCardPrimitive from "@radix-ui/react-hover-card"; + +import { cn } from "@flanksource-ui/lib/utils"; + +const PortaledHoverCardContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, align = "center", sideOffset = 4, ...props }, ref) => ( + + + +)); +PortaledHoverCardContent.displayName = HoverCardPrimitive.Content.displayName; + +export { PortaledHoverCardContent }; diff --git a/src/pages/config/ConfigChangesPage.tsx b/src/pages/config/ConfigChangesPage.tsx index 3417b51bdf..65aed702c0 100644 --- a/src/pages/config/ConfigChangesPage.tsx +++ b/src/pages/config/ConfigChangesPage.tsx @@ -92,7 +92,8 @@ export function ConfigChangesPage() { // Graph view: infinite query const infiniteQuery = useGetAllConfigsChangesInfiniteQuery({ - pageSize: parseInt(pageSize) + pageSize: parseInt(pageSize), + enabled: isGraphView }); // Initialize cursor from base data when live tail is turned on diff --git a/src/ui/Icons/Icon.tsx b/src/ui/Icons/Icon.tsx index ce33d2e7b2..b998226ba9 100644 --- a/src/ui/Icons/Icon.tsx +++ b/src/ui/Icons/Icon.tsx @@ -1,6 +1,7 @@ import { IconType } from "@flanksource/icons"; import { IconMap as Icons } from "@flanksource/icons/mi"; import { isEmpty } from "lodash"; +import { cloneElement, isValidElement } from "react"; type IconMap = Record; export const aliases: IconMap = { @@ -1005,7 +1006,30 @@ export function Icon({ const Icon = findIcon(name, secondary, iconWithColor); if (!Icon || !Icon.SVG) { - return fallback ? (fallback as React.ReactElement) : null; + if (!fallback) { + return null; + } + + if (isValidElement(fallback)) { + const fallbackElement = fallback as React.ReactElement<{ + className?: string; + }>; + return ( + <> + {prefix}{" "} + {cloneElement(fallbackElement, { + ...props, + className: `inline-block fill-current object-center ${className} ${fallbackElement.props.className ?? ""}` + })} + + ); + } + + return ( + <> + {prefix} {fallback} + + ); } return ( From 82c080c7ac6cbb26121e660004cb4190e6fcbc43 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Tue, 5 May 2026 14:28:46 +0545 Subject: [PATCH 03/17] fix(config): show loader when opening changes graph Switching from table to graph view starts a separate infinite query, leaving the swimlane with no changes until the first page resolves. Pass the loading state into the swimlane so it shows an initial loading indicator instead of the empty state, and cover it with an integration test. --- .../Configs/Changes/ConfigChangesSwimlane.tsx | 11 +++++++++++ .../ConfigChangesSwimlane.integration.test.tsx | 6 ++++++ src/pages/config/ConfigChangesPage.tsx | 1 + 3 files changed, 18 insertions(+) diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index f57dbea60e..bae4af3538 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -165,6 +165,7 @@ function SeverityTooltip({ type ConfigChangesSwimlaneProps = { changes: ConfigChange[]; + isLoading?: boolean; onItemClicked?: (change: ConfigChange) => void; fetchNextPage?: () => void; hasNextPage?: boolean; @@ -490,6 +491,7 @@ function GroupParentRow({ export default function ConfigChangesSwimlane({ changes, + isLoading, onItemClicked = () => {}, fetchNextPage, hasNextPage, @@ -592,6 +594,15 @@ export default function ConfigChangesSwimlane({ return () => observer.disconnect(); }, [fetchNextPage, hasNextPage, isFetchingNextPage]); + if (isLoading) { + return ( +
+
+ Loading changes... +
+ ); + } + if (changes.length === 0) { return (
diff --git a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx index af0d459ce6..302c98caaf 100644 --- a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx +++ b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx @@ -113,6 +113,12 @@ describe("ConfigChangesSwimlane integration", () => { expect(countChildRows()).toBe(childCountBefore); }); + it("shows loading indicator while initial data is loading", () => { + renderSwimlane({ isLoading: true }); + expect(screen.getByText("Loading changes...")).toBeInTheDocument(); + expect(screen.queryByText("No changes to display")).not.toBeInTheDocument(); + }); + it("shows loading indicator when isFetchingNextPage is true", () => { renderSwimlane({ changes: allChanges, diff --git a/src/pages/config/ConfigChangesPage.tsx b/src/pages/config/ConfigChangesPage.tsx index 65aed702c0..66fe724951 100644 --- a/src/pages/config/ConfigChangesPage.tsx +++ b/src/pages/config/ConfigChangesPage.tsx @@ -277,6 +277,7 @@ export function ConfigChangesPage() { <> setSelectedChange(change)} fetchNextPage={infiniteQuery.fetchNextPage} hasNextPage={infiniteQuery.hasNextPage} From 4f1ba60ec93e0044d04021fc4a3f21e528e8fb85 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Wed, 6 May 2026 16:24:20 +0545 Subject: [PATCH 04/17] feat(config): keep swimlane filter actions visible Add an opt-in prop to FilterByCellValue so callers can keep include and exclude actions visible instead of showing them only on hover. Enable it in the config changes swimlane tooltip where hover-only actions are hard to discover inside the hover card. --- .../Configs/Changes/ConfigChangesSwimlaneTooltip.tsx | 3 +++ src/ui/DataTable/FilterByCellValue.tsx | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx b/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx index b065ea6af6..9f8a220d7c 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx @@ -25,6 +25,7 @@ function ChangeRow({ filterValue={change.change_type} paramKey="changeType" paramsToReset={paramsToReset.configChanges} + alwaysShowButtons > @@ -63,6 +64,7 @@ function ChangeRow({ filterValue={change.summary} paramKey="summary" paramsToReset={paramsToReset.configChanges} + alwaysShowButtons > {change.summary} @@ -76,6 +78,7 @@ function ChangeRow({ filterValue={change.created_by || change.external_created_by || ""} paramKey={change.created_by ? "created_by" : "external_created_by"} paramsToReset={paramsToReset.configChanges} + alwaysShowButtons > {change.created_by || change.external_created_by} diff --git a/src/ui/DataTable/FilterByCellValue.tsx b/src/ui/DataTable/FilterByCellValue.tsx index b860f52c48..442f0e0795 100644 --- a/src/ui/DataTable/FilterByCellValue.tsx +++ b/src/ui/DataTable/FilterByCellValue.tsx @@ -12,6 +12,7 @@ type FilterByCellProps = { filterValue: string; paramsToReset?: string[]; paramPrefix?: string; + alwaysShowButtons?: boolean; }; export function FilterByCellValue({ @@ -19,7 +20,8 @@ export function FilterByCellValue({ children, filterValue, paramsToReset = [], - paramPrefix + paramPrefix, + alwaysShowButtons = false }: FilterByCellProps) { const [, setParams] = usePrefixedSearchParams(paramPrefix, false); @@ -63,7 +65,13 @@ export function FilterByCellValue({
{children}
-
+
onClick(e, "include")} icon={} From a9cf2f763b5237350dfce3261dc66adc099143c5 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Wed, 6 May 2026 16:37:24 +0545 Subject: [PATCH 05/17] fix(config): show swimlane config type tooltip The config type tooltip in the swimlane left column was clipped by row stacking and overflow rules, making it partially or completely hidden. Raise the hovered row stacking context and allow the sticky config cell to overflow while keeping the config name itself truncated. --- src/components/Configs/Changes/ConfigChangesSwimlane.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index bae4af3538..b499ddeb42 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -352,14 +352,14 @@ function SwimlaneRow({ const allChanges = useMemo(() => row.buckets.flat(), [row.buckets]); return (
-
+
{row.name} From f1bea2b21a892281f3ddb92da426c9491e338728 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Wed, 6 May 2026 16:50:36 +0545 Subject: [PATCH 06/17] fix(config): preload swimlane change pages The swimlane used vertical scrolling to trigger fetching more changes, but that axis represents the resource list rather than the time range. Fetch graph data in 1000-change batches and automatically paginate until the selected time range is fully loaded. Remove the swimlane sentinel and loading-more row. --- src/api/query-hooks/useConfigChangesHooks.ts | 14 ++++-- .../Configs/Changes/ConfigChangesSwimlane.tsx | 40 +--------------- ...ConfigChangesSwimlane.integration.test.tsx | 46 ------------------- src/pages/config/ConfigChangesPage.tsx | 26 ++++++++--- 4 files changed, 31 insertions(+), 95 deletions(-) diff --git a/src/api/query-hooks/useConfigChangesHooks.ts b/src/api/query-hooks/useConfigChangesHooks.ts index 9791e29fdb..90874504e0 100644 --- a/src/api/query-hooks/useConfigChangesHooks.ts +++ b/src/api/query-hooks/useConfigChangesHooks.ts @@ -173,7 +173,7 @@ export function useGetConfigChangesByIDQuery( } export function useGetAllConfigsChangesInfiniteQuery({ - pageSize = 200, + pageSize = 1000, paramPrefix, enabled = true }: { @@ -219,10 +219,14 @@ export function useGetAllConfigsChangesInfiniteQuery({ queryKey: ["configs", "changes", "infinite", filterProps], queryFn: ({ pageParam = 0 }) => getConfigsChanges({ ...filterProps, pageIndex: pageParam }), - getNextPageParam: (lastPage, allPages) => - lastPage.changes && lastPage.changes.length < pageSize - ? undefined - : allPages.length, + getNextPageParam: (_lastPage, allPages) => { + const total = allPages[0]?.total ?? 0; + const loaded = allPages.reduce( + (count, page) => count + (page.changes?.length ?? 0), + 0 + ); + return loaded < total ? allPages.length : undefined; + }, keepPreviousData: true, enabled }); diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index b499ddeb42..288616dc66 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -17,7 +17,7 @@ import { OctagonAlert, TriangleAlert } from "lucide-react"; -import { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { useCallback, useMemo, useRef, useState } from "react"; import ConfigsTypeIcon from "../ConfigsTypeIcon"; import ConfigChangesSwimlaneLegend from "./ConfigChangesSwimlaneLegend"; import { @@ -167,9 +167,6 @@ type ConfigChangesSwimlaneProps = { changes: ConfigChange[]; isLoading?: boolean; onItemClicked?: (change: ConfigChange) => void; - fetchNextPage?: () => void; - hasNextPage?: boolean; - isFetchingNextPage?: boolean; }; function ExtraDot({ text }: { text: string }) { @@ -492,10 +489,7 @@ function GroupParentRow({ export default function ConfigChangesSwimlane({ changes, isLoading, - onItemClicked = () => {}, - fetchNextPage, - hasNextPage, - isFetchingNextPage + onItemClicked = () => {} }: ConfigChangesSwimlaneProps) { const [collapsedGroups, setCollapsedGroups] = useState>( new Set() @@ -565,8 +559,6 @@ export default function ConfigChangesSwimlane({ }; }, [changes, numBuckets]); - const sentinelRef = useRef(null); - const toggleGroup = useCallback((prefix: string) => { setCollapsedGroups((prev) => { const next = new Set(prev); @@ -576,24 +568,6 @@ export default function ConfigChangesSwimlane({ }); }, []); - useEffect(() => { - if ( - !sentinelRef.current || - !fetchNextPage || - !hasNextPage || - isFetchingNextPage - ) - return; - const observer = new IntersectionObserver( - ([entry]) => { - if (entry?.isIntersecting) fetchNextPage(); - }, - { threshold: 0 } - ); - observer.observe(sentinelRef.current); - return () => observer.disconnect(); - }, [fetchNextPage, hasNextPage, isFetchingNextPage]); - if (isLoading) { return (
@@ -705,16 +679,6 @@ export default function ConfigChangesSwimlane({ }); })()}
- - {/* Sentinel for infinite scroll */} - {hasNextPage &&
} - - {/* Loading indicator for infinite scroll */} - {isFetchingNextPage && ( -
- Loading more changes... -
- )}
); } diff --git a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx index 302c98caaf..1c68fbc3c0 100644 --- a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx +++ b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx @@ -119,52 +119,6 @@ describe("ConfigChangesSwimlane integration", () => { expect(screen.queryByText("No changes to display")).not.toBeInTheDocument(); }); - it("shows loading indicator when isFetchingNextPage is true", () => { - renderSwimlane({ - changes: allChanges, - isFetchingNextPage: true - }); - expect(screen.getByText("Loading more changes...")).toBeInTheDocument(); - }); - - it("calls fetchNextPage when sentinel becomes visible", () => { - let observerCallback: IntersectionObserverCallback; - const observeMock = jest.fn(); - const disconnectMock = jest.fn(); - - const MockIntersectionObserver = jest.fn( - (cb: IntersectionObserverCallback) => { - observerCallback = cb; - return { - observe: observeMock, - disconnect: disconnectMock, - unobserve: jest.fn() - }; - } - ); - Object.defineProperty(window, "IntersectionObserver", { - writable: true, - value: MockIntersectionObserver - }); - - const fetchNextPage = jest.fn(); - renderSwimlane({ - changes: allChanges, - fetchNextPage, - hasNextPage: true, - isFetchingNextPage: false - }); - - expect(observeMock).toHaveBeenCalled(); - - observerCallback!( - [{ isIntersecting: true } as IntersectionObserverEntry], - {} as IntersectionObserver - ); - - expect(fetchNextPage).toHaveBeenCalled(); - }); - it("renders empty state for empty changes array", () => { renderSwimlane({ changes: [] }); expect(screen.getByText("No changes to display")).toBeInTheDocument(); diff --git a/src/pages/config/ConfigChangesPage.tsx b/src/pages/config/ConfigChangesPage.tsx index 66fe724951..d30ad51a1d 100644 --- a/src/pages/config/ConfigChangesPage.tsx +++ b/src/pages/config/ConfigChangesPage.tsx @@ -90,12 +90,28 @@ export function ConfigChangesPage() { enabled: !isGraphView }); - // Graph view: infinite query + // Graph view: fetch all pages for the selected time range in batches. const infiniteQuery = useGetAllConfigsChangesInfiniteQuery({ - pageSize: parseInt(pageSize), enabled: isGraphView }); + useEffect(() => { + if ( + !isGraphView || + !infiniteQuery.hasNextPage || + infiniteQuery.isFetchingNextPage + ) { + return; + } + + infiniteQuery.fetchNextPage(); + }, [ + isGraphView, + infiniteQuery.hasNextPage, + infiniteQuery.isFetchingNextPage, + infiniteQuery.fetchNextPage + ]); + // Initialize cursor from base data when live tail is turned on useEffect(() => { if ( @@ -167,7 +183,8 @@ export function ConfigChangesPage() { changes: allChanges, totalChanges: infiniteQuery.data?.pages[0]?.total ?? 0, isLoading: infiniteQuery.isLoading, - isRefetching: infiniteQuery.isRefetching, + isRefetching: + infiniteQuery.isRefetching || infiniteQuery.isFetchingNextPage, error: infiniteQuery.error, refetch: infiniteQuery.refetch }; @@ -279,9 +296,6 @@ export function ConfigChangesPage() { changes={changes} isLoading={isLoading} onItemClicked={(change) => setSelectedChange(change)} - fetchNextPage={infiniteQuery.fetchNextPage} - hasNextPage={infiniteQuery.hasNextPage} - isFetchingNextPage={infiniteQuery.isFetchingNextPage} /> {selectedChange && ( Date: Wed, 6 May 2026 17:18:41 +0545 Subject: [PATCH 07/17] refactor(swimlane): split swimlane components Move bloated ConfigChangesSwimlane presentation pieces into focused components under the Swimlane directory. Keep the main swimlane component responsible for state, bucketing, grouping, and orchestration while preserving existing behavior. --- .../Configs/Changes/ConfigChangesSwimlane.tsx | 637 ++---------------- .../Configs/Changes/Swimlane/BucketCells.tsx | 55 ++ .../Changes/Swimlane/ChangeIconWithBadge.tsx | 22 + .../Changes/Swimlane/EmptySwimlaneState.tsx | 7 + .../Configs/Changes/Swimlane/ExtraDot.tsx | 8 + .../Configs/Changes/Swimlane/FlexLabel.tsx | 5 + .../Changes/Swimlane/GroupParentRow.tsx | 100 +++ .../Changes/Swimlane/IconWithLabel.tsx | 79 +++ .../Legend.tsx} | 0 .../Changes/Swimlane/LoadingSwimlaneState.tsx | 8 + .../Configs/Changes/Swimlane/ResizeHandle.tsx | 12 + .../Changes/Swimlane/SeverityBadges.tsx | 71 ++ .../Changes/Swimlane/SeverityTooltip.tsx | 61 ++ .../Configs/Changes/Swimlane/SwimlaneRow.tsx | 71 ++ .../Changes/Swimlane/TimeAxisHeader.tsx | 44 ++ .../Tooltip.tsx} | 6 +- .../Utils.ts} | 0 .../Configs/Changes/Swimlane/index.ts | 5 + .../ConfigChangesSwimlaneUtils.unit.test.ts | 2 +- 19 files changed, 625 insertions(+), 568 deletions(-) create mode 100644 src/components/Configs/Changes/Swimlane/BucketCells.tsx create mode 100644 src/components/Configs/Changes/Swimlane/ChangeIconWithBadge.tsx create mode 100644 src/components/Configs/Changes/Swimlane/EmptySwimlaneState.tsx create mode 100644 src/components/Configs/Changes/Swimlane/ExtraDot.tsx create mode 100644 src/components/Configs/Changes/Swimlane/FlexLabel.tsx create mode 100644 src/components/Configs/Changes/Swimlane/GroupParentRow.tsx create mode 100644 src/components/Configs/Changes/Swimlane/IconWithLabel.tsx rename src/components/Configs/Changes/{ConfigChangesSwimlaneLegend.tsx => Swimlane/Legend.tsx} (100%) create mode 100644 src/components/Configs/Changes/Swimlane/LoadingSwimlaneState.tsx create mode 100644 src/components/Configs/Changes/Swimlane/ResizeHandle.tsx create mode 100644 src/components/Configs/Changes/Swimlane/SeverityBadges.tsx create mode 100644 src/components/Configs/Changes/Swimlane/SeverityTooltip.tsx create mode 100644 src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx create mode 100644 src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx rename src/components/Configs/Changes/{ConfigChangesSwimlaneTooltip.tsx => Swimlane/Tooltip.tsx} (96%) rename src/components/Configs/Changes/{ConfigChangesSwimlaneUtils.ts => Swimlane/Utils.ts} (100%) create mode 100644 src/components/Configs/Changes/Swimlane/index.ts diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index 288616dc66..39dbb01337 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -1,167 +1,26 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; -import { - HoverCard, - HoverCardTrigger -} from "@flanksource-ui/components/ui/hover-card"; -import { PortaledHoverCardContent as HoverCardContent } from "@flanksource-ui/components/ui/portaled-hover-card"; -import { Age } from "@flanksource-ui/ui/Age"; -import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; -import { relativeDateTime } from "@flanksource-ui/utils/date"; import dayjs from "dayjs"; -import { - ChevronDown, - ChevronRight, - CircleAlert, - Info, - Maximize2, - OctagonAlert, - TriangleAlert -} from "lucide-react"; import { useCallback, useMemo, useRef, useState } from "react"; -import ConfigsTypeIcon from "../ConfigsTypeIcon"; -import ConfigChangesSwimlaneLegend from "./ConfigChangesSwimlaneLegend"; +import ConfigChangesSwimlaneLegend from "./Swimlane/Legend"; import { - GroupedSwimlaneTooltip, - SwimlaneTooltip -} from "./ConfigChangesSwimlaneTooltip"; + EmptySwimlaneState, + GroupParentRow, + LoadingSwimlaneState, + SwimlaneRow, + TimeAxisHeader +} from "./Swimlane"; import { BucketedRow, BUCKET_MIN_PX, - LabelPlacement, MAX_COLUMN_WIDTH, MIN_COLUMN_WIDTH, - SeverityCounts, - SwimlaneGroup, bucketChanges, - calcPercent, - computeLabelPlacements, countSeverities, - filterBySeverity, generateTimeTicks, - groupBucketByType, groupRowsByPrefix, - mergeBuckets, useContainerWidth, useResizableColumn -} from "./ConfigChangesSwimlaneUtils"; - -const severityEntries: { key: keyof SeverityCounts; icon: React.ReactNode }[] = - [ - { - key: "critical", - icon: - }, - { key: "high", icon: }, - { - key: "medium", - icon: - }, - { key: "low", icon: }, - { key: "info", icon: } - ]; - -function SeverityBadges({ - severity, - changes, - onExpand -}: { - severity: SeverityCounts; - changes: ConfigChange[]; - onExpand: (change: ConfigChange) => void; -}) { - const visible = severityEntries.filter(({ key }) => severity[key] > 0); - if (visible.length === 0) return null; - return ( -
- {visible.map(({ key, icon }) => { - const matched = filterBySeverity(changes, key); - return ( - - - - {icon} - {severity[key] > 1 && ( - - {severity[key]} - - )} - - - - - - - ); - })} -
- ); -} - -function SeverityTooltip({ - changes, - severityKey, - onExpand -}: { - changes: ConfigChange[]; - severityKey: string; - onExpand: (change: ConfigChange) => void; -}) { - return ( -
- - {severityKey} - -
- {changes.slice(0, 5).map((change) => ( -
- - - {change.change_type} - - - - - - {change.summary && ( - <> - - {change.summary} - - )} - - -
- ))} -
- {changes.length > 5 && ( - - +{changes.length - 5} more - - )} -
- ); -} +} from "./Swimlane/Utils"; type ConfigChangesSwimlaneProps = { changes: ConfigChange[]; @@ -169,323 +28,6 @@ type ConfigChangesSwimlaneProps = { onItemClicked?: (change: ConfigChange) => void; }; -function ExtraDot({ text }: { text: string }) { - return ( - - - {text} - - ); -} - -function ChangeIconWithBadge({ - group -}: { - group: ReturnType[number]; -}) { - const hasBadge = group.count > 1; - return ( - - - {hasBadge && ( - - {group.count} - - )} - - ); -} - -function FlexLabel({ text }: { text: string }) { - return ( - {text} - ); -} - -function IconWithLabel({ - group, - labelPlacement, - onItemClicked -}: { - group: ReturnType[number]; - labelPlacement: LabelPlacement; - onItemClicked: (change: ConfigChange) => void; -}) { - const tooltip = - group.count === 1 ? ( - onItemClicked(group.representative)} - /> - ) : ( - - ); - - if (labelPlacement === "extra") { - return ( - - - - - - {tooltip} - - - ); - } - - const type = group.representative.change_type; - - return ( - - - - - - {tooltip} - - - ); -} - -function BucketCells({ - buckets, - numBuckets, - onItemClicked, - min, - max -}: { - buckets: ConfigChange[][]; - numBuckets: number; - onItemClicked: (change: ConfigChange) => void; - min: number; - max: number; -}) { - const placements = useMemo( - () => computeLabelPlacements(buckets, numBuckets, min, max), - [buckets, numBuckets, min, max] - ); - - return ( - <> - {buckets.map((bucket, bIdx) => { - const grouped = groupBucketByType(bucket); - - const nextBucketEmpty = !buckets[bIdx + 1]?.length; - - return ( -
- {grouped.map((group, gIdx) => { - const key = `${bIdx}-${gIdx}`; - const placed = placements.get(key); - const labelPlacement = placed?.label ?? "none"; - - return ( - - ); - })} -
- ); - })} - - ); -} - -function SwimlaneRow({ - row, - columnWidth, - numBuckets, - onItemClicked, - onResizeMouseDown, - min, - max, - indent = false, - even = false -}: { - row: BucketedRow; - columnWidth: number; - numBuckets: number; - onItemClicked: (change: ConfigChange) => void; - onResizeMouseDown: (e: React.MouseEvent) => void; - min: number; - max: number; - indent?: boolean; - even?: boolean; -}) { - const bg = even ? "bg-gray-50/40" : "bg-white"; - const allChanges = useMemo(() => row.buckets.flat(), [row.buckets]); - return ( -
-
-
- - {row.name} - -
- - -
-
-
- {row.preRangeBadge && ( - - {row.preRangeBadge} - - )} - -
-
- ); -} - -function GroupParentRow({ - group, - collapsed, - onToggle, - columnWidth, - numBuckets, - onItemClicked, - onResizeMouseDown, - min, - max -}: { - group: SwimlaneGroup; - collapsed: boolean; - onToggle: () => void; - columnWidth: number; - numBuckets: number; - onItemClicked: (change: ConfigChange) => void; - onResizeMouseDown: (e: React.MouseEvent) => void; - min: number; - max: number; -}) { - const mergedBuckets = useMemo( - () => mergeBuckets(group.rows, numBuckets), - [group.rows, numBuckets] - ); - - const allGroupChanges = useMemo( - () => group.rows.flatMap((r) => r.buckets.flat()), - [group.rows] - ); - - const groupSeverity = useMemo(() => { - const totals: SeverityCounts = { - critical: 0, - high: 0, - medium: 0, - low: 0, - info: 0, - none: 0, - total: 0 - }; - for (const row of group.rows) { - for (const k of Object.keys(totals) as (keyof SeverityCounts)[]) { - totals[k] += row.severity[k]; - } - } - return totals; - }, [group.rows]); - - const Chevron = collapsed ? ChevronRight : ChevronDown; - - return ( -
-
- - - -
-
- {collapsed && ( -
- -
- )} -
- ); -} - export default function ConfigChangesSwimlane({ changes, isLoading, @@ -494,8 +36,8 @@ export default function ConfigChangesSwimlane({ const [collapsedGroups, setCollapsedGroups] = useState>( new Set() ); - const containerRef = useRef(null); - const markersRef = useRef(null); + const containerRef = useRef(null); + const markersRef = useRef(null); const containerWidth = useContainerWidth(containerRef); const initialColumnWidth = Math.min( MAX_COLUMN_WIDTH, @@ -568,116 +110,83 @@ export default function ConfigChangesSwimlane({ }); }, []); - if (isLoading) { - return ( -
-
- Loading changes... -
- ); - } + if (isLoading) return ; + if (changes.length === 0) return ; - if (changes.length === 0) { - return ( -
- No changes to display -
- ); - } + let rowIdx = 0; return (
- {/* Time axis header — sticky top */} -
-
-
-
- {ticks.map((tick) => { - const pct = calcPercent(dayjs(tick).toISOString(), min, max); - return ( - - {relativeDateTime(dayjs(tick).toISOString())} - - ); - })} -
-
-
+ - {/* Legend */} - {/* Swimlane rows */}
- {(() => { - let rowIdx = 0; - return groups.map((group) => { - if (!group.isGroup) { - const even = rowIdx % 2 === 0; - rowIdx++; - return ( - - ); - } - - const collapsed = collapsedGroups.has(group.prefix); + {groups.map((group) => { + if (!group.isGroup) { + const even = rowIdx % 2 === 0; rowIdx++; return ( -
- toggleGroup(group.prefix)} - columnWidth={columnWidth} - numBuckets={numBuckets} - onItemClicked={onItemClicked} - onResizeMouseDown={onResizeMouseDown} - min={min} - max={max} - /> - {!collapsed && - group.rows.map((row) => { - const even = rowIdx % 2 === 0; - rowIdx++; - return ( - - ); - })} -
+ ); - }); - })()} + } + + const collapsed = collapsedGroups.has(group.prefix); + rowIdx++; + return ( +
+ toggleGroup(group.prefix)} + columnWidth={columnWidth} + numBuckets={numBuckets} + onItemClicked={onItemClicked} + onResizeMouseDown={onResizeMouseDown} + min={min} + max={max} + /> + {!collapsed && + group.rows.map((row) => { + const even = rowIdx % 2 === 0; + rowIdx++; + return ( + + ); + })} +
+ ); + })}
); diff --git a/src/components/Configs/Changes/Swimlane/BucketCells.tsx b/src/components/Configs/Changes/Swimlane/BucketCells.tsx new file mode 100644 index 0000000000..c14b5a082d --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/BucketCells.tsx @@ -0,0 +1,55 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { useMemo } from "react"; +import { computeLabelPlacements, groupBucketByType } from "./Utils"; +import { IconWithLabel } from "./IconWithLabel"; + +export function BucketCells({ + buckets, + numBuckets, + onItemClicked, + min, + max +}: { + buckets: ConfigChange[][]; + numBuckets: number; + onItemClicked: (change: ConfigChange) => void; + min: number; + max: number; +}) { + const placements = useMemo( + () => computeLabelPlacements(buckets, numBuckets, min, max), + [buckets, numBuckets, min, max] + ); + + return ( + <> + {buckets.map((bucket, bIdx) => { + const grouped = groupBucketByType(bucket); + const nextBucketEmpty = !buckets[bIdx + 1]?.length; + + return ( +
+ {grouped.map((group, gIdx) => { + const key = `${bIdx}-${gIdx}`; + const placed = placements.get(key); + const labelPlacement = placed?.label ?? "none"; + + return ( + + ); + })} +
+ ); + })} + + ); +} diff --git a/src/components/Configs/Changes/Swimlane/ChangeIconWithBadge.tsx b/src/components/Configs/Changes/Swimlane/ChangeIconWithBadge.tsx new file mode 100644 index 0000000000..6cfe15e236 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/ChangeIconWithBadge.tsx @@ -0,0 +1,22 @@ +import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; +import { groupBucketByType } from "./Utils"; + +export function ChangeIconWithBadge({ + group +}: { + group: ReturnType[number]; +}) { + const hasBadge = group.count > 1; + return ( + + + {hasBadge && ( + + {group.count} + + )} + + ); +} diff --git a/src/components/Configs/Changes/Swimlane/EmptySwimlaneState.tsx b/src/components/Configs/Changes/Swimlane/EmptySwimlaneState.tsx new file mode 100644 index 0000000000..c54f6d9b17 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/EmptySwimlaneState.tsx @@ -0,0 +1,7 @@ +export function EmptySwimlaneState() { + return ( +
+ No changes to display +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/ExtraDot.tsx b/src/components/Configs/Changes/Swimlane/ExtraDot.tsx new file mode 100644 index 0000000000..d3c903e125 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/ExtraDot.tsx @@ -0,0 +1,8 @@ +export function ExtraDot({ text }: { text: string }) { + return ( + + + {text} + + ); +} diff --git a/src/components/Configs/Changes/Swimlane/FlexLabel.tsx b/src/components/Configs/Changes/Swimlane/FlexLabel.tsx new file mode 100644 index 0000000000..af38d99f14 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/FlexLabel.tsx @@ -0,0 +1,5 @@ +export function FlexLabel({ text }: { text: string }) { + return ( + {text} + ); +} diff --git a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx new file mode 100644 index 0000000000..295398b8da --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx @@ -0,0 +1,100 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { ChevronDown, ChevronRight } from "lucide-react"; +import { useMemo } from "react"; +import { SeverityCounts, SwimlaneGroup, mergeBuckets } from "./Utils"; +import { BucketCells } from "./BucketCells"; +import { ResizeHandle } from "./ResizeHandle"; +import { SeverityBadges } from "./SeverityBadges"; + +export function GroupParentRow({ + group, + collapsed, + onToggle, + columnWidth, + numBuckets, + onItemClicked, + onResizeMouseDown, + min, + max +}: { + group: SwimlaneGroup; + collapsed: boolean; + onToggle: () => void; + columnWidth: number; + numBuckets: number; + onItemClicked: (change: ConfigChange) => void; + onResizeMouseDown: (e: React.MouseEvent) => void; + min: number; + max: number; +}) { + const mergedBuckets = useMemo( + () => mergeBuckets(group.rows, numBuckets), + [group.rows, numBuckets] + ); + + const allGroupChanges = useMemo( + () => group.rows.flatMap((r) => r.buckets.flat()), + [group.rows] + ); + + const groupSeverity = useMemo(() => { + const totals: SeverityCounts = { + critical: 0, + high: 0, + medium: 0, + low: 0, + info: 0, + none: 0, + total: 0 + }; + for (const row of group.rows) { + for (const k of Object.keys(totals) as (keyof SeverityCounts)[]) { + totals[k] += row.severity[k]; + } + } + return totals; + }, [group.rows]); + + const Chevron = collapsed ? ChevronRight : ChevronDown; + + return ( +
+
+ + + + +
+ {collapsed && ( +
+ +
+ )} +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/IconWithLabel.tsx b/src/components/Configs/Changes/Swimlane/IconWithLabel.tsx new file mode 100644 index 0000000000..2e81d4311c --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/IconWithLabel.tsx @@ -0,0 +1,79 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { + HoverCard, + HoverCardTrigger +} from "@flanksource-ui/components/ui/hover-card"; +import { PortaledHoverCardContent as HoverCardContent } from "@flanksource-ui/components/ui/portaled-hover-card"; +import { GroupedSwimlaneTooltip, SwimlaneTooltip } from "./Tooltip"; +import { LabelPlacement, groupBucketByType } from "./Utils"; +import { ChangeIconWithBadge } from "./ChangeIconWithBadge"; +import { ExtraDot } from "./ExtraDot"; +import { FlexLabel } from "./FlexLabel"; + +export function IconWithLabel({ + group, + labelPlacement, + onItemClicked +}: { + group: ReturnType[number]; + labelPlacement: LabelPlacement; + onItemClicked: (change: ConfigChange) => void; +}) { + const tooltip = + group.count === 1 ? ( + onItemClicked(group.representative)} + /> + ) : ( + + ); + + if (labelPlacement === "extra") { + return ( + + + + + + {tooltip} + + + ); + } + + const type = group.representative.change_type; + + return ( + + + + + + {tooltip} + + + ); +} diff --git a/src/components/Configs/Changes/ConfigChangesSwimlaneLegend.tsx b/src/components/Configs/Changes/Swimlane/Legend.tsx similarity index 100% rename from src/components/Configs/Changes/ConfigChangesSwimlaneLegend.tsx rename to src/components/Configs/Changes/Swimlane/Legend.tsx diff --git a/src/components/Configs/Changes/Swimlane/LoadingSwimlaneState.tsx b/src/components/Configs/Changes/Swimlane/LoadingSwimlaneState.tsx new file mode 100644 index 0000000000..d9faa1f0d6 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/LoadingSwimlaneState.tsx @@ -0,0 +1,8 @@ +export function LoadingSwimlaneState() { + return ( +
+
+ Loading changes... +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/ResizeHandle.tsx b/src/components/Configs/Changes/Swimlane/ResizeHandle.tsx new file mode 100644 index 0000000000..0237e34089 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/ResizeHandle.tsx @@ -0,0 +1,12 @@ +export function ResizeHandle({ + onMouseDown +}: { + onMouseDown: (e: React.MouseEvent) => void; +}) { + return ( +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/SeverityBadges.tsx b/src/components/Configs/Changes/Swimlane/SeverityBadges.tsx new file mode 100644 index 0000000000..17fd4a0b34 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/SeverityBadges.tsx @@ -0,0 +1,71 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { + HoverCard, + HoverCardTrigger +} from "@flanksource-ui/components/ui/hover-card"; +import { PortaledHoverCardContent as HoverCardContent } from "@flanksource-ui/components/ui/portaled-hover-card"; +import { CircleAlert, Info, OctagonAlert, TriangleAlert } from "lucide-react"; +import { SeverityCounts, filterBySeverity } from "./Utils"; +import { SeverityTooltip } from "./SeverityTooltip"; + +const severityEntries: { key: keyof SeverityCounts; icon: React.ReactNode }[] = + [ + { + key: "critical", + icon: + }, + { key: "high", icon: }, + { + key: "medium", + icon: + }, + { key: "low", icon: }, + { key: "info", icon: } + ]; + +export function SeverityBadges({ + severity, + changes, + onExpand +}: { + severity: SeverityCounts; + changes: ConfigChange[]; + onExpand: (change: ConfigChange) => void; +}) { + const visible = severityEntries.filter(({ key }) => severity[key] > 0); + if (visible.length === 0) return null; + + return ( +
+ {visible.map(({ key, icon }) => { + const matched = filterBySeverity(changes, key); + return ( + + + + {icon} + {severity[key] > 1 && ( + + {severity[key]} + + )} + + + + + + + ); + })} +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/SeverityTooltip.tsx b/src/components/Configs/Changes/Swimlane/SeverityTooltip.tsx new file mode 100644 index 0000000000..a13f63be12 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/SeverityTooltip.tsx @@ -0,0 +1,61 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { Age } from "@flanksource-ui/ui/Age"; +import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; +import { Maximize2 } from "lucide-react"; + +export function SeverityTooltip({ + changes, + severityKey, + onExpand +}: { + changes: ConfigChange[]; + severityKey: string; + onExpand: (change: ConfigChange) => void; +}) { + return ( +
+ + {severityKey} + +
+ {changes.slice(0, 5).map((change) => ( +
+ + + {change.change_type} + + + + + + {change.summary && ( + <> + + {change.summary} + + )} + + +
+ ))} +
+ {changes.length > 5 && ( + + +{changes.length - 5} more + + )} +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx new file mode 100644 index 0000000000..e2df8cf7f6 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx @@ -0,0 +1,71 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { useMemo } from "react"; +import ConfigsTypeIcon from "../../ConfigsTypeIcon"; +import { BucketedRow } from "./Utils"; +import { BucketCells } from "./BucketCells"; +import { ResizeHandle } from "./ResizeHandle"; +import { SeverityBadges } from "./SeverityBadges"; + +export function SwimlaneRow({ + row, + columnWidth, + numBuckets, + onItemClicked, + onResizeMouseDown, + min, + max, + indent = false, + even = false +}: { + row: BucketedRow; + columnWidth: number; + numBuckets: number; + onItemClicked: (change: ConfigChange) => void; + onResizeMouseDown: (e: React.MouseEvent) => void; + min: number; + max: number; + indent?: boolean; + even?: boolean; +}) { + const bg = even ? "bg-gray-50/40" : "bg-white"; + const allChanges = useMemo(() => row.buckets.flat(), [row.buckets]); + + return ( +
+
+
+ + {row.name} + +
+ + + +
+
+ {row.preRangeBadge && ( + + {row.preRangeBadge} + + )} + +
+
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx b/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx new file mode 100644 index 0000000000..5c61d537dd --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx @@ -0,0 +1,44 @@ +import { relativeDateTime } from "@flanksource-ui/utils/date"; +import dayjs from "dayjs"; +import { calcPercent } from "./Utils"; + +export function TimeAxisHeader({ + columnWidth, + markersRef, + ticks, + min, + max +}: { + columnWidth: number; + markersRef: React.MutableRefObject; + ticks: number[]; + min: number; + max: number; +}) { + return ( +
+
+
{ + markersRef.current = el; + }} + > +
+ {ticks.map((tick) => { + const pct = calcPercent(dayjs(tick).toISOString(), min, max); + return ( + + {relativeDateTime(dayjs(tick).toISOString())} + + ); + })} +
+
+
+ ); +} diff --git a/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx b/src/components/Configs/Changes/Swimlane/Tooltip.tsx similarity index 96% rename from src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx rename to src/components/Configs/Changes/Swimlane/Tooltip.tsx index 9f8a220d7c..bc1bdef9b7 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlaneTooltip.tsx +++ b/src/components/Configs/Changes/Swimlane/Tooltip.tsx @@ -4,9 +4,9 @@ import { Age } from "@flanksource-ui/ui/Age"; import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; import { Maximize2 } from "lucide-react"; import { Link } from "react-router-dom"; -import ConfigsTypeIcon from "../ConfigsTypeIcon"; -import { paramsToReset } from "./ConfigChangeTable"; -import { GroupedChange } from "./ConfigChangesSwimlaneUtils"; +import ConfigsTypeIcon from "../../ConfigsTypeIcon"; +import { paramsToReset } from "../ConfigChangeTable"; +import { GroupedChange } from "./Utils"; function ChangeRow({ change, diff --git a/src/components/Configs/Changes/ConfigChangesSwimlaneUtils.ts b/src/components/Configs/Changes/Swimlane/Utils.ts similarity index 100% rename from src/components/Configs/Changes/ConfigChangesSwimlaneUtils.ts rename to src/components/Configs/Changes/Swimlane/Utils.ts diff --git a/src/components/Configs/Changes/Swimlane/index.ts b/src/components/Configs/Changes/Swimlane/index.ts new file mode 100644 index 0000000000..e76d825041 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/index.ts @@ -0,0 +1,5 @@ +export { EmptySwimlaneState } from "./EmptySwimlaneState"; +export { GroupParentRow } from "./GroupParentRow"; +export { LoadingSwimlaneState } from "./LoadingSwimlaneState"; +export { SwimlaneRow } from "./SwimlaneRow"; +export { TimeAxisHeader } from "./TimeAxisHeader"; diff --git a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlaneUtils.unit.test.ts b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlaneUtils.unit.test.ts index 801c79a00b..e58cb51cc2 100644 --- a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlaneUtils.unit.test.ts +++ b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlaneUtils.unit.test.ts @@ -7,7 +7,7 @@ import { generateTimeTicks, groupRowsByPrefix, mergeBuckets -} from "../ConfigChangesSwimlaneUtils"; +} from "../Swimlane/Utils"; function makeChange(overrides: Partial = {}): ConfigChange { return { From 5be31dd90e87508f50faf4c98a1bb33133afccf2 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Wed, 6 May 2026 17:30:58 +0545 Subject: [PATCH 08/17] fix: Legend --- .../Configs/Changes/Swimlane/Legend.tsx | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/components/Configs/Changes/Swimlane/Legend.tsx b/src/components/Configs/Changes/Swimlane/Legend.tsx index e1a69c24d1..e800bc85f8 100644 --- a/src/components/Configs/Changes/Swimlane/Legend.tsx +++ b/src/components/Configs/Changes/Swimlane/Legend.tsx @@ -20,16 +20,18 @@ export default function ConfigChangesSwimlaneLegend({ changes }: Props) { if (changeTypes.length === 0) return null; return ( -
- {changeTypes.map(([type, sample]) => ( - - - {type} - - ))} +
+
+ {changeTypes.map(([type, sample]) => ( + + + {type} + + ))} +
); } From 836c31af18a9cdc23736e8a51a33d961dab172c0 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Wed, 6 May 2026 17:34:07 +0545 Subject: [PATCH 09/17] chore: ChangeRow component --- .../Configs/Changes/Swimlane/ChangeRow.tsx | 88 +++++++++++++++++++ .../Configs/Changes/Swimlane/ExtraDot.tsx | 8 -- .../Changes/Swimlane/IconWithLabel.tsx | 10 ++- .../Configs/Changes/Swimlane/Tooltip.tsx | 88 +------------------ .../Configs/Changes/Swimlane/Utils.ts | 1 - 5 files changed, 98 insertions(+), 97 deletions(-) create mode 100644 src/components/Configs/Changes/Swimlane/ChangeRow.tsx delete mode 100644 src/components/Configs/Changes/Swimlane/ExtraDot.tsx diff --git a/src/components/Configs/Changes/Swimlane/ChangeRow.tsx b/src/components/Configs/Changes/Swimlane/ChangeRow.tsx new file mode 100644 index 0000000000..e4a263f7c8 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/ChangeRow.tsx @@ -0,0 +1,88 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import FilterByCellValue from "@flanksource-ui/ui/DataTable/FilterByCellValue"; +import { Age } from "@flanksource-ui/ui/Age"; +import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; +import { Maximize2 } from "lucide-react"; +import { paramsToReset } from "../ConfigChangeTable"; + +export function ChangeRow({ + change, + onExpand, + showType = true +}: { + change: ConfigChange; + onExpand?: () => void; + showType?: boolean; +}) { + return ( +
+
+ {showType && ( + + + + {change.change_type} + + + )} + {showType && } + + + {(change.count || 1) > 1 && ( + (x{change.count}) + )} + + {onExpand && ( + <> + + + + )} +
+ + {change.summary && ( +
+ Summary + + {change.summary} + +
+ )} + + {(change.created_by || change.external_created_by) && ( +
+ By + + + {change.created_by || change.external_created_by} + + +
+ )} +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/ExtraDot.tsx b/src/components/Configs/Changes/Swimlane/ExtraDot.tsx deleted file mode 100644 index d3c903e125..0000000000 --- a/src/components/Configs/Changes/Swimlane/ExtraDot.tsx +++ /dev/null @@ -1,8 +0,0 @@ -export function ExtraDot({ text }: { text: string }) { - return ( - - - {text} - - ); -} diff --git a/src/components/Configs/Changes/Swimlane/IconWithLabel.tsx b/src/components/Configs/Changes/Swimlane/IconWithLabel.tsx index 2e81d4311c..f2553544dc 100644 --- a/src/components/Configs/Changes/Swimlane/IconWithLabel.tsx +++ b/src/components/Configs/Changes/Swimlane/IconWithLabel.tsx @@ -7,7 +7,6 @@ import { PortaledHoverCardContent as HoverCardContent } from "@flanksource-ui/co import { GroupedSwimlaneTooltip, SwimlaneTooltip } from "./Tooltip"; import { LabelPlacement, groupBucketByType } from "./Utils"; import { ChangeIconWithBadge } from "./ChangeIconWithBadge"; -import { ExtraDot } from "./ExtraDot"; import { FlexLabel } from "./FlexLabel"; export function IconWithLabel({ @@ -77,3 +76,12 @@ export function IconWithLabel({ ); } + +function ExtraDot({ text }: { text: string }) { + return ( + + + {text} + + ); +} diff --git a/src/components/Configs/Changes/Swimlane/Tooltip.tsx b/src/components/Configs/Changes/Swimlane/Tooltip.tsx index bc1bdef9b7..79207bb7fb 100644 --- a/src/components/Configs/Changes/Swimlane/Tooltip.tsx +++ b/src/components/Configs/Changes/Swimlane/Tooltip.tsx @@ -1,94 +1,8 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; -import FilterByCellValue from "@flanksource-ui/ui/DataTable/FilterByCellValue"; -import { Age } from "@flanksource-ui/ui/Age"; -import { ChangeIcon } from "@flanksource-ui/ui/Icons/ChangeIcon"; -import { Maximize2 } from "lucide-react"; import { Link } from "react-router-dom"; import ConfigsTypeIcon from "../../ConfigsTypeIcon"; -import { paramsToReset } from "../ConfigChangeTable"; import { GroupedChange } from "./Utils"; - -function ChangeRow({ - change, - onExpand, - showType = true -}: { - change: ConfigChange; - onExpand?: () => void; - showType?: boolean; -}) { - return ( -
-
- {showType && ( - - - - {change.change_type} - - - )} - {showType && } - - - {(change.count || 1) > 1 && ( - (x{change.count}) - )} - - {onExpand && ( - <> - - - - )} -
- - {change.summary && ( -
- Summary - - {change.summary} - -
- )} - - {(change.created_by || change.external_created_by) && ( -
- By - - - {change.created_by || change.external_created_by} - - -
- )} -
- ); -} +import { ChangeRow } from "./ChangeRow"; export function SwimlaneTooltip({ change, diff --git a/src/components/Configs/Changes/Swimlane/Utils.ts b/src/components/Configs/Changes/Swimlane/Utils.ts index 3a6bcce339..8199b941c9 100644 --- a/src/components/Configs/Changes/Swimlane/Utils.ts +++ b/src/components/Configs/Changes/Swimlane/Utils.ts @@ -322,7 +322,6 @@ export function computeLabelPlacements( const result = new Map(); const range = max - min || 1; const bucketSpan = range / numBuckets; - const bucketWidthPct = 100 / numBuckets; const seenTypes = new Set(); const deferredTypes = new Set(); From 041040eff3b3a86e45281fd54587f5cad9b4d32e Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Wed, 6 May 2026 18:25:54 +0545 Subject: [PATCH 10/17] feat(swimlane): group config changes by path Build swimlane hierarchy from config paths instead of name prefixes, including recursive nested groups for ancestor relationships. Fetch missing ancestor config metadata in one PostgREST call so group labels use names instead of UUIDs, and expose group type in a hover tooltip. --- src/api/types/configs.ts | 1 + .../Configs/Changes/ConfigChangesSwimlane.tsx | 152 ++++++++------- .../Changes/Swimlane/GroupParentRow.tsx | 29 ++- .../Configs/Changes/Swimlane/SwimlaneRow.tsx | 9 +- .../Configs/Changes/Swimlane/Utils.ts | 182 ++++++++++++------ .../ConfigChangesSwimlaneUtils.unit.test.ts | 61 ------ 6 files changed, 249 insertions(+), 185 deletions(-) diff --git a/src/api/types/configs.ts b/src/api/types/configs.ts index 61b1a57ef4..5c03908e8b 100644 --- a/src/api/types/configs.ts +++ b/src/api/types/configs.ts @@ -22,6 +22,7 @@ export interface ConfigChange extends CreatedAt { name?: string; created_by?: string; tags?: Record; + path?: string; first_observed?: string; count?: number; inserted_at?: string; diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index 39dbb01337..995cd115b7 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -1,4 +1,6 @@ +import { ConfigDB } from "@flanksource-ui/api/axios"; import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { useQuery } from "@tanstack/react-query"; import dayjs from "dayjs"; import { useCallback, useMemo, useRef, useState } from "react"; import ConfigChangesSwimlaneLegend from "./Swimlane/Legend"; @@ -14,10 +16,13 @@ import { BUCKET_MIN_PX, MAX_COLUMN_WIDTH, MIN_COLUMN_WIDTH, + ConfigPathMetadata, + SwimlaneGroup, bucketChanges, countSeverities, generateTimeTicks, - groupRowsByPrefix, + getUnknownPathIds, + groupRowsByPath, useContainerWidth, useResizableColumn } from "./Swimlane/Utils"; @@ -28,6 +33,17 @@ type ConfigChangesSwimlaneProps = { onItemClicked?: (change: ConfigChange) => void; }; +async function getConfigPathMetadata(ids: string[]) { + if (ids.length === 0) return []; + const { data } = await ConfigDB.get("config_items", { + params: { + select: "id,name,type,path", + id: `in.(${ids.join(",")})` + } + }); + return data; +} + export default function ConfigChangesSwimlane({ changes, isLoading, @@ -48,10 +64,10 @@ export default function ConfigChangesSwimlane({ const markersWidth = useContainerWidth(markersRef); const numBuckets = Math.max(1, Math.floor(markersWidth / BUCKET_MIN_PX)); - const { groups, min, max, ticks } = useMemo(() => { + const { rows, unknownPathIds, min, max, ticks } = useMemo(() => { const grouped = new Map(); for (const c of changes) { - const key = c.config?.name ?? c.config_id ?? "unknown"; + const key = c.config_id ?? c.config?.id ?? c.id; if (!grouped.has(key)) grouped.set(key, []); grouped.get(key)!.push(c); } @@ -69,7 +85,7 @@ export default function ConfigChangesSwimlane({ } const rows: BucketedRow[] = Array.from(grouped.entries()).map( - ([name, items]) => { + ([configId, items]) => { const { buckets, preRangeBadge } = bucketChanges( items, numBuckets, @@ -81,9 +97,13 @@ export default function ConfigChangesSwimlane({ dayjs(b.created_at).valueOf() - dayjs(a.created_at).valueOf() ); const totalCount = items.reduce((sum, c) => sum + (c.count || 1), 0); + const config = items[0]!.config; + const parentPath = items[0]!.path ?? config?.path; + const path = parentPath ? `${parentPath}.${configId}` : configId; return { - name, - config: items[0]!.config, + name: config?.name ?? items[0]!.name ?? configId, + path, + config, buckets, preRangeBadge, severity: countSeverities(items), @@ -94,13 +114,26 @@ export default function ConfigChangesSwimlane({ ); return { - groups: groupRowsByPrefix(rows), + rows, + unknownPathIds: getUnknownPathIds(rows), min, max, ticks: generateTimeTicks(min, max) }; }, [changes, numBuckets]); + const { data: pathMetadata = [] } = useQuery({ + queryKey: ["config-path-metadata", unknownPathIds], + queryFn: () => getConfigPathMetadata(unknownPathIds), + enabled: unknownPathIds.length > 0, + staleTime: 5 * 60 * 1000 + }); + + const groups = useMemo( + () => groupRowsByPath(rows, pathMetadata), + [rows, pathMetadata] + ); + const toggleGroup = useCallback((prefix: string) => { setCollapsedGroups((prev) => { const next = new Set(prev); @@ -115,6 +148,52 @@ export default function ConfigChangesSwimlane({ let rowIdx = 0; + const renderGroup = ( + group: SwimlaneGroup, + indentLevel = 0 + ): React.ReactNode => { + if (!group.isGroup) { + const even = rowIdx % 2 === 0; + rowIdx++; + return ( + + ); + } + + const groupKey = group.path ?? group.prefix; + const collapsed = collapsedGroups.has(groupKey); + rowIdx++; + return ( +
+ toggleGroup(groupKey)} + columnWidth={columnWidth} + numBuckets={numBuckets} + onItemClicked={onItemClicked} + onResizeMouseDown={onResizeMouseDown} + min={min} + max={max} + indentLevel={indentLevel} + /> + {!collapsed && + group.children?.map((child) => renderGroup(child, indentLevel + 1))} +
+ ); + }; + return (
-
- {groups.map((group) => { - if (!group.isGroup) { - const even = rowIdx % 2 === 0; - rowIdx++; - return ( - - ); - } - - const collapsed = collapsedGroups.has(group.prefix); - rowIdx++; - return ( -
- toggleGroup(group.prefix)} - columnWidth={columnWidth} - numBuckets={numBuckets} - onItemClicked={onItemClicked} - onResizeMouseDown={onResizeMouseDown} - min={min} - max={max} - /> - {!collapsed && - group.rows.map((row) => { - const even = rowIdx % 2 === 0; - rowIdx++; - return ( - - ); - })} -
- ); - })} -
+
{groups.map((group) => renderGroup(group))}
); } diff --git a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx index 295398b8da..1c206a302f 100644 --- a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx +++ b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx @@ -1,4 +1,9 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { + HoverCard, + HoverCardTrigger +} from "@flanksource-ui/components/ui/hover-card"; +import { PortaledHoverCardContent as HoverCardContent } from "@flanksource-ui/components/ui/portaled-hover-card"; import { ChevronDown, ChevronRight } from "lucide-react"; import { useMemo } from "react"; import { SeverityCounts, SwimlaneGroup, mergeBuckets } from "./Utils"; @@ -15,7 +20,8 @@ export function GroupParentRow({ onItemClicked, onResizeMouseDown, min, - max + max, + indentLevel = 0 }: { group: SwimlaneGroup; collapsed: boolean; @@ -26,6 +32,7 @@ export function GroupParentRow({ onResizeMouseDown: (e: React.MouseEvent) => void; min: number; max: number; + indentLevel?: number; }) { const mergedBuckets = useMemo( () => mergeBuckets(group.rows, numBuckets), @@ -56,6 +63,7 @@ export function GroupParentRow({ }, [group.rows]); const Chevron = collapsed ? ChevronRight : ChevronDown; + const groupType = group.type?.split("::").at(-1); return (
From 6da448452f98e6c460f6a0e6bd412dac3b37b961 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Wed, 6 May 2026 19:30:14 +0545 Subject: [PATCH 13/17] feat: more bar --- .../Configs/Changes/ConfigChangesSwimlane.tsx | 90 ++++++++++++++++++- .../Changes/Swimlane/GroupParentRow.tsx | 7 +- .../Changes/Swimlane/MoreTimeRangeHandle.tsx | 27 ++++++ .../Configs/Changes/Swimlane/SwimlaneRow.tsx | 11 ++- .../Changes/Swimlane/TimeAxisHeader.tsx | 3 + 5 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 src/components/Configs/Changes/Swimlane/MoreTimeRangeHandle.tsx diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index 9457f57585..b390324efe 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -1,7 +1,18 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { parseDateMath } from "@flanksource-ui/ui/Dates/TimeRangePicker/parseDateMath"; +import useTimeRangeParams from "@flanksource-ui/ui/Dates/TimeRangePicker/useTimeRangeParams"; +import { + TimeRangeOption, + displayTimeFormat, + timeRangeOptionsToAbsolute +} from "@flanksource-ui/ui/Dates/TimeRangePicker/rangeOptions"; import dayjs from "dayjs"; import { useCallback, useMemo, useRef, useState } from "react"; import ConfigChangesSwimlaneLegend from "./Swimlane/Legend"; +import { + MORE_TIME_RANGE_BAR_WIDTH, + MoreTimeRangeBar +} from "./Swimlane/MoreTimeRangeHandle"; import { EmptySwimlaneState, GroupParentRow, @@ -23,6 +34,64 @@ import { useResizableColumn } from "./Swimlane/Utils"; +const GRAPH_RANGE_PRESETS = [ + { display: "5 minutes", range: "now-5m", ms: 5 * 60 * 1000 }, + { display: "15 minutes", range: "now-15m", ms: 15 * 60 * 1000 }, + { display: "30 minutes", range: "now-30m", ms: 30 * 60 * 1000 }, + { display: "1 hour", range: "now-1h", ms: 60 * 60 * 1000 }, + { display: "2 hours", range: "now-2h", ms: 2 * 60 * 60 * 1000 }, + { display: "3 hours", range: "now-3h", ms: 3 * 60 * 60 * 1000 }, + { display: "6 hours", range: "now-6h", ms: 6 * 60 * 60 * 1000 }, + { display: "12 hours", range: "now-12h", ms: 12 * 60 * 60 * 1000 }, + { display: "24 hours", range: "now-24h", ms: 24 * 60 * 60 * 1000 }, + { display: "2 days", range: "now-2d", ms: 2 * 24 * 60 * 60 * 1000 }, + { display: "7 days", range: "now-7d", ms: 7 * 24 * 60 * 60 * 1000 } +]; + +const GRAPH_DEFAULT_RANGE: TimeRangeOption = { + type: "relative", + display: "2 hours", + range: "now-2h" +}; + +function resolveRangeDate(value: string, roundUp = false) { + if (value === "now") { + return dayjs(); + } + if (value.startsWith("now")) { + return dayjs(parseDateMath(value, roundUp)); + } + return dayjs(value); +} + +function getIncreasedTimeRange(range?: TimeRangeOption): TimeRangeOption { + const currentRange = range ?? GRAPH_DEFAULT_RANGE; + const { from, to } = timeRangeOptionsToAbsolute(currentRange); + const fromDate = resolveRangeDate(from); + const toDate = resolveRangeDate(to, true); + const durationMs = Math.max(0, toDate.diff(fromDate)); + const nextPreset = + GRAPH_RANGE_PRESETS.find((preset) => preset.ms > durationMs + 1000) ?? + GRAPH_RANGE_PRESETS[GRAPH_RANGE_PRESETS.length - 1]!; + + if (currentRange.type === "relative" && to === "now") { + return { + type: "relative", + display: nextPreset.display, + range: nextPreset.range + }; + } + + return { + type: "absolute", + display: "Custom", + from: toDate + .subtract(nextPreset.ms, "millisecond") + .format(displayTimeFormat), + to: toDate.format(displayTimeFormat) + }; +} + type ConfigChangesSwimlaneProps = { changes: ConfigChange[]; isLoading?: boolean; @@ -39,6 +108,11 @@ export default function ConfigChangesSwimlane({ ); const containerRef = useRef(null); const markersRef = useRef(null); + const { setTimeRangeParams, getTimeRangeFromUrl } = useTimeRangeParams(); + const timeRangeValue = getTimeRangeFromUrl(); + const increaseTimeRange = useCallback(() => { + setTimeRangeParams(getIncreasedTimeRange(timeRangeValue)); + }, [setTimeRangeParams, timeRangeValue]); const containerWidth = useContainerWidth(containerRef); const initialColumnWidth = Math.min( MAX_COLUMN_WIDTH, @@ -49,7 +123,7 @@ export default function ConfigChangesSwimlane({ const markersWidth = useContainerWidth(markersRef); const numBuckets = Math.max(1, Math.floor(markersWidth / BUCKET_MIN_PX)); - const { groups, min, max, ticks } = useMemo(() => { + const { groups, min, max, ticks, hasPreRangeChanges } = useMemo(() => { const grouped = new Map(); for (const c of changes) { const key = c.config_id ?? c.config?.id ?? c.id; @@ -102,7 +176,8 @@ export default function ConfigChangesSwimlane({ groups: groupRowsByPath(rows), min, max, - ticks: generateTimeTicks(min, max) + ticks: generateTimeTicks(min, max), + hasPreRangeChanges: rows.some((row) => row.preRangeBadge) }; }, [changes, numBuckets]); @@ -118,6 +193,10 @@ export default function ConfigChangesSwimlane({ if (isLoading) return ; if (changes.length === 0) return ; + const timelineOffsetWidth = hasPreRangeChanges + ? MORE_TIME_RANGE_BAR_WIDTH + : 0; + let rowIdx = 0; const renderGroup = ( @@ -135,6 +214,7 @@ export default function ConfigChangesSwimlane({ numBuckets={numBuckets} onItemClicked={onItemClicked} onResizeMouseDown={onResizeMouseDown} + timelineOffsetWidth={timelineOffsetWidth} min={min} max={max} indentLevel={indentLevel} @@ -156,6 +236,7 @@ export default function ConfigChangesSwimlane({ numBuckets={numBuckets} onItemClicked={onItemClicked} onResizeMouseDown={onResizeMouseDown} + timelineOffsetWidth={timelineOffsetWidth} min={min} max={max} indentLevel={indentLevel} @@ -174,6 +255,7 @@ export default function ConfigChangesSwimlane({ + {hasPreRangeChanges && ( + + )} +
{groups.map((group) => renderGroup(group))}
); diff --git a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx index 1c206a302f..1ba8bde22d 100644 --- a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx +++ b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx @@ -19,6 +19,7 @@ export function GroupParentRow({ numBuckets, onItemClicked, onResizeMouseDown, + timelineOffsetWidth = 0, min, max, indentLevel = 0 @@ -30,6 +31,7 @@ export function GroupParentRow({ numBuckets: number; onItemClicked: (change: ConfigChange) => void; onResizeMouseDown: (e: React.MouseEvent) => void; + timelineOffsetWidth?: number; min: number; max: number; indentLevel?: number; @@ -110,7 +112,10 @@ export function GroupParentRow({
{collapsed && ( -
+
void; +}) { + return ( +
+ +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx index 584cc7b923..017c952700 100644 --- a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx +++ b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx @@ -12,6 +12,7 @@ export function SwimlaneRow({ numBuckets, onItemClicked, onResizeMouseDown, + timelineOffsetWidth = 0, min, max, indentLevel = 0, @@ -22,6 +23,7 @@ export function SwimlaneRow({ numBuckets: number; onItemClicked: (change: ConfigChange) => void; onResizeMouseDown: (e: React.MouseEvent) => void; + timelineOffsetWidth?: number; min: number; max: number; indentLevel?: number; @@ -47,15 +49,22 @@ export function SwimlaneRow({ {row.name}
+ + +
-
+ +
{row.preRangeBadge && ( {row.preRangeBadge} diff --git a/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx b/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx index 5c61d537dd..8e0dfba2db 100644 --- a/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx +++ b/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx @@ -5,12 +5,14 @@ import { calcPercent } from "./Utils"; export function TimeAxisHeader({ columnWidth, markersRef, + timelineOffsetWidth = 0, ticks, min, max }: { columnWidth: number; markersRef: React.MutableRefObject; + timelineOffsetWidth?: number; ticks: number[]; min: number; max: number; @@ -20,6 +22,7 @@ export function TimeAxisHeader({
{ markersRef.current = el; }} From 588febdb9dc13a81b2e7dcd8785be28663cfed59 Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Thu, 7 May 2026 16:42:04 +0545 Subject: [PATCH 14/17] fix(config-changes): cap graph changes Limit graph view loading to 2,500 changes while keeping table pagination unchanged. Show progress after the first graph response reports total changes, and keep the progress indicator stable until the loaded count reaches the cap or total. Add an inline warning near the view toggle when the selected date range has more changes than graph view will render, and default graph mode to a two-hour range when switching from the table default. --- src/api/query-hooks/useConfigChangesHooks.ts | 14 ++-- .../ConfigChangesDateRangeFIlter.tsx | 14 ++-- .../Changes/ConfigChangesViewToggle.tsx | 24 ++++++- .../Configs/Changes/Swimlane/SwimlaneRow.tsx | 1 + src/pages/config/ConfigChangesPage.tsx | 66 +++++++++++-------- 5 files changed, 80 insertions(+), 39 deletions(-) diff --git a/src/api/query-hooks/useConfigChangesHooks.ts b/src/api/query-hooks/useConfigChangesHooks.ts index 90874504e0..89a30d711f 100644 --- a/src/api/query-hooks/useConfigChangesHooks.ts +++ b/src/api/query-hooks/useConfigChangesHooks.ts @@ -1,4 +1,7 @@ -import { configChangesDefaultDateFilter } from "@flanksource-ui/components/Configs/Changes/ConfigChangesFilters/ConfigChangesDateRangeFIlter"; +import { + configChangesDefaultDateFilter, + configChangesGraphDefaultDateFilterParams +} from "@flanksource-ui/components/Configs/Changes/ConfigChangesFilters/ConfigChangesDateRangeFIlter"; import { useShowDeletedConfigs } from "@flanksource-ui/store/preference.state"; import { useConfigChangesArbitraryFilters } from "@flanksource-ui/hooks/useConfigChangesArbitraryFilters"; import useReactTablePaginationState from "@flanksource-ui/ui/DataTable/Hooks/useReactTablePaginationState"; @@ -174,16 +177,18 @@ export function useGetConfigChangesByIDQuery( export function useGetAllConfigsChangesInfiniteQuery({ pageSize = 1000, + maxChanges, paramPrefix, enabled = true }: { pageSize?: number; + maxChanges?: number; paramPrefix?: string; enabled?: boolean; } = {}) { const showChangesFromDeletedConfigs = useShowDeletedConfigs(); const { timeRangeValue } = useTimeRangeParams( - configChangesDefaultDateFilter, + configChangesGraphDefaultDateFilterParams, paramPrefix ); const [params] = usePrefixedSearchParams(paramPrefix, false, { @@ -216,16 +221,17 @@ export function useGetAllConfigsChangesInfiniteQuery({ }; return useInfiniteQuery({ - queryKey: ["configs", "changes", "infinite", filterProps], + queryKey: ["configs", "changes", "infinite", filterProps, maxChanges], queryFn: ({ pageParam = 0 }) => getConfigsChanges({ ...filterProps, pageIndex: pageParam }), getNextPageParam: (_lastPage, allPages) => { const total = allPages[0]?.total ?? 0; + const limit = maxChanges ? Math.min(total, maxChanges) : total; const loaded = allPages.reduce( (count, page) => count + (page.changes?.length ?? 0), 0 ); - return loaded < total ? allPages.length : undefined; + return loaded < limit ? allPages.length : undefined; }, keepPreviousData: true, enabled diff --git a/src/components/Configs/Changes/ConfigChangesFilters/ConfigChangesDateRangeFIlter.tsx b/src/components/Configs/Changes/ConfigChangesFilters/ConfigChangesDateRangeFIlter.tsx index 44af6b1646..fe7abd0876 100644 --- a/src/components/Configs/Changes/ConfigChangesFilters/ConfigChangesDateRangeFIlter.tsx +++ b/src/components/Configs/Changes/ConfigChangesFilters/ConfigChangesDateRangeFIlter.tsx @@ -22,12 +22,18 @@ export const configChangesDefaultDateFilter: URLSearchParamsInit = { range: "now-2d" }; -const configChangesGraphDefaultDateFilter = { +export const configChangesGraphDefaultDateFilter = { type: "relative", display: "2 hours", range: "now-2h" } satisfies TimeRangeOption; +export const configChangesGraphDefaultDateFilterParams: URLSearchParamsInit = { + rangeType: "relative", + display: configChangesGraphDefaultDateFilter.display, + range: configChangesGraphDefaultDateFilter.range +}; + const graphRangeOptionsCategories: RangeOptionsCategory[] = [ { name: "Relative time ranges", @@ -101,11 +107,7 @@ export default function ConfigChangesDateRangeFilter({ const defaultDateFilter = useMemo( () => isGraphView - ? { - rangeType: "relative", - display: configChangesGraphDefaultDateFilter.display, - range: configChangesGraphDefaultDateFilter.range - } + ? configChangesGraphDefaultDateFilterParams : configChangesDefaultDateFilter, [isGraphView] ); diff --git a/src/components/Configs/Changes/ConfigChangesViewToggle.tsx b/src/components/Configs/Changes/ConfigChangesViewToggle.tsx index fbed86b2cb..dcafab5b21 100644 --- a/src/components/Configs/Changes/ConfigChangesViewToggle.tsx +++ b/src/components/Configs/Changes/ConfigChangesViewToggle.tsx @@ -3,6 +3,17 @@ import { useSearchParams } from "react-router-dom"; export type ConfigChangesView = "Table" | "Graph"; +function isDefaultTableTimeRange(params: URLSearchParams) { + const rangeType = params.get("rangeType"); + const range = params.get("range"); + const display = params.get("display"); + + return ( + !rangeType || + (rangeType === "relative" && range === "now-2d" && display === "2 days") + ); +} + export function useConfigChangesViewToggleState(): ConfigChangesView { const [params] = useSearchParams(); return (params.get("view") as ConfigChangesView) || "Table"; @@ -13,12 +24,23 @@ export default function ConfigChangesViewToggle() { const value = (params.get("view") as ConfigChangesView) || "Table"; return ( -
+
{ const next = new URLSearchParams(params); next.set("view", v); + + if (v === "Graph" && isDefaultTableTimeRange(params)) { + next.set("rangeType", "relative"); + next.set("display", "2 hours"); + next.set("range", "now-2h"); + next.delete("from"); + next.delete("to"); + next.delete("duration"); + next.delete("timeRange"); + } + setParams(next, { replace: true }); }} value={value} diff --git a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx index 017c952700..ddf13f1403 100644 --- a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx +++ b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx @@ -41,6 +41,7 @@ export function SwimlaneRow({ className={`sticky left-0 z-20 flex shrink-0 items-center gap-3 overflow-visible px-2 py-1 text-sm shadow-[2px_0_4px_-2px_rgba(0,0,0,0.08)] ${bg}`} style={{ width: columnWidth }} > + {/* config name and link */}
{ - if ( - !isGraphView || - !infiniteQuery.hasNextPage || - infiniteQuery.isFetchingNextPage - ) { - return; - } - - infiniteQuery.fetchNextPage(); - }, [ - isGraphView, - infiniteQuery.hasNextPage, - infiniteQuery.isFetchingNextPage, - infiniteQuery.fetchNextPage - ]); - // Initialize cursor from base data when live tail is turned on useEffect(() => { if ( @@ -176,9 +164,9 @@ export function ConfigChangesPage() { useMemo(() => { if (isGraphView) { const allChanges = - infiniteQuery.data?.pages.flatMap((p) => - (p.changes ?? []).map(normalizeChange) - ) ?? []; + infiniteQuery.data?.pages + .flatMap((p) => (p.changes ?? []).map(normalizeChange)) + .slice(0, GRAPH_VIEW_MAX_CHANGES) ?? []; return { changes: allChanges, totalChanges: infiniteQuery.data?.pages[0]?.total ?? 0, @@ -214,6 +202,10 @@ export function ConfigChangesPage() { }, [isGraphView, infiniteQuery, tableQuery, tailedChanges, liveTail]); const totalChangesPages = Math.ceil(totalChanges / parseInt(pageSize)); + const graphLimitReached = + isGraphView && totalChanges > GRAPH_VIEW_MAX_CHANGES; + const showGraphLoadStatus = + isGraphView && !isLoading && infiniteQuery.isFetching; const [selectedChange, setSelectedChange] = useState(); const { data: changeDetails, isLoading: changeLoading } = @@ -286,17 +278,35 @@ export function ConfigChangesPage() { onChange={setLiveTail} /> )} - +
+ {graphLimitReached && ( + + ⚠️ Only {GRAPH_VIEW_MAX_CHANGES.toLocaleString()} of{" "} + {totalChanges.toLocaleString()} changes shown + + )} + +
} /> {isGraphView ? ( <> - setSelectedChange(change)} - /> +
+ {showGraphLoadStatus && ( +
+ +
+ )} + + setSelectedChange(change)} + /> +
{selectedChange && ( Date: Thu, 7 May 2026 17:10:56 +0545 Subject: [PATCH 15/17] fix(swimlane): share config row rendering Group headers and leaf rows used different row structures, which caused inconsistent layering and duplicated parent rows when rendering config hierarchies. Introduce a shared swimlane config row base for common label, severity, resize, and timeline layout. Render group headers as the parent config row and remove the synthetic duplicate child row. --- .../Changes/Swimlane/GroupParentRow.tsx | 89 ++++++++----------- .../Swimlane/SwimlaneConfigRowBase.tsx | 66 ++++++++++++++ .../Configs/Changes/Swimlane/SwimlaneRow.tsx | 84 ++++++++--------- .../Configs/Changes/Swimlane/Utils.ts | 11 +-- 4 files changed, 138 insertions(+), 112 deletions(-) create mode 100644 src/components/Configs/Changes/Swimlane/SwimlaneConfigRowBase.tsx diff --git a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx index 1ba8bde22d..4d33e99e2a 100644 --- a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx +++ b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx @@ -1,15 +1,10 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; -import { - HoverCard, - HoverCardTrigger -} from "@flanksource-ui/components/ui/hover-card"; -import { PortaledHoverCardContent as HoverCardContent } from "@flanksource-ui/components/ui/portaled-hover-card"; import { ChevronDown, ChevronRight } from "lucide-react"; import { useMemo } from "react"; -import { SeverityCounts, SwimlaneGroup, mergeBuckets } from "./Utils"; +import ConfigLink from "../../ConfigLink/ConfigLink"; import { BucketCells } from "./BucketCells"; -import { ResizeHandle } from "./ResizeHandle"; -import { SeverityBadges } from "./SeverityBadges"; +import { SwimlaneConfigRowBase } from "./SwimlaneConfigRowBase"; +import { SeverityCounts, SwimlaneGroup, mergeBuckets } from "./Utils"; export function GroupParentRow({ group, @@ -64,67 +59,55 @@ export function GroupParentRow({ return totals; }, [group.rows]); + const parentRow = group.rows[0]!; + const displayBuckets = collapsed ? mergedBuckets : parentRow.buckets; const Chevron = collapsed ? ChevronRight : ChevronDown; - const groupType = group.type?.split("::").at(-1); return ( -
-
- + ({group.rows.length}) - - - - -
- {collapsed && ( +
+ } + timeline={
+ {parentRow.preRangeBadge && !collapsed && ( + + {parentRow.preRangeBadge} + + )}
- )} -
+ } + severity={groupSeverity} + changes={allGroupChanges} + columnWidth={columnWidth} + onExpand={onItemClicked} + onResizeMouseDown={onResizeMouseDown} + indentLevel={indentLevel} + /> ); } diff --git a/src/components/Configs/Changes/Swimlane/SwimlaneConfigRowBase.tsx b/src/components/Configs/Changes/Swimlane/SwimlaneConfigRowBase.tsx new file mode 100644 index 0000000000..f119000ba5 --- /dev/null +++ b/src/components/Configs/Changes/Swimlane/SwimlaneConfigRowBase.tsx @@ -0,0 +1,66 @@ +import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { ReactNode } from "react"; +import { ResizeHandle } from "./ResizeHandle"; +import { SeverityBadges } from "./SeverityBadges"; +import { SeverityCounts } from "./Utils"; + +type SwimlaneConfigRowBaseProps = { + label: ReactNode; + timeline: ReactNode; + severity: SeverityCounts; + changes: ConfigChange[]; + columnWidth: number; + onExpand: (change: ConfigChange) => void; + onResizeMouseDown: (e: React.MouseEvent) => void; + indentLevel?: number; + even?: boolean; + className?: string; + labelClassName?: string; +}; + +export function SwimlaneConfigRowBase({ + label, + timeline, + severity, + changes, + columnWidth, + onExpand, + onResizeMouseDown, + indentLevel = 0, + even = false, + className = "", + labelClassName = "" +}: SwimlaneConfigRowBaseProps) { + const bg = even ? "bg-gray-50/40" : "bg-white"; + + return ( +
+
+
+ {label} +
+ + + + + + +
+ + {timeline} +
+ ); +} diff --git a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx index ddf13f1403..2a8d9a3b36 100644 --- a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx +++ b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx @@ -1,10 +1,9 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; import { useMemo } from "react"; -import ConfigsTypeIcon from "../../ConfigsTypeIcon"; -import { BucketedRow } from "./Utils"; +import ConfigLink from "../../ConfigLink/ConfigLink"; import { BucketCells } from "./BucketCells"; -import { ResizeHandle } from "./ResizeHandle"; -import { SeverityBadges } from "./SeverityBadges"; +import { SwimlaneConfigRowBase } from "./SwimlaneConfigRowBase"; +import { BucketedRow } from "./Utils"; export function SwimlaneRow({ row, @@ -29,56 +28,43 @@ export function SwimlaneRow({ indentLevel?: number; even?: boolean; }) { - const bg = even ? "bg-gray-50/40" : "bg-white"; const allChanges = useMemo(() => row.buckets.flat(), [row.buckets]); return ( -
-
- {/* config name and link */} + + } + timeline={
- - {row.name} - + {row.preRangeBadge && ( + + {row.preRangeBadge} + + )} +
- - - - - - -
- -
- {row.preRangeBadge && ( - - {row.preRangeBadge} - - )} - -
-
+ } + severity={row.severity} + changes={allChanges} + columnWidth={columnWidth} + onExpand={onItemClicked} + onResizeMouseDown={onResizeMouseDown} + indentLevel={indentLevel} + even={even} + /> ); } diff --git a/src/components/Configs/Changes/Swimlane/Utils.ts b/src/components/Configs/Changes/Swimlane/Utils.ts index 0e9cb76c25..6a5b84d931 100644 --- a/src/components/Configs/Changes/Swimlane/Utils.ts +++ b/src/components/Configs/Changes/Swimlane/Utils.ts @@ -282,16 +282,7 @@ function pathTreeToGroups(nodes: PathTreeNode[]): SwimlaneGroup[] { type: node.row.config?.type, path: node.path, rows: collectRows(node), - children: [ - { - prefix: node.row.name, - type: node.row.config?.type, - path: node.path, - rows: [node.row], - isGroup: false - }, - ...children - ], + children, isGroup: true }; }); From bc5262327c9cc5557775d223a6343a6a389b06bd Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Thu, 7 May 2026 17:13:47 +0545 Subject: [PATCH 16/17] Revert "feat: more bar" This reverts commit 6da448452f98e6c460f6a0e6bd412dac3b37b961. --- .../Configs/Changes/ConfigChangesSwimlane.tsx | 90 +------------------ .../Changes/Swimlane/GroupParentRow.tsx | 7 +- .../Changes/Swimlane/MoreTimeRangeHandle.tsx | 27 ------ .../Configs/Changes/Swimlane/SwimlaneRow.tsx | 7 +- .../Changes/Swimlane/TimeAxisHeader.tsx | 3 - 5 files changed, 4 insertions(+), 130 deletions(-) delete mode 100644 src/components/Configs/Changes/Swimlane/MoreTimeRangeHandle.tsx diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index b390324efe..9457f57585 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -1,18 +1,7 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; -import { parseDateMath } from "@flanksource-ui/ui/Dates/TimeRangePicker/parseDateMath"; -import useTimeRangeParams from "@flanksource-ui/ui/Dates/TimeRangePicker/useTimeRangeParams"; -import { - TimeRangeOption, - displayTimeFormat, - timeRangeOptionsToAbsolute -} from "@flanksource-ui/ui/Dates/TimeRangePicker/rangeOptions"; import dayjs from "dayjs"; import { useCallback, useMemo, useRef, useState } from "react"; import ConfigChangesSwimlaneLegend from "./Swimlane/Legend"; -import { - MORE_TIME_RANGE_BAR_WIDTH, - MoreTimeRangeBar -} from "./Swimlane/MoreTimeRangeHandle"; import { EmptySwimlaneState, GroupParentRow, @@ -34,64 +23,6 @@ import { useResizableColumn } from "./Swimlane/Utils"; -const GRAPH_RANGE_PRESETS = [ - { display: "5 minutes", range: "now-5m", ms: 5 * 60 * 1000 }, - { display: "15 minutes", range: "now-15m", ms: 15 * 60 * 1000 }, - { display: "30 minutes", range: "now-30m", ms: 30 * 60 * 1000 }, - { display: "1 hour", range: "now-1h", ms: 60 * 60 * 1000 }, - { display: "2 hours", range: "now-2h", ms: 2 * 60 * 60 * 1000 }, - { display: "3 hours", range: "now-3h", ms: 3 * 60 * 60 * 1000 }, - { display: "6 hours", range: "now-6h", ms: 6 * 60 * 60 * 1000 }, - { display: "12 hours", range: "now-12h", ms: 12 * 60 * 60 * 1000 }, - { display: "24 hours", range: "now-24h", ms: 24 * 60 * 60 * 1000 }, - { display: "2 days", range: "now-2d", ms: 2 * 24 * 60 * 60 * 1000 }, - { display: "7 days", range: "now-7d", ms: 7 * 24 * 60 * 60 * 1000 } -]; - -const GRAPH_DEFAULT_RANGE: TimeRangeOption = { - type: "relative", - display: "2 hours", - range: "now-2h" -}; - -function resolveRangeDate(value: string, roundUp = false) { - if (value === "now") { - return dayjs(); - } - if (value.startsWith("now")) { - return dayjs(parseDateMath(value, roundUp)); - } - return dayjs(value); -} - -function getIncreasedTimeRange(range?: TimeRangeOption): TimeRangeOption { - const currentRange = range ?? GRAPH_DEFAULT_RANGE; - const { from, to } = timeRangeOptionsToAbsolute(currentRange); - const fromDate = resolveRangeDate(from); - const toDate = resolveRangeDate(to, true); - const durationMs = Math.max(0, toDate.diff(fromDate)); - const nextPreset = - GRAPH_RANGE_PRESETS.find((preset) => preset.ms > durationMs + 1000) ?? - GRAPH_RANGE_PRESETS[GRAPH_RANGE_PRESETS.length - 1]!; - - if (currentRange.type === "relative" && to === "now") { - return { - type: "relative", - display: nextPreset.display, - range: nextPreset.range - }; - } - - return { - type: "absolute", - display: "Custom", - from: toDate - .subtract(nextPreset.ms, "millisecond") - .format(displayTimeFormat), - to: toDate.format(displayTimeFormat) - }; -} - type ConfigChangesSwimlaneProps = { changes: ConfigChange[]; isLoading?: boolean; @@ -108,11 +39,6 @@ export default function ConfigChangesSwimlane({ ); const containerRef = useRef(null); const markersRef = useRef(null); - const { setTimeRangeParams, getTimeRangeFromUrl } = useTimeRangeParams(); - const timeRangeValue = getTimeRangeFromUrl(); - const increaseTimeRange = useCallback(() => { - setTimeRangeParams(getIncreasedTimeRange(timeRangeValue)); - }, [setTimeRangeParams, timeRangeValue]); const containerWidth = useContainerWidth(containerRef); const initialColumnWidth = Math.min( MAX_COLUMN_WIDTH, @@ -123,7 +49,7 @@ export default function ConfigChangesSwimlane({ const markersWidth = useContainerWidth(markersRef); const numBuckets = Math.max(1, Math.floor(markersWidth / BUCKET_MIN_PX)); - const { groups, min, max, ticks, hasPreRangeChanges } = useMemo(() => { + const { groups, min, max, ticks } = useMemo(() => { const grouped = new Map(); for (const c of changes) { const key = c.config_id ?? c.config?.id ?? c.id; @@ -176,8 +102,7 @@ export default function ConfigChangesSwimlane({ groups: groupRowsByPath(rows), min, max, - ticks: generateTimeTicks(min, max), - hasPreRangeChanges: rows.some((row) => row.preRangeBadge) + ticks: generateTimeTicks(min, max) }; }, [changes, numBuckets]); @@ -193,10 +118,6 @@ export default function ConfigChangesSwimlane({ if (isLoading) return ; if (changes.length === 0) return ; - const timelineOffsetWidth = hasPreRangeChanges - ? MORE_TIME_RANGE_BAR_WIDTH - : 0; - let rowIdx = 0; const renderGroup = ( @@ -214,7 +135,6 @@ export default function ConfigChangesSwimlane({ numBuckets={numBuckets} onItemClicked={onItemClicked} onResizeMouseDown={onResizeMouseDown} - timelineOffsetWidth={timelineOffsetWidth} min={min} max={max} indentLevel={indentLevel} @@ -236,7 +156,6 @@ export default function ConfigChangesSwimlane({ numBuckets={numBuckets} onItemClicked={onItemClicked} onResizeMouseDown={onResizeMouseDown} - timelineOffsetWidth={timelineOffsetWidth} min={min} max={max} indentLevel={indentLevel} @@ -255,7 +174,6 @@ export default function ConfigChangesSwimlane({ - {hasPreRangeChanges && ( - - )} -
{groups.map((group) => renderGroup(group))}
); diff --git a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx index 4d33e99e2a..f80f78e13f 100644 --- a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx +++ b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx @@ -14,7 +14,6 @@ export function GroupParentRow({ numBuckets, onItemClicked, onResizeMouseDown, - timelineOffsetWidth = 0, min, max, indentLevel = 0 @@ -26,7 +25,6 @@ export function GroupParentRow({ numBuckets: number; onItemClicked: (change: ConfigChange) => void; onResizeMouseDown: (e: React.MouseEvent) => void; - timelineOffsetWidth?: number; min: number; max: number; indentLevel?: number; @@ -84,10 +82,7 @@ export function GroupParentRow({
} timeline={ -
+
{parentRow.preRangeBadge && !collapsed && ( {parentRow.preRangeBadge} diff --git a/src/components/Configs/Changes/Swimlane/MoreTimeRangeHandle.tsx b/src/components/Configs/Changes/Swimlane/MoreTimeRangeHandle.tsx deleted file mode 100644 index d4fc80a748..0000000000 --- a/src/components/Configs/Changes/Swimlane/MoreTimeRangeHandle.tsx +++ /dev/null @@ -1,27 +0,0 @@ -export const MORE_TIME_RANGE_BAR_WIDTH = 16; - -export function MoreTimeRangeBar({ - left, - onClick -}: { - left: number; - onClick: () => void; -}) { - return ( -
- -
- ); -} diff --git a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx index 2a8d9a3b36..ad27b4c1e0 100644 --- a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx +++ b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx @@ -11,7 +11,6 @@ export function SwimlaneRow({ numBuckets, onItemClicked, onResizeMouseDown, - timelineOffsetWidth = 0, min, max, indentLevel = 0, @@ -22,7 +21,6 @@ export function SwimlaneRow({ numBuckets: number; onItemClicked: (change: ConfigChange) => void; onResizeMouseDown: (e: React.MouseEvent) => void; - timelineOffsetWidth?: number; min: number; max: number; indentLevel?: number; @@ -40,10 +38,7 @@ export function SwimlaneRow({ /> } timeline={ -
+
{row.preRangeBadge && ( {row.preRangeBadge} diff --git a/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx b/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx index 8e0dfba2db..5c61d537dd 100644 --- a/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx +++ b/src/components/Configs/Changes/Swimlane/TimeAxisHeader.tsx @@ -5,14 +5,12 @@ import { calcPercent } from "./Utils"; export function TimeAxisHeader({ columnWidth, markersRef, - timelineOffsetWidth = 0, ticks, min, max }: { columnWidth: number; markersRef: React.MutableRefObject; - timelineOffsetWidth?: number; ticks: number[]; min: number; max: number; @@ -22,7 +20,6 @@ export function TimeAxisHeader({
{ markersRef.current = el; }} From 8bae873fa8daaa85a0651c90182abfa82fc12ddc Mon Sep 17 00:00:00 2001 From: Aditya Thebe Date: Fri, 8 May 2026 15:48:29 +0545 Subject: [PATCH 17/17] feat(configs): show swimlane config tags in tooltip Carry config tags through swimlane rows and render them in the existing config type tooltip, avoiding extra inline space and duplicate tooltip instances. Update the swimlane grouping tests to use explicit path-based fixture data instead of relying on HAR records without paths. --- .../Configs/Changes/ConfigChangesSwimlane.tsx | 1 + .../Changes/Swimlane/GroupParentRow.tsx | 27 ++++++++++ .../Configs/Changes/Swimlane/SwimlaneRow.tsx | 21 ++++++++ .../Configs/Changes/Swimlane/Utils.ts | 1 + ...ConfigChangesSwimlane.integration.test.tsx | 49 ++++++++++++++++++- .../Configs/ConfigLink/ConfigLink.tsx | 4 +- src/components/Configs/ConfigsTypeIcon.tsx | 10 ++-- 7 files changed, 107 insertions(+), 6 deletions(-) diff --git a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx index 9457f57585..df9870bfbc 100644 --- a/src/components/Configs/Changes/ConfigChangesSwimlane.tsx +++ b/src/components/Configs/Changes/ConfigChangesSwimlane.tsx @@ -89,6 +89,7 @@ export default function ConfigChangesSwimlane({ name: config?.name ?? items[0]!.name ?? configId, path, config, + tags: items[0]!.tags ?? config?.tags, buckets, preRangeBadge, severity: countSeverities(items), diff --git a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx index f80f78e13f..41f4d63bcc 100644 --- a/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx +++ b/src/components/Configs/Changes/Swimlane/GroupParentRow.tsx @@ -1,4 +1,5 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { TagList } from "@flanksource-ui/ui/Tags/TagList"; import { ChevronDown, ChevronRight } from "lucide-react"; import { useMemo } from "react"; import ConfigLink from "../../ConfigLink/ConfigLink"; @@ -58,6 +59,25 @@ export function GroupParentRow({ }, [group.rows]); const parentRow = group.rows[0]!; + const tags = useMemo( + () => + Object.entries(parentRow.tags ?? {}) + .filter(([key]) => key !== "toString") + .map(([key, value]) => ({ key, value: String(value) })), + [parentRow.tags] + ); + const tooltipContent = + tags.length > 0 ? ( +
+
{parentRow.config?.type}
+ +
+ ) : undefined; const displayBuckets = collapsed ? mergedBuckets : parentRow.buckets; const Chevron = collapsed ? ChevronRight : ChevronDown; @@ -70,10 +90,17 @@ export function GroupParentRow({ onClick={onToggle} > + + {parentRow.name} + + + ({group.rows.length}) + diff --git a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx index ad27b4c1e0..767a010684 100644 --- a/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx +++ b/src/components/Configs/Changes/Swimlane/SwimlaneRow.tsx @@ -1,4 +1,5 @@ import { ConfigChange } from "@flanksource-ui/api/types/configs"; +import { TagList } from "@flanksource-ui/ui/Tags/TagList"; import { useMemo } from "react"; import ConfigLink from "../../ConfigLink/ConfigLink"; import { BucketCells } from "./BucketCells"; @@ -27,6 +28,25 @@ export function SwimlaneRow({ even?: boolean; }) { const allChanges = useMemo(() => row.buckets.flat(), [row.buckets]); + const tags = useMemo( + () => + Object.entries(row.tags ?? {}) + .filter(([key]) => key !== "toString") + .map(([key, value]) => ({ key, value: String(value) })), + [row.tags] + ); + const tooltipContent = + tags.length > 0 ? ( +
+
{row.config?.type}
+ +
+ ) : undefined; return ( } diff --git a/src/components/Configs/Changes/Swimlane/Utils.ts b/src/components/Configs/Changes/Swimlane/Utils.ts index 6a5b84d931..739e346cb9 100644 --- a/src/components/Configs/Changes/Swimlane/Utils.ts +++ b/src/components/Configs/Changes/Swimlane/Utils.ts @@ -63,6 +63,7 @@ export type BucketedRow = { name: string; path?: string; config: ConfigChange["config"]; + tags?: Record; buckets: ConfigChange[][]; preRangeBadge?: string; severity: SeverityCounts; diff --git a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx index 1c68fbc3c0..af1be4d2cb 100644 --- a/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx +++ b/src/components/Configs/Changes/__tests__/ConfigChangesSwimlane.integration.test.tsx @@ -25,6 +25,51 @@ function loadChangesFromHar(): ConfigChange[] { const allChanges = loadChangesFromHar(); +const groupedChanges: ConfigChange[] = [ + { + id: "parent-change", + config_id: "parent-config", + external_change_id: "parent-change", + change_type: "Healthy", + source: "test", + summary: "parent", + details: "", + external_created_by: "", + created_at: "2024-01-01T00:00:00Z", + first_observed: "2024-01-01T00:00:00Z", + name: "canary", + type: "Kubernetes::Kustomization", + path: "mission-control", + tags: { namespace: "mission-control" }, + config: { + id: "parent-config", + name: "canary", + type: "Kubernetes::Kustomization" + } + }, + { + id: "child-change", + config_id: "child-config", + external_change_id: "child-change", + change_type: "Sync", + source: "test", + summary: "child", + details: "", + external_created_by: "", + created_at: "2024-01-01T00:01:00Z", + first_observed: "2024-01-01T00:01:00Z", + name: "k8s-check-not-ready", + type: "Kubernetes::Pod", + path: "mission-control.parent-config", + tags: { namespace: "mission-control" }, + config: { + id: "child-config", + name: "k8s-check-not-ready", + type: "Kubernetes::Pod" + } + } +]; + // ── Render helper ── function renderSwimlane( @@ -63,7 +108,7 @@ describe("ConfigChangesSwimlane integration", () => { }); it("hierarchical grouping creates group rows", () => { - renderSwimlane({ changes: allChanges }); + renderSwimlane({ changes: groupedChanges }); const buttons = screen.getAllByRole("button"); const groupButtons = buttons.filter((btn) => { @@ -80,7 +125,7 @@ describe("ConfigChangesSwimlane integration", () => { }); it("collapse/expand toggles child visibility", () => { - renderSwimlane({ changes: allChanges }); + renderSwimlane({ changes: groupedChanges }); const buttons = screen.getAllByRole("button"); const groupButton = buttons.find((btn) => { diff --git a/src/components/Configs/ConfigLink/ConfigLink.tsx b/src/components/Configs/ConfigLink/ConfigLink.tsx index f09bfebf30..d25ae42c62 100644 --- a/src/components/Configs/ConfigLink/ConfigLink.tsx +++ b/src/components/Configs/ConfigLink/ConfigLink.tsx @@ -33,7 +33,8 @@ export default function ConfigLink({ className = "text-zinc-600 text-sm whitespace-nowrap overflow-hidden overflow-ellipsis", showLabel = false, showPrimaryIcon = true, - showSecondaryIcon = true + showSecondaryIcon = true, + tooltipContent }: ConfigLinkProps) { const { data: configFromRequest } = useQuery({ queryKey: ["config", configId, config], @@ -65,6 +66,7 @@ export default function ConfigLink({ showLabel={showLabel} showPrimaryIcon={showPrimaryIcon} showSecondaryIcon={showSecondaryIcon} + tooltipContent={tooltipContent} > {data.name}{" "} diff --git a/src/components/Configs/ConfigsTypeIcon.tsx b/src/components/Configs/ConfigsTypeIcon.tsx index 169f728fc9..f519ef43b7 100644 --- a/src/components/Configs/ConfigsTypeIcon.tsx +++ b/src/components/Configs/ConfigsTypeIcon.tsx @@ -10,6 +10,8 @@ export type ConfigIconProps = { showSecondaryIcon?: boolean; showLabel?: boolean; children?: React.ReactNode; + /** Optional replacement content for the existing config type tooltip. */ + tooltipContent?: React.ReactNode; }; export default function ConfigsTypeIcon({ @@ -18,7 +20,8 @@ export default function ConfigsTypeIcon({ showPrimaryIcon = true, showSecondaryIcon = true, showLabel = false, - children + children, + tooltipContent }: ConfigIconProps) { const { type: configType } = config ? config : { type: null }; const tooltipId = useId(); @@ -85,12 +88,13 @@ export default function ConfigsTypeIcon({ + > + {tooltipContent ?? configType} + ); }