Skip to content

Commit

Permalink
feat(kiali): workloads details page overview tab (#1198)
Browse files Browse the repository at this point in the history
* Add details components

* Update detalis

* Update to Material UI components

* Workloads description

* Update Overview

* Istio Config List

* Update icons

* Remove tabs

* Update missing label

* Update regex

* dev

* lint

* lint

* Sonar

* sonar

* sonar

* Update Istioconfig

* sonar

* fix istio config and styles, add istio config to fixtures

* Remove links to Istio Objects for now

* Update links

* sonar

* Remove link for config

* sonar

* Added breadcrumb

* fix after rebase

* link

* lint

* sonnar

* fix breadcrumb

* Update prop

* Breadcrumbs view in dev
  • Loading branch information
josunect authored Feb 21, 2024
1 parent 2b266bc commit 34adc57
Show file tree
Hide file tree
Showing 85 changed files with 8,570 additions and 77 deletions.
70 changes: 70 additions & 0 deletions plugins/kiali/dev/__fixtures__/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,46 +16,76 @@ import status from './general/status.json';
import bookinfoHealthApp from './namespaces/bookinfo/health/app.json';
import bookinfoHealthService from './namespaces/bookinfo/health/service.json';
import bookinfoHealthWorkload from './namespaces/bookinfo/health/workload.json';
import bookinfoIstioConfig from './namespaces/bookinfo/istio_config.json';
import bookInfoMetrics from './namespaces/bookinfo/metrics';
/* bookinfo */
import bookinfoTls from './namespaces/bookinfo/tls.json';
/** Workloads **/
import bookinfoWorkloads from './namespaces/bookinfo/workloads.json';
import detailsWorkload from './namespaces/bookinfo/workloads/details_v1.json';
import kialitrafficWorkload from './namespaces/bookinfo/workloads/kiali_traffic_generator.json';
import productpagev1Workload from './namespaces/bookinfo/workloads/productpage_v1.json';
import ratingsv1Workload from './namespaces/bookinfo/workloads/ratings_v1.json';
import reviewsv1Workload from './namespaces/bookinfo/workloads/reviews_v1.json';
import reviewsv2Workload from './namespaces/bookinfo/workloads/reviews_v2.json';
import reviewsv3Workload from './namespaces/bookinfo/workloads/reviews_v3.json';
/** health **/
import istioSystemHealthApp from './namespaces/istio-system/health/app.json';
import istioSystemHealthService from './namespaces/istio-system/health/service.json';
import istioSystemHealthWorkload from './namespaces/istio-system/health/workload.json';
import istioSystemIstioConfig from './namespaces/istio-system/istio_config.json';
import istioSystemMetrics from './namespaces/istio-system/metrics';
/* istio-system */
import istioSystemTls from './namespaces/istio-system/tls.json';
import istioSystemWorkloads from './namespaces/istio-system/workloads.json';
import grafanaWorkload from './namespaces/istio-system/workloads/grafana.json';
import istioegressgatewayWorkload from './namespaces/istio-system/workloads/istio_egressgateway.json';
import istioingressgatewayWorkload from './namespaces/istio-system/workloads/istio_ingressgateway.json';
import istiodWorkload from './namespaces/istio-system/workloads/istiod.json';
import jaegerWorkload from './namespaces/istio-system/workloads/jaeger.json';
import kialiWorkload from './namespaces/istio-system/workloads/kiali.json';
import prometheusWorkload from './namespaces/istio-system/workloads/prometheus.json';
/** health **/

import travelAgencyHealthApp from './namespaces/travel-agency/health/app.json';
import travelAgencyHealthService from './namespaces/travel-agency/health/service.json';
import travelAgencyHealthWorkload from './namespaces/travel-agency/health/workload.json';
import travelAgencyIstioConfig from './namespaces/travel-agency/istio_config.json';
import travelAgencyMetrics from './namespaces/travel-agency/metrics';
/* Travel agency */
import travelAgencyTls from './namespaces/travel-agency/tls.json';
import travelAgencyWorkloads from './namespaces/travel-agency/workloads.json';
import carsv1Workload from './namespaces/travel-agency/workloads/cars_v1.json';
import discountsv1Workload from './namespaces/travel-agency/workloads/discounts_v1.json';
import flightsv1Workload from './namespaces/travel-agency/workloads/flights_v1.json';
import hotelsv1Workload from './namespaces/travel-agency/workloads/hotels_v1.json';
import insurancesv1Workload from './namespaces/travel-agency/workloads/insurances_v1.json';
import mysqldbv1Workload from './namespaces/travel-agency/workloads/mysqldb_v1.json';
import travelsv1Workload from './namespaces/travel-agency/workloads/travels_v1.json';
/** health **/

import travelControlHealthApp from './namespaces/travel-control/health/app.json';
import travelControlHealthService from './namespaces/travel-control/health/service.json';
import travelControlHealthWorkload from './namespaces/travel-control/health/workload.json';
import travelControlIstioConfig from './namespaces/travel-control/istio_config.json';
import travelControlMetrics from './namespaces/travel-control/metrics';
/* Travel control */
import travelControlTls from './namespaces/travel-control/tls.json';
import travelControlWorkloads from './namespaces/travel-control/workloads.json';
import travelControlWorkload from './namespaces/travel-control/workloads/control.json';
/** health **/

import travelPortalHealthApp from './namespaces/travel-portal/health/app.json';
import travelPortalHealthService from './namespaces/travel-portal/health/service.json';
import travelPortalHealthWorkload from './namespaces/travel-portal/health/workload.json';
import travelPortalIstioConfig from './namespaces/travel-portal/istio_config.json';
import travelPortalMetrics from './namespaces/travel-portal/metrics';
/* Travel portal */
import travelPortalTls from './namespaces/travel-portal/tls.json';
import travelPortalWorkloads from './namespaces/travel-portal/workloads.json';
import travelPortalTravels from './namespaces/travel-portal/workloads/travels.json';
import travelPortalViaggi from './namespaces/travel-portal/workloads/viaggi.json';
import travelPortalVoyages from './namespaces/travel-portal/workloads/voyages.json';

export const kialiData: { [index: string]: any } = {
auth: anonymousAuth,
Expand All @@ -78,6 +108,16 @@ export const kialiData: { [index: string]: any } = {
service: istioSystemHealthService,
workload: istioSystemHealthWorkload,
},
workloads: {
grafana: grafanaWorkload,
istioegressgateway: istioegressgatewayWorkload,
istioingressgateway: istioingressgatewayWorkload,
istiod: istiodWorkload,
jaeger: jaegerWorkload,
kiali: kialiWorkload,
prometheus: prometheusWorkload,
},
istioConfigList: istioSystemIstioConfig,
},
bookinfo: {
tls: bookinfoTls,
Expand All @@ -87,6 +127,16 @@ export const kialiData: { [index: string]: any } = {
service: bookinfoHealthService,
workload: bookinfoHealthWorkload,
},
workloads: {
detailsv1: detailsWorkload,
kialitrafficgenerator: kialitrafficWorkload,
productpagev1: productpagev1Workload,
ratingsv1: ratingsv1Workload,
reviewsv1: reviewsv1Workload,
reviewsv2: reviewsv2Workload,
reviewsv3: reviewsv3Workload,
},
istioConfigList: bookinfoIstioConfig,
},
'travel-control': {
tls: travelControlTls,
Expand All @@ -96,6 +146,10 @@ export const kialiData: { [index: string]: any } = {
service: travelControlHealthService,
workload: travelControlHealthWorkload,
},
workloads: {
control: travelControlWorkload,
},
istioConfigList: travelControlIstioConfig,
},
'travel-portal': {
tls: travelPortalTls,
Expand All @@ -105,6 +159,12 @@ export const kialiData: { [index: string]: any } = {
service: travelPortalHealthService,
workload: travelPortalHealthWorkload,
},
workloads: {
travels: travelPortalTravels,
viaggi: travelPortalViaggi,
voyages: travelPortalVoyages,
},
istioConfigList: travelPortalIstioConfig,
},
'travel-agency': {
tls: travelAgencyTls,
Expand All @@ -114,6 +174,16 @@ export const kialiData: { [index: string]: any } = {
service: travelAgencyHealthService,
workload: travelAgencyHealthWorkload,
},
workloads: {
carsv1: carsv1Workload,
discountsv1: discountsv1Workload,
flightsv1: flightsv1Workload,
hotelsv1: hotelsv1Workload,
insurancesv1: insurancesv1Workload,
mysqldbv1: mysqldbv1Workload,
travels: travelsv1Workload,
},
istioConfigList: travelAgencyIstioConfig,
},
},
workloads: {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{
"namespace": {
"name": "bookinfo",
"cluster": "",
"isAmbient": false,
"labels": null,
"annotations": null
},
"destinationRules": [],
"envoyFilters": [
{
"kind": "EnvoyFilter",
"apiVersion": "networking.istio.io/v1alpha3",
"metadata": {
"name": "reviews-lua",
"namespace": "bookinfo",
"uid": "6188f1b2-d252-441b-912f-abd011ff8556",
"resourceVersion": "90356",
"generation": 1,
"creationTimestamp": "2024-02-19T09:39:06Z",
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"networking.istio.io/v1alpha3\",\"kind\":\"EnvoyFilter\",\"metadata\":{\"annotations\":{},\"name\":\"reviews-lua\",\"namespace\":\"bookinfo\"},\"spec\":{\"workloadSelector\":{\"labels\":{\"app\":\"reviews\"}}}}\n"
},
"managedFields": [
{
"manager": "kubectl-client-side-apply",
"operation": "Update",
"apiVersion": "networking.istio.io/v1alpha3",
"time": "2024-02-19T09:39:06Z",
"fieldsType": "FieldsV1",
"fieldsV1": {
"f:metadata": {
"f:annotations": {
".": {},
"f:kubectl.kubernetes.io/last-applied-configuration": {}
}
},
"f:spec": {
".": {},
"f:workloadSelector": {
".": {},
"f:labels": {
".": {},
"f:app": {}
}
}
}
}
}
]
},
"spec": {
"workloadSelector": {
"labels": {
"app": "reviews"
}
}
},
"status": {}
}
],
"gateways": [],
"serviceEntries": [],
"sidecars": [],
"virtualServices": [],
"workloadEntries": [],
"workloadGroups": [],
"wasmPlugins": [],
"telemetries": [],
"k8sGateways": [],
"k8sHTTPRoutes": [],
"authorizationPolicies": [],
"peerAuthentications": [],
"requestAuthentications": [],
"validations": {
"gateway": {
"bookinfo-gateway.bookinfo": {
"name": "bookinfo-gateway",
"objectType": "gateway",
"valid": true,
"checks": [],
"references": null
}
}
}
}
Loading

0 comments on commit 34adc57

Please sign in to comment.