pkg/source/gcp/task_registrer.go (310 lines of code) (raw):

// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package gcp import ( "github.com/GoogleCloudPlatform/khi/pkg/inspection" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task" composer_task "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/cloud-composer" composer_form "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/cloud-composer/form" composer_inspection_type "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/cloud-composer/inspectiontype" composer_query "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/cloud-composer/query" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gcpcommon" baremetal "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gdcv-for-baremetal" vmware "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gdcv-for-vmware" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke" aws "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke-on-aws" azure "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke-on-azure" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/autoscaler" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/compute_api" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/gke_audit" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/k8s_audit" k8sauditquery "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/k8s_audit/query" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/k8s_container" k8scontrolplanecomponent "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/k8s_control_plane_component" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/k8s_event" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/k8s_node" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/network_api" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/gke/serialport" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/multicloud_api" "github.com/GoogleCloudPlatform/khi/pkg/source/gcp/task/onprem_api" ) func commonPreparation(inspectionServer *inspection.InspectionTaskServer) error { err := inspectionServer.AddTask(task.GCPDefaultK8sResourceMergeConfigTask) if err != nil { return err } err = inspectionServer.AddTask(gcpcommon.HeaderSuggestedFileNameTask) if err != nil { return err } err = inspectionServer.AddTask(gke.AutocompleteClusterNames) if err != nil { return err } err = inspectionServer.AddTask(aws.AutocompleteClusterNames) if err != nil { return err } err = inspectionServer.AddTask(azure.AutocompleteClusterNames) if err != nil { return err } err = inspectionServer.AddTask(baremetal.AutocompleteClusterNames) if err != nil { return err } err = inspectionServer.AddTask(vmware.AutocompleteClusterNames) if err != nil { return err } err = inspectionServer.AddTask(task.AutocompleteLocationTask) if err != nil { return nil } // Form input related tasks err = inspectionServer.AddTask(task.TimeZoneShiftInputTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputProjectIdTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputClusterNameTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputDurationTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputEndTimeTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputStartTimeTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputKindFilterTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputLocationsTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputNamespaceFilterTask) if err != nil { return err } err = inspectionServer.AddTask(task.InputNodeNameFilterTask) if err != nil { return err } err = inspectionServer.AddTask(k8s_container.InputContainerQueryNamespaceFilterTask) if err != nil { return err } err = inspectionServer.AddTask(k8s_container.InputContainerQueryPodNamesFilterMask) if err != nil { return err } err = inspectionServer.AddTask(k8scontrolplanecomponent.InputControlPlaneComponentNameFilterTask) if err != nil { return err } // Query related tasks err = inspectionServer.AddTask(task.QueryResourceNameInputTask) if err != nil { return err } err = inspectionServer.AddTask(k8sauditquery.Task) if err != nil { return err } err = inspectionServer.AddTask(k8s_event.GKEK8sEventLogQueryTask) if err != nil { return err } err = inspectionServer.AddTask(k8s_node.GKENodeQueryTask) if err != nil { return err } err = inspectionServer.AddTask(k8s_container.GKEContainerQueryTask) if err != nil { return err } err = inspectionServer.AddTask(gke_audit.GKEAuditQueryTask) if err != nil { return err } err = inspectionServer.AddTask(compute_api.ComputeAPIQueryTask) if err != nil { return err } err = inspectionServer.AddTask(network_api.GCPNetworkLogQueryTask) if err != nil { return err } err = inspectionServer.AddTask(multicloud_api.MultiCloudAPIQueryTask) if err != nil { return err } err = inspectionServer.AddTask(autoscaler.AutoscalerQueryTask) if err != nil { return err } err = inspectionServer.AddTask(onprem_api.OnPremAPIQueryTask) if err != nil { return err } err = inspectionServer.AddTask(k8scontrolplanecomponent.GKEK8sControlPlaneLogQueryTask) if err != nil { return err } err = inspectionServer.AddTask(serialport.GKESerialPortLogQueryTask) if err != nil { return err } // Parse related tasks err = k8s_audit.RegisterK8sAuditTasks(inspectionServer) if err != nil { return err } err = inspectionServer.AddTask(k8s_event.GKEK8sEventLogParseJob) if err != nil { return err } err = inspectionServer.AddTask(k8s_node.GKENodeLogParseJob) if err != nil { return err } err = inspectionServer.AddTask(k8s_container.GKEContainerLogParseJob) if err != nil { return err } err = inspectionServer.AddTask(gke_audit.GKEAuditLogParseJob) if err != nil { return err } err = inspectionServer.AddTask(compute_api.ComputeAPIParserTask) if err != nil { return err } err = inspectionServer.AddTask(network_api.NetowrkAPIParserTask) if err != nil { return err } err = inspectionServer.AddTask(multicloud_api.MultiCloudAuditLogParseJob) if err != nil { return err } err = inspectionServer.AddTask(autoscaler.AutoscalerParserTask) if err != nil { return err } err = inspectionServer.AddTask(onprem_api.OnPremCloudAuditLogParseTask) if err != nil { return err } err = inspectionServer.AddTask(k8scontrolplanecomponent.GKEK8sControlPlaneComponentLogParseTask) if err != nil { return err } err = inspectionServer.AddTask(serialport.GKESerialPortLogParseTask) if err != nil { return err } // Cluster name prefix tasks err = inspectionServer.AddTask(gke.GKEClusterNamePrefixTask) if err != nil { return err } err = inspectionServer.AddTask(aws.AnthosOnAWSClusterNamePrefixTask) if err != nil { return err } err = inspectionServer.AddTask(azure.AnthosOnAzureClusterNamePrefixTask) if err != nil { return err } err = inspectionServer.AddTask(vmware.AnthosOnVMWareClusterNamePrefixTask) if err != nil { return err } err = inspectionServer.AddTask(baremetal.AnthosOnBaremetalClusterNamePrefixTask) if err != nil { return err } // Register inspection types err = inspectionServer.AddInspectionType(gke.GKEInspectionType) if err != nil { return err } err = inspectionServer.AddInspectionType(aws.AnthosOnAWSInspectionType) if err != nil { return err } err = inspectionServer.AddInspectionType(azure.AnthosOnAzureInspectionType) if err != nil { return err } err = inspectionServer.AddInspectionType(baremetal.AnthosOnBaremetalInspectionType) if err != nil { return err } err = inspectionServer.AddInspectionType(vmware.AnthosOnVMWareInspectionType) if err != nil { return err } err = inspectionServer.AddInspectionType(composer_inspection_type.ComposerInspectionType) if err != nil { return err } // Composer Query Task err = inspectionServer.AddTask(composer_query.ComposerMonitoringLogQueryTask) if err != nil { return err } err = inspectionServer.AddTask(composer_query.ComposerDagProcessorManagerLogQueryTask) if err != nil { return err } err = inspectionServer.AddTask(composer_query.ComposerSchedulerLogQueryTask) if err != nil { return err } err = inspectionServer.AddTask(composer_query.ComposerWorkerLogQueryTask) if err != nil { return err } err = inspectionServer.AddTask(composer_form.AutocompleteClusterNames) if err != nil { return err } err = inspectionServer.AddTask(composer_task.ComposerClusterNamePrefixTask) if err != nil { return err } // Composer Input Task err = inspectionServer.AddTask(composer_form.InputComposerEnvironmentNameTask) if err != nil { return err } // Composer AutoComplete Task err = inspectionServer.AddTask(composer_form.AutocompleteComposerEnvironmentNames) if err != nil { return err } // Composer Parser Task err = inspectionServer.AddTask(composer_task.AirflowSchedulerLogParseJob) if err != nil { return err } err = inspectionServer.AddTask(composer_task.AirflowWorkerLogParseJob) if err != nil { return err } err = inspectionServer.AddTask(composer_task.AirflowDagProcessorLogParseJob) if err != nil { return err } return nil } func PrepareInspectionServer(inspectionServer *inspection.InspectionTaskServer) error { err := commonPreparation(inspectionServer) if err != nil { return err } return nil }