src/frontend/packages/kubernetes/src/kubernetes/kubernetes.module.ts
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { NgxChartsModule } from '@swimlane/ngx-charts';
import { CoreModule } from '../../../core/src/core/core.module';
import { SharedModule } from '../../../core/src/shared/shared.module';
import {
AnalysisReportRunnerComponent,
} from './analysis-report-viewer/analysis-report-runner/analysis-report-runner.component';
import {
AnalysisReportSelectorComponent,
} from './analysis-report-viewer/analysis-report-selector/analysis-report-selector.component';
import { AnalysisReportViewerComponent } from './analysis-report-viewer/analysis-report-viewer.component';
import {
KubeScoreReportViewerComponent,
} from './analysis-report-viewer/kube-score-report-viewer/kube-score-report-viewer.component';
import { PopeyeReportViewerComponent } from './analysis-report-viewer/popeye-report-viewer/popeye-report-viewer.component';
import {
ResourceAlertPreviewComponent,
} from './analysis-report-viewer/resource-alert-preview/resource-alert-preview.component';
import {
ResourceAlertViewComponent,
} from './analysis-report-viewer/resource-alert-preview/resource-alert-view/resource-alert-view.component';
import { KubeConsoleComponent } from './kube-terminal/kube-console.component';
import {
KubedashConfigurationComponent,
} from './kubernetes-dashboard/kubedash-configuration/kubedash-configuration.component';
import { KubernetesDashboardTabComponent } from './kubernetes-dashboard/kubernetes-dashboard.component';
import { kubernetesNamespacesEntityType } from './kubernetes-entity-factory';
import {
KubernetesNamespaceAnalysisReportComponent,
} from './kubernetes-namespace/kubernetes-namespace-analysis-report/kubernetes-namespace-analysis-report.component';
import {
KubernetesNamespacePreviewComponent,
} from './kubernetes-namespace/kubernetes-namespace-preview/kubernetes-namespace-preview.component';
import {
KubernetesNodeMetricStatsCardComponent,
} from './kubernetes-node/kubernetes-node-metrics/kubernetes-node-metric-stats-card/kubernetes-node-metric-stats-card.component';
import {
KubernetesNodeMetricsChartComponent,
} from './kubernetes-node/kubernetes-node-metrics/kubernetes-node-metrics-chart/kubernetes-node-metrics-chart.component';
import { KubernetesNodeMetricsComponent } from './kubernetes-node/kubernetes-node-metrics/kubernetes-node-metrics.component';
import {
KubernetesNodeSimpleMetricComponent,
} from './kubernetes-node/kubernetes-node-metrics/kubernetes-node-simple-metric/kubernetes-node-simple-metric.component';
import { KubernetesNodePodsComponent } from './kubernetes-node/kubernetes-node-pods/kubernetes-node-pods.component';
import { KubernetesNodeComponent } from './kubernetes-node/kubernetes-node.component';
import { BaseKubeGuid } from './kubernetes-page.types';
import { KubernetesResourceViewerComponent } from './kubernetes-resource-viewer/kubernetes-resource-viewer.component';
import { KubernetesTabBaseComponent } from './kubernetes-tab-base/kubernetes-tab-base.component';
import { KubernetesUIConfigService } from './kubernetes-ui-service';
import { KubernetesRoutingModule } from './kubernetes.routing';
import { KubernetesComponent } from './kubernetes/kubernetes.component';
import { AnalysisStatusCellComponent } from './list-types/analysis-status-cell/analysis-status-cell.component';
import { KubernetesLabelsCellComponent } from './list-types/kubernetes-labels-cell/kubernetes-labels-cell.component';
import {
KubeNamespacePodCountComponent,
} from './list-types/kubernetes-namespaces/kube-namespace-pod-count/kube-namespace-pod-count.component';
import {
KubernetesNamespaceLinkComponent,
} from './list-types/kubernetes-namespaces/kubernetes-namespace-link/kubernetes-namespace-link.component';
import { ConditionCellComponent } from './list-types/kubernetes-nodes/condition-cell/condition-cell.component';
import {
KubernetesNodeCapacityComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-capacity/kubernetes-node-capacity.component';
import { KubernetesNodeIpsComponent } from './list-types/kubernetes-nodes/kubernetes-node-ips/kubernetes-node-ips.component';
import {
KubernetesNodeLabelsComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-labels/kubernetes-node-labels.component';
import {
KubernetesNodeLinkComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-link/kubernetes-node-link.component';
import {
KubernetesNodePressureComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-pressure/kubernetes-node-pressure.component';
import {
KubernetesNodeConditionCardComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-summary/kubernetes-node-condition-card/kubernetes-node-condition-card.component';
import {
KubernetesNodeConditionComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-summary/kubernetes-node-condition-card/kubernetes-node-condition/kubernetes-node-condition.component';
import {
KubernetesNodeInfoCardComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-summary/kubernetes-node-info-card/kubernetes-node-info-card.component';
import {
KubernetesNodeSummaryCardComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-summary/kubernetes-node-summary-card/kubernetes-node-summary-card.component';
import {
KubernetesNodeSummaryComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-summary/kubernetes-node-summary.component';
import {
KubernetesNodeTagsCardComponent,
} from './list-types/kubernetes-nodes/kubernetes-node-summary/kubernetes-node-tags-card/kubernetes-node-tags-card.component';
import { NodePodCountComponent } from './list-types/kubernetes-nodes/node-pod-count/node-pod-count.component';
import {
KubernetesPodContainersComponent,
} from './list-types/kubernetes-pods/kubernetes-pod-containers/kubernetes-pod-containers.component';
import {
KubernetesPodStatusComponent,
} from './list-types/kubernetes-pods/kubernetes-pod-status/kubernetes-pod-status.component';
import { KubernetesPodTagsComponent } from './list-types/kubernetes-pods/kubernetes-pod-tags/kubernetes-pod-tags.component';
import { KubernetesPodsListConfig } from './list-types/kubernetes-pods/kubernetes-pods-list-config.service';
import { KubernetesServicePortsComponent } from './list-types/kubernetes-service-ports/kubernetes-service-ports.component';
import {
KubeServiceCardComponent,
} from './list-types/kubernetes-services/kubernetes-service-card/kubernetes-service-card.component';
import { KubernetesServicesListConfig } from './list-types/kubernetes-services/kubernetes-service-list-config.service';
import { PodMetricsComponent } from './pod-metrics/pod-metrics.component';
import { KubernetesEndpointService } from './services/kubernetes-endpoint.service';
import { KubernetesNodeService } from './services/kubernetes-node.service';
import { KubernetesService } from './services/kubernetes.service';
import {
AnalysisInfoCardComponent,
} from './tabs/kubernetes-analysis-tab/kubernetes-analysis-info/analysis-info-card/analysis-info-card.component';
import {
KubernetesAnalysisInfoComponent,
} from './tabs/kubernetes-analysis-tab/kubernetes-analysis-info/kubernetes-analysis-info.component';
import {
KubernetesAnalysisReportComponent,
} from './tabs/kubernetes-analysis-tab/kubernetes-analysis-report/kubernetes-analysis-report.component';
import { KubernetesAnalysisTabComponent } from './tabs/kubernetes-analysis-tab/kubernetes-analysis-tab.component';
import { KubernetesNamespacesTabComponent } from './tabs/kubernetes-namespaces-tab/kubernetes-namespaces-tab.component';
import { KubernetesNodesTabComponent } from './tabs/kubernetes-nodes-tab/kubernetes-nodes-tab.component';
import { KubernetesSummaryTabComponent } from './tabs/kubernetes-summary-tab/kubernetes-summary.component';
/* tslint:disable:max-line-length */
/* tslint:enable */
@NgModule({
imports: [
CoreModule,
CommonModule,
SharedModule,
NgxChartsModule,
KubernetesRoutingModule,
],
declarations: [
KubernetesComponent,
KubernetesNodesTabComponent,
KubernetesTabBaseComponent,
KubernetesNodeCapacityComponent,
KubernetesPodTagsComponent,
KubernetesNamespacesTabComponent,
KubernetesDashboardTabComponent,
KubernetesSummaryTabComponent,
KubernetesAnalysisTabComponent,
PodMetricsComponent,
KubernetesNodeLinkComponent,
KubernetesNodeIpsComponent,
KubernetesNodeLabelsComponent,
KubernetesNodePressureComponent,
KubernetesLabelsCellComponent,
KubernetesNodeComponent,
KubernetesNodeSummaryComponent,
KubernetesNodePodsComponent,
KubernetesNodeSummaryCardComponent,
KubernetesNodeConditionCardComponent,
KubernetesNodeTagsCardComponent,
KubernetesNodePodsComponent,
KubernetesNodeInfoCardComponent,
KubernetesNodeMetricsComponent,
KubernetesNodeConditionComponent,
KubernetesNodeMetricsChartComponent,
KubernetesNodeMetricStatsCardComponent,
KubernetesNodeSimpleMetricComponent,
ConditionCellComponent,
KubernetesNamespaceLinkComponent,
KubeNamespacePodCountComponent,
NodePodCountComponent,
KubernetesServicePortsComponent,
KubernetesPodStatusComponent,
KubeConsoleComponent,
KubeServiceCardComponent,
KubernetesResourceViewerComponent,
KubeServiceCardComponent,
KubedashConfigurationComponent,
KubernetesPodContainersComponent,
KubernetesAnalysisReportComponent,
KubernetesAnalysisInfoComponent,
AnalysisInfoCardComponent,
AnalysisReportViewerComponent,
PopeyeReportViewerComponent,
AnalysisReportSelectorComponent,
AnalysisReportRunnerComponent,
ResourceAlertPreviewComponent,
ResourceAlertViewComponent,
KubeScoreReportViewerComponent,
AnalysisStatusCellComponent,
KubernetesNamespaceAnalysisReportComponent,
KubernetesNamespacePreviewComponent,
],
providers: [
KubernetesService,
BaseKubeGuid,
KubernetesEndpointService,
KubernetesNodeService
],
entryComponents: [
KubernetesNodeCapacityComponent,
KubernetesPodTagsComponent,
KubernetesNodeLinkComponent,
KubernetesNodeIpsComponent,
KubernetesNodeLabelsComponent,
KubernetesNodePressureComponent,
KubernetesLabelsCellComponent,
ConditionCellComponent,
KubernetesNamespaceLinkComponent,
KubeNamespacePodCountComponent,
NodePodCountComponent,
KubernetesServicePortsComponent,
KubernetesPodStatusComponent,
KubeServiceCardComponent,
KubernetesResourceViewerComponent,
KubernetesPodContainersComponent,
PopeyeReportViewerComponent,
KubeScoreReportViewerComponent,
AnalysisReportSelectorComponent,
ResourceAlertPreviewComponent,
AnalysisStatusCellComponent,
],
exports: [
KubernetesResourceViewerComponent,
AnalysisReportViewerComponent,
PopeyeReportViewerComponent,
KubeScoreReportViewerComponent,
AnalysisReportSelectorComponent,
AnalysisReportRunnerComponent,
ResourceAlertPreviewComponent,
ResourceAlertViewComponent,
AnalysisStatusCellComponent,
KubernetesNamespacePreviewComponent,
]
})
export class KubernetesModule {
constructor(uiConfigService: KubernetesUIConfigService) {
uiConfigService.listConfig.set('k8s-pods', new KubernetesPodsListConfig());
uiConfigService.listConfig.set('k8s-services', new KubernetesServicesListConfig());
uiConfigService.previewComponent.set(kubernetesNamespacesEntityType, KubernetesNamespacePreviewComponent);
}
}