Documentation
¶
Index ¶
- Variables
- func Register(registry coreinspection.InspectionTaskRegistry) error
- type CSMAccessLogListLogEntryTaskSetting
- func (c *CSMAccessLogListLogEntryTaskSetting) DefaultResourceNames(ctx context.Context) ([]string, error)
- func (c *CSMAccessLogListLogEntryTaskSetting) Dependencies() []taskid.UntypedTaskReference
- func (c *CSMAccessLogListLogEntryTaskSetting) Description() *googlecloudcommon_contract.ListLogEntriesTaskDescription
- func (c *CSMAccessLogListLogEntryTaskSetting) LogFilters(ctx context.Context, taskMode inspectioncore_contract.InspectionTaskModeType) ([]string, error)
- func (c *CSMAccessLogListLogEntryTaskSetting) TaskID() taskid.TaskImplementationID[[]*log.Log]
- func (c *CSMAccessLogListLogEntryTaskSetting) TimePartitionCount(ctx context.Context) (int, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var FieldSetReaderTask = inspectiontaskbase.NewFieldSetReadTask(googlecloudlogcsm_contract.FieldSetReaderTaskID, googlecloudlogcsm_contract.ListLogEntriesTaskID.Ref(), []log.FieldSetReader{ &googlecloudcommon_contract.GCPAccessLogFieldSetReader{}, &googlecloudlogcsm_contract.IstioAccessLogFieldSetReader{}, })
View Source
var InputCSMResponseFlagsTask = formtask.NewSetFormTaskBuilder(googlecloudlogcsm_contract.InputCSMResponseFlagsTaskID, priorityForCSMGroup+1000, "Envoy response flags"). WithDefaultValueConstant([]string{"@any", "-OK"}, true). WithAllowAddAll(false). WithAllowRemoveAll(false). WithAllowCustomValue(true). WithDescription("Response flags used for filtering CSM access logs. Note '-' in response flags is corresponded to 'OK' in this form."). WithOptionsFunc(func(ctx context.Context, previousValues []string) ([]inspectionmetadata.SetParameterFormFieldOptionItem, error) { result := []inspectionmetadata.SetParameterFormFieldOptionItem{ {ID: "@any", Description: "[Alias] Matches any response flag"}, } ids := make([]string, 0, len(googlecloudlogcsm_contract.HumanReadableErrorMessage)) for flag := range googlecloudlogcsm_contract.HumanReadableErrorMessage { ids = append(ids, string(flag)) } sort.Strings(ids) for _, id := range ids { message := googlecloudlogcsm_contract.HumanReadableErrorMessage[googlecloudlogcsm_contract.ResponseFlag(id)] if id == "-" { id = "OK" message = "It's '-' in the response flag field because '-' means substracting operator in this form." } result = append(result, inspectionmetadata.SetParameterFormFieldOptionItem{ID: id, Description: message}) } return result, nil }). WithValidator(func(ctx context.Context, value []string) (string, error) { strFilter := strings.Join(value, " ") result, err := gcpqueryutil.ParseSetFilter(strFilter, inputCSMAliasMap, true, true, true) if err != nil { return "", err } if result.ValidationError == "" { err = verifyResponseFlags(convertInputOnlyResponseFlagToActualFlag(result.Additives)) if err != nil { return err.Error(), nil } err = verifyResponseFlags(convertInputOnlyResponseFlagToActualFlag(result.Subtractives)) if err != nil { return err.Error(), nil } } return result.ValidationError, nil }). WithConverter(func(ctx context.Context, value []string) (*gcpqueryutil.SetFilterParseResult, error) { strFilter := strings.Join(value, " ") result, err := gcpqueryutil.ParseSetFilter(strFilter, inputCSMAliasMap, true, true, true) if err != nil { return nil, err } result.Additives = convertInputOnlyResponseFlagToActualFlag(result.Additives) result.Subtractives = convertInputOnlyResponseFlagToActualFlag(result.Subtractives) return result, nil }). Build()
View Source
var ListLogEntriesTask = googlecloudcommon_contract.NewListLogEntriesTask(&CSMAccessLogListLogEntryTaskSetting{})
View Source
var LogGrouperTask = inspectiontaskbase.NewLogGrouperTask(googlecloudlogcsm_contract.LogGrouperTaskID, googlecloudlogcsm_contract.FieldSetReaderTaskID.Ref(), func(ctx context.Context, l *log.Log) string { istioAccessLogFieldSet := log.MustGetFieldSet(l, &googlecloudlogcsm_contract.IstioAccessLogFieldSet{}) return fmt.Sprintf("%s-%s", istioAccessLogFieldSet.ReporterPodNamespace, istioAccessLogFieldSet.ReporterPodName) }, )
View Source
var LogIngesterTask = inspectiontaskbase.NewLogIngesterTask( googlecloudlogcsm_contract.LogIngesterTaskID, googlecloudlogcsm_contract.ListLogEntriesTaskID.Ref(), )
View Source
var LogToTimelineMapperTask = inspectiontaskbase.NewLogToTimelineMapperTask[struct{}](googlecloudlogcsm_contract.LogToTimelineMapperTaskID, &csmAccessLogLogToTimelineMapperSetting{}, inspectioncore_contract.FeatureTaskLabel( "CSM Access Log", "Gather CSM access logs from Cloud Logging and associate them in client or server Pods on timelines", enum.LogTypeCSMAccessLog, 10000, false, googlecloudinspectiontypegroup_contract.GCPK8sClusterInspectionTypes..., ))
Functions ¶
func Register ¶
func Register(registry coreinspection.InspectionTaskRegistry) error
graph TD subgraph "CSM Access Log" direction LR InputCSMResponseFlagsTask(Input CSM Response Flags) ListLogEntriesTask(List Log Entries) FieldSetReaderTask(Field Set Reader) LogIngesterTask(Log Serializer) LogGrouperTask(Log Grouper) LogToTimelineMapperTask(TimelineMapper) ListLogEntriesTask --> FieldSetReaderTask ListLogEntriesTask --> LogIngesterTask FieldSetReaderTask --> LogGrouperTask LogGrouperTask --> LogToTimelineMapperTask LogIngesterTask --> LogToTimelineMapperTask InputCSMResponseFlagsTask --> ListLogEntriesTask end
Register registers all googlecloudlogcsm inspection tasks to the registry.
Types ¶
type CSMAccessLogListLogEntryTaskSetting ¶
type CSMAccessLogListLogEntryTaskSetting struct{}
func (*CSMAccessLogListLogEntryTaskSetting) DefaultResourceNames ¶
func (c *CSMAccessLogListLogEntryTaskSetting) DefaultResourceNames(ctx context.Context) ([]string, error)
DefaultResourceNames implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*CSMAccessLogListLogEntryTaskSetting) Dependencies ¶
func (c *CSMAccessLogListLogEntryTaskSetting) Dependencies() []taskid.UntypedTaskReference
Dependencies implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*CSMAccessLogListLogEntryTaskSetting) Description ¶
func (c *CSMAccessLogListLogEntryTaskSetting) Description() *googlecloudcommon_contract.ListLogEntriesTaskDescription
Description implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*CSMAccessLogListLogEntryTaskSetting) LogFilters ¶
func (c *CSMAccessLogListLogEntryTaskSetting) LogFilters(ctx context.Context, taskMode inspectioncore_contract.InspectionTaskModeType) ([]string, error)
LogFilters implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*CSMAccessLogListLogEntryTaskSetting) TaskID ¶
func (c *CSMAccessLogListLogEntryTaskSetting) TaskID() taskid.TaskImplementationID[[]*log.Log]
TaskID implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
func (*CSMAccessLogListLogEntryTaskSetting) TimePartitionCount ¶
func (c *CSMAccessLogListLogEntryTaskSetting) TimePartitionCount(ctx context.Context) (int, error)
TimePartitionCount implements googlecloudcommon_contract.ListLogEntriesTaskSetting.
Click to show internal directories.
Click to hide internal directories.