feat(ApplicationDetail): implement ArgoCD Application Detail view
- New component: src/components/ApplicationDetail.tsx
- Route: /argocd/applications/:name
- Header: app name, health/sync badges, project, namespace, target revision, repo URL
- Resource Tree: table of Application.status.resources[] with kind, name, namespace, health, sync
- Sync History: table of Application.status.history[] (last 10) with revision, deployedAt, initiatedBy
- Events: K8s events via fieldSelector=involvedObject.name={appName}
- Updated src/components/ApplicationsList.tsx: App Name column links to detail view
- Updated src/index.tsx: added ApplicationDetail route
- Unit tests: 11 tests covering pure functions and component smoke tests
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit was merged in pull request #4.
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
StatusLabel,
|
||||
} from "@kinvolk/headlamp-plugin/lib/CommonComponents";
|
||||
import React from "react";
|
||||
import ApplicationDetail from "./components/ApplicationDetail";
|
||||
import ApplicationsList from "./components/ApplicationsList";
|
||||
|
||||
// --- Error boundary for plugin components ---
|
||||
@@ -68,3 +69,14 @@ registerRoute({
|
||||
</ArgoCDErrorBoundary>
|
||||
),
|
||||
});
|
||||
|
||||
registerRoute({
|
||||
path: "/argocd/applications/:name",
|
||||
sidebar: "argocd-overview",
|
||||
name: "argocd-application-detail",
|
||||
component: () => (
|
||||
<ArgoCDErrorBoundary>
|
||||
<ApplicationDetail />
|
||||
</ArgoCDErrorBoundary>
|
||||
),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user