Merge main into epic/issue-373 - #376
Conversation
…sed on active tasks in the task graph. (#374) * feat: Dynamically generate Cloud Logging resource name input forms based on active tasks in the task graph. This is a fix of bug input forms weren't disappeared once it was added even a feature requesting it was turned off. * fix issue pointed by gemini-code-assist
Summary of ChangesHello @kyasbal, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request integrates changes from the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request refactors the mechanism for handling optional resource name inputs for logging queries. Instead of relying on a statically accumulated list of queries, it now dynamically discovers active tasks requiring resource names from the task graph using labels. This is a good improvement for correctness and maintainability.
I've found one potential issue regarding duplicate query IDs that could lead to UI bugs, and I've suggested a fix. I've also recommended an additional test case to cover this scenario.
| tasks := runner.Tasks() | ||
| result := []string{} | ||
| for _, t := range tasks { | ||
| requestInput, found := typedmap.Get(t.Labels(), googlecloudcommon_contract.RequestOptionalInputResourceNameTaskLabel) | ||
| if !found { | ||
| continue | ||
| } | ||
| result = append(result, requestInput) | ||
| } | ||
| return result |
There was a problem hiding this comment.
The current implementation may return duplicate query IDs if multiple active tasks use the same ID. This could lead to duplicate form fields in the UI, which is confusing for the user.
To prevent this, it's better to use a map to collect unique query IDs. Sorting the result also ensures a deterministic order, which improves UI consistency and testability.
Please also add import "sort" to the file.
tasks := runner.Tasks()
queryIDSet := make(map[string]struct{})
for _, t := range tasks {
if requestInput, found := typedmap.Get(t.Labels(), googlecloudcommon_contract.RequestOptionalInputResourceNameTaskLabel); found {
queryIDSet[requestInput] = struct{}{}
}
}
result := make([]string, 0, len(queryIDSet))
for queryID := range queryIDSet {
result = append(result, queryID)
}
sort.Strings(result)
return result| t1 := coretask.NewTask(taskid.NewDefaultImplementationID[struct{}]("t1"), nil, nil, coretask.WithLabelValue( | ||
| googlecloudcommon_contract.RequestOptionalInputResourceNameTaskLabel, "test1", | ||
| )) | ||
| t2 := coretask.NewTask(taskid.NewDefaultImplementationID[struct{}]("t2"), nil, nil, coretask.WithLabelValue( | ||
| googlecloudcommon_contract.RequestOptionalInputResourceNameTaskLabel, "test2", | ||
| )) | ||
| nonRelatedTask := coretask.NewTask(taskid.NewDefaultImplementationID[struct{}]("not-related"), nil, nil) | ||
| testCases := []struct { | ||
| desc string | ||
| tasks []coretask.UntypedTask | ||
| want []string | ||
| }{ | ||
| { | ||
| desc: "with mixed tasks", | ||
| tasks: []coretask.UntypedTask{t1, t2, nonRelatedTask}, | ||
| want: []string{ | ||
| "test1", | ||
| "test2", | ||
| }, | ||
| }, | ||
| { | ||
| desc: "with no tasks", | ||
| tasks: []coretask.UntypedTask{}, | ||
| want: []string{}, | ||
| }, | ||
| } |
There was a problem hiding this comment.
It's good practice to also test the case where multiple tasks might have the same query ID. This would highlight the need for deduplication in getCurrentActiveQueryIDsForResourceName and verify the fix is working as expected.
t1 := coretask.NewTask(taskid.NewDefaultImplementationID[struct{}]("t1"), nil, nil, coretask.WithLabelValue(
googlecloudcommon_contract.RequestOptionalInputResourceNameTaskLabel, "test1",
))
t2 := coretask.NewTask(taskid.NewDefaultImplementationID[struct{}]("t2"), nil, nil, coretask.WithLabelValue(
googlecloudcommon_contract.RequestOptionalInputResourceNameTaskLabel, "test2",
))
t1Dup := coretask.NewTask(taskid.NewDefaultImplementationID[struct{}]("t1-dup"), nil, nil, coretask.WithLabelValue(
googlecloudcommon_contract.RequestOptionalInputResourceNameTaskLabel, "test1",
))
nonRelatedTask := coretask.NewTask(taskid.NewDefaultImplementationID[struct{}]("not-related"), nil, nil)
testCases := []struct {
desc string
tasks []coretask.UntypedTask
want []string
}{
{
desc: "with mixed tasks",
tasks: []coretask.UntypedTask{t1, t2, nonRelatedTask},
want: []string{
"test1",
"test2",
},
},
{
desc: "with duplicate query IDs",
tasks: []coretask.UntypedTask{t1, t2, t1Dup, nonRelatedTask},
want: []string{
"test1",
"test2",
},
},
{
desc: "with no tasks",
tasks: []coretask.UntypedTask{},
want: []string{},
},
}…types (#399) * feat: Dynamically generate Cloud Logging resource name input forms based on active tasks in the task graph. (#374) (#376) * feat: Dynamically generate Cloud Logging resource name input forms based on active tasks in the task graph. This is a fix of bug input forms weren't disappeared once it was added even a feature requesting it was turned off. * fix issue pointed by gemini-code-assist * Adding several minor changes to improve testability before migrating the existing k8s audit parser to the new audit parser (#375) * Added NewLogSorterByTimeTask and test utilities for inspectiontaskbase package * feat: Show orphaned log when no parser associated the log to any timeline and add namespace level timeline * fix issues pointed out by gemini-code-assist * Adding tasks for log summary generation and history modifier for error audit logs (#377) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding tasks related to merge manifests from audit logs (#379) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Add ManifestGenerator related tasks * fix issues pointed by gemini-code-assist * Adding testchangeset utility (#382) * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * Fix flaky test on commonk8slogaudit tasks (#388) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * Adding new type definitions in contract, enum values of history data and resourcepaths This commit includes contract related changes of the later task implementations. * fix issue pointed by gemini-code-assist * fix flaky test because of string list order * Add task IDs, types used in task output, new revision state types and README about the new k8saudit tasks (#384) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * Adding new type definitions in contract, enum values of history data and resourcepaths This commit includes contract related changes of the later task implementations. * fix issue pointed by gemini-code-assist * Revision sort criteria wasn't right (#386) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * Adding new type definitions in contract, enum values of history data and resourcepaths This commit includes contract related changes of the later task implementations. * fix issue pointed by gemini-code-assist * fix bug the revision sort criteria was not right * Added comments on existing task types (#387) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * Adding new type definitions in contract, enum values of history data and resourcepaths This commit includes contract related changes of the later task implementations. * fix issue pointed by gemini-code-assist * Add comments on existing tasks * Adding the basic revision recorder for k8s audit log (#389) * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * Adding manifest based history-modifier tasks and manifest utils * Add the basic revision recording tasks for k8s audit logs * fix issues pointed by gemini-code-assist * Migrate pseudo subresource recorder in the previous k8s audit log parser tasks to the newly implemented k8s audit parser (#390) * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * Adding manifest based history-modifier tasks and manifest utils * Add the basic revision recording tasks for k8s audit logs * fix issues pointed by gemini-code-assist * Migrate pseudo recorders to the v2 k8s audit log parser tasks --------- Signed-off-by: kyasbal <ikakeru@google.com> * Adding new PodPhase recorder and register all defined tasks for k8s audit log parser package (#391) * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * Add podphase task and task registrations for the v2 audit parser * fix issue pointed by gemini-code-assist * Remove unused legacy parsers and migrate OSS log parsers to depend on the new audit log parsers (#392) * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Remove the unused legacy parsers and migrated OSS parsers to depend on the new parser * fix issue pointed by gemini-code-assist * Refactor inventory task base types (#394) * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Refactored relationship task and now it's named as InventoryTask * Update pkg/core/inspection/taskbase/inventory_task.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <kyasbal1994@gmail.com> * fix issue pointed by gemini-code-assist --------- Signed-off-by: kyasbal <kyasbal1994@gmail.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Adding node name inventory and refactored resource grouping logic (#395) * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Refactored relationship task and now it's named as InventoryTask * Update pkg/core/inspection/taskbase/inventory_task.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: kyasbal <kyasbal1994@gmail.com> * fix issue pointed by gemini-code-assist * Adding nodename inventory task and refactored resource groups not to operate raw string * fix issue pointed by gemini-code-assist --------- Signed-off-by: kyasbal <kyasbal1994@gmail.com> Signed-off-by: kyasbal <ikakeru@google.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Improved container ID discovery tasks and implemented pod uid discovery tasks (#396) * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * fix issue pointed by gemini-code-assist * Migrate containerID discovery tasks to use the inventory task and implemented resource UID inventory * Improved containerd,kubelet and controlplane ID matchers to use inventory tasks * Adding inventory tasks for IP leasing history and NEG names (#397) * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Adding grouping related tasks and tasks for gathering k8s audit logs from Cloud Logging (#378) * Added new fieldset related tasks and history modifiers for error audit logs * fix issues pointed by gemini-code-assist * Added new fieldset related tasks and history modifiers for error audit logs * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Adding k8s audit log parser tasks * Added LogSorterTask that sorts logs before ingesting them to the manifest generator * Added ChangeTargetGrouperTask that groups logs by the resource paths actually modified with the audit log * Added NonSuccessLogGrouperTask that groups logs by resource paths for non succeeded audit logs * fix issues pointed by gemini-code-assist * Added several test asserter for changeset testing * fix issues pointed by gemini-code-assist * fix issues pointed by gemini-code-assist * Implemented inventory for IP leases and NEG names * fix issues pointed by gemini-code-assist * bug: deletionGracePeriodSeconds=0 was always treated as completely removed even when finalizers exists (#398) --------- Signed-off-by: kyasbal <ikakeru@google.com> Signed-off-by: kyasbal <kyasbal1994@gmail.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
These changes are approved on the main branch. I'll skip reviews before the merge.