Fix flaky test on commonk8slogaudit tasks#388
Conversation
* 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
…from Cloud Logging (GoogleCloudPlatform#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
* 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
* 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
…and resourcepaths This commit includes contract related changes of the later task implementations.
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 introduces significant refactoring and new capabilities for processing Kubernetes audit logs, focusing on more accurate and detailed tracking of resource states. It renames the generic "Status" concept to "Condition" for better alignment with Kubernetes terminology and adds explicit support for tracking Pod lifecycle phases. These changes are part of an effort to enhance the reliability and granularity of audit log analysis, particularly within the context of a new version of the audit log inspection tasks, and include improvements to the parsing of GCP audit logs to prevent flakiness. 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 addresses a flaky test, but also introduces a significant number of changes related to refactoring and adding new features for v2 of the Kubernetes audit log processing. The PR title is therefore a bit misleading given the broad scope of changes. Ideally, these changes should be split into smaller, more focused pull requests. The most critical issue I found is the introduction of code in a new file that could cause a panic due to unguarded slice access. This appears to be an accidental copy-paste of an older, unfixed version of a function during refactoring. I've also included a few suggestions to improve the clarity of the new documentation.
| switch { | ||
| case methodNameFragments[4] == "namespaces": // This log is to modify "Namespace" resource itself | ||
| namespace = "cluster-scope" | ||
| name = resourceNameFragments[3] | ||
| pluralKind = "namespaces" | ||
| if len(resourceNameFragments) > 4 { | ||
| subResourceName = resourceNameFragments[4] | ||
| } | ||
| case resourceNameFragments[2] == "namespaces" && len(resourceNameFragments) >= 5: | ||
| namespace = resourceNameFragments[3] | ||
| pluralKind = resourceNameFragments[4] | ||
| if len(resourceNameFragments) > 5 { | ||
| name = resourceNameFragments[5] | ||
| } | ||
| if len(resourceNameFragments) > 6 { | ||
| subResourceName = resourceNameFragments[6] | ||
| } | ||
| case len(resourceNameFragments) >= 3: | ||
| namespace = "cluster-scope" | ||
| if len(resourceNameFragments) > 3 { | ||
| name = resourceNameFragments[3] | ||
| } | ||
| pluralKind = resourceNameFragments[2] | ||
| if len(resourceNameFragments) > 4 { | ||
| subResourceName = resourceNameFragments[4] | ||
| } | ||
| } |
There was a problem hiding this comment.
This switch block contains several unguarded slice accesses which could lead to a panic at runtime. For instance, methodNameFragments[4] on line 79 and resourceNameFragments[3] on line 81 are accessed without first checking if the slices are long enough. This can occur if methodName or resourceName have fewer segments than expected.
A corrected version of this logic with proper boundary checks already exists in the modifications for pkg/task/inspection/googlecloudlogk8saudit/contract/fieldset.go. Please apply the same robust checks here to prevent potential panics.
switch {
case len(methodNameFragments) > 4 && methodNameFragments[4] == "namespaces": // This log is to modify "Namespace" resource itself
namespace = "cluster-scope"
if len(resourceNameFragments) > 3 {
name = resourceNameFragments[3]
}
pluralKind = "namespaces"
if len(resourceNameFragments) > 4 {
subResourceName = resourceNameFragments[4]
}
case len(resourceNameFragments) >= 5 && resourceNameFragments[2] == "namespaces":
if len(resourceNameFragments) > 3 {
namespace = resourceNameFragments[3]
}
if len(resourceNameFragments) > 4 {
pluralKind = resourceNameFragments[4]
}
if len(resourceNameFragments) > 5 {
name = resourceNameFragments[5]
}
if len(resourceNameFragments) > 6 {
subResourceName = resourceNameFragments[6]
}
case len(resourceNameFragments) >= 3:
namespace = "cluster-scope"
if len(resourceNameFragments) > 3 {
name = resourceNameFragments[3]
}
pluralKind = resourceNameFragments[2]
if len(resourceNameFragments) > 4 {
subResourceName = resourceNameFragments[4]
}
}|
|
||
| These tasks generate the actual timeline events (revisions) for the resources. | ||
|
|
||
| - **`LogSummaryHistoryModifierTask`**: Generates a simple summary of log events (verb, URI) for the timeline. Summaries are handled in this task. The other tasks mustn't generate summaries. |
There was a problem hiding this comment.
For improved formality and clarity in technical documentation, it's preferable to use "must not" instead of the contraction "mustn't".
| - **`LogSummaryHistoryModifierTask`**: Generates a simple summary of log events (verb, URI) for the timeline. Summaries are handled in this task. The other tasks mustn't generate summaries. | |
| - **`LogSummaryHistoryModifierTask`**: Generates a simple summary of log events (verb, URI) for the timeline. Summaries are handled in this task. The other tasks must not generate summaries. |
| - **`PodPhaseHistoryModifierTask`**: Tracks the phase of Pods (Pending, Running, Succeeded, Failed) and their node assignment. | ||
| - **`ContainerHistoryModifierTask`**: Tracks the status of containers within Pods (Waiting, Running, Terminated) and their state details (reason, exit code). | ||
| - **`ConditionHistoryModifierTask`**: Tracks the `status.conditions` of resources, generating revisions when conditions change (e.g., NodeReady, PodScheduled). | ||
| - **`NamespaceRequestHistoryModifierTask`**: Records events for requests against entire resources in namespace. |
There was a problem hiding this comment.
The current description is slightly ambiguous. Rephrasing it could provide more clarity on what kind of requests are being recorded.
| - **`NamespaceRequestHistoryModifierTask`**: Records events for requests against entire resources in namespace. | |
| - **`NamespaceRequestHistoryModifierTask`**: Records events for requests against all resources of a specific type within a namespace. |
0944747
into
GoogleCloudPlatform:epic/issue-373
…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>
No description provided.