Documentation
¶
Index ¶
- Variables
- func GenerateK8sAuditQuery(cluster googlecloudk8scommon_contract.GoogleCloudClusterIdentity, ...) string
- func Register(registry coreinspection.InspectionTaskRegistry) error
- type GCPK8sAuditLogListLogEntriesTaskSetting
- func (k *GCPK8sAuditLogListLogEntriesTaskSetting) DefaultResourceNames(ctx context.Context) ([]string, error)
- func (k *GCPK8sAuditLogListLogEntriesTaskSetting) Dependencies() []taskid.UntypedTaskReference
- func (k *GCPK8sAuditLogListLogEntriesTaskSetting) Description() *googlecloudcommon_contract.ListLogEntriesTaskDescription
- func (k *GCPK8sAuditLogListLogEntriesTaskSetting) LogFilters(ctx context.Context, taskMode inspectioncore_contract.InspectionTaskModeType) ([]string, error)
- func (k *GCPK8sAuditLogListLogEntriesTaskSetting) TaskID() taskid.TaskImplementationID[[]*log.Log]
- func (k *GCPK8sAuditLogListLogEntriesTaskSetting) TimePartitionCount(ctx context.Context) (int, error)
Constants ¶
This section is empty.
Variables ¶
var AuditLogNEGDiscoveryTask = googlecloudk8scommon_contract.NEGToBackendServiceInventoryBuilder.DiscoveryTask( googlecloudlogk8saudit_contract.NEGToBackendServiceDiscoveryTaskID, []taskid.UntypedTaskReference{commonlogk8saudit_contract.ManifestGeneratorTaskID.Ref()}, func(ctx context.Context, taskMode inspectioncore_contract.InspectionTaskModeType, progress *inspectionmetadata.TaskProgressMetadata) (googlecloudk8scommon_contract.NEGToBackendServiceMap, error) { if taskMode != inspectioncore_contract.TaskModeRun { return nil, nil } groups := coretask.GetTaskResult(ctx, commonlogk8saudit_contract.ManifestGeneratorTaskID.Ref()) result := make(googlecloudk8scommon_contract.NEGToBackendServiceMap) for _, group := range groups { if group.Resource == nil || strings.ToLower(group.Resource.Kind) != "pod" { continue } for _, mLog := range group.Logs { if mLog.ResourceBodyReader == nil { continue } conditionsReader, err := mLog.ResourceBodyReader.GetReader("status.conditions") if err == nil { conditionsReader.Children()(func(_ structured.NodeChildrenKey, conditionReader structured.NodeReader) bool { message := conditionReader.ReadStringOrDefault("message", "") neg, bs := googlecloudk8scommon_contract.ExtractNEGToBackendService(message) if neg != "" && bs != "" { result[neg] = bs } return true }) } } } return result, nil }, )
AuditLogNEGDiscoveryTask is the discovery task that extracts NEG to BackendService mappings from Kubernetes Audit logs.
var GCPK8sAuditLogCommonFieldSetReaderTask = inspectiontaskbase.NewFieldSetReadTask( googlecloudlogk8saudit_contract.GCPK8sAuditLogCommonFieldSetReaderTaskID, googlecloudlogk8saudit_contract.GCPK8sAuditLogListLogEntriesTaskID.Ref(), []log.FieldSetReader{ &googlecloudlogk8saudit_contract.GCPK8sAuditLogFieldSetReader{}, }, )
var GCPK8sAuditLogListLogEntriesTask = googlecloudcommon_contract.NewListLogEntriesTask(&GCPK8sAuditLogListLogEntriesTaskSetting{})
var GCPK8sAuditLogParserTailTask = inspectiontaskbase.NewInspectionTask( googlecloudlogk8saudit_contract.GCPK8sAuditLogParserTailTaskID, []taskid.UntypedTaskReference{ commonlogk8saudit_contract.NonSuccessLogLogToTimelineMapperTaskID.Ref(), commonlogk8saudit_contract.NamespaceRequestLogToTimelineMapperTaskID.Ref(), commonlogk8saudit_contract.ResourceRevisionLogToTimelineMapperTaskID.Ref(), commonlogk8saudit_contract.ConditionLogToTimelineMapperTaskID.Ref(), commonlogk8saudit_contract.ResourceOwnerReferenceTimelineMapperTaskID.Ref(), commonlogk8saudit_contract.PodPhaseLogToTimelineMapperTaskID.Ref(), commonlogk8saudit_contract.EndpointResourceLogToTimelineMapperTaskID.Ref(), commonlogk8saudit_contract.ContainerLogToTimelineMapperTaskID.Ref(), commonlogk8saudit_contract.NodeNameDiscoveryTaskID.Ref(), commonlogk8saudit_contract.ResourceUIDDiscoveryTaskID.Ref(), commonlogk8saudit_contract.ContainerIDDiscoveryTaskID.Ref(), commonlogk8saudit_contract.IPLeaseHistoryDiscoveryTaskID.Ref(), googlecloudk8scommon_contract.NEGNamesDiscoveryTaskID.Ref(), googlecloudlogk8saudit_contract.NEGToBackendServiceDiscoveryTaskID.Ref(), }, func(ctx context.Context, taskMode inspectioncore_contract.InspectionTaskModeType) (struct{}, error) { return struct{}{}, nil }, inspectioncore_contract.FeatureTaskLabel("Kubernetes Audit Logs", `Gather Kubernetes audit logs to visualize resource modifications and API call histories on associated timelines.`, 1001, true), coretask.NewSubsequentTaskRefsTaskLabel(inspectioncore_contract.SerializerTaskID.Ref()), )
Functions ¶
func GenerateK8sAuditQuery ¶
func GenerateK8sAuditQuery(cluster googlecloudk8scommon_contract.GoogleCloudClusterIdentity, auditKindFilter *gcpqueryutil.SetFilterParseResult, namespaceFilter *gcpqueryutil.SetFilterParseResult) string
GenerateK8sAuditQuery constructs a Google Cloud Logging query string for fetching Kubernetes audit logs based on cluster name, kind filters, and namespace filters.
func Register ¶
func Register(registry coreinspection.InspectionTaskRegistry) error
Register registers all tasks related to Kubernetes audit logs on Google Cloud.
Types ¶
type GCPK8sAuditLogListLogEntriesTaskSetting ¶ added in v0.50.0
type GCPK8sAuditLogListLogEntriesTaskSetting struct{}
func (*GCPK8sAuditLogListLogEntriesTaskSetting) DefaultResourceNames ¶ added in v0.50.0
func (k *GCPK8sAuditLogListLogEntriesTaskSetting) DefaultResourceNames(ctx context.Context) ([]string, error)
DefaultResourceNames implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*GCPK8sAuditLogListLogEntriesTaskSetting) Dependencies ¶ added in v0.50.0
func (k *GCPK8sAuditLogListLogEntriesTaskSetting) Dependencies() []taskid.UntypedTaskReference
Dependencies implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*GCPK8sAuditLogListLogEntriesTaskSetting) Description ¶ added in v0.50.0
func (k *GCPK8sAuditLogListLogEntriesTaskSetting) Description() *googlecloudcommon_contract.ListLogEntriesTaskDescription
Description implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*GCPK8sAuditLogListLogEntriesTaskSetting) LogFilters ¶ added in v0.50.0
func (k *GCPK8sAuditLogListLogEntriesTaskSetting) LogFilters(ctx context.Context, taskMode inspectioncore_contract.InspectionTaskModeType) ([]string, error)
LogFilters implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*GCPK8sAuditLogListLogEntriesTaskSetting) TaskID ¶ added in v0.50.0
func (k *GCPK8sAuditLogListLogEntriesTaskSetting) TaskID() taskid.TaskImplementationID[[]*log.Log]
TaskID implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*GCPK8sAuditLogListLogEntriesTaskSetting) TimePartitionCount ¶ added in v0.50.0
func (k *GCPK8sAuditLogListLogEntriesTaskSetting) TimePartitionCount(ctx context.Context) (int, error)
TimePartitionCount implements googlecloudcommon_contract.ListLogEntriesTaskSetting.