Skip to content

Commit

Permalink
Wire up events support
Browse files Browse the repository at this point in the history
  • Loading branch information
strideynet committed Feb 10, 2025
1 parent 1cdf517 commit 071ccd6
Show file tree
Hide file tree
Showing 6 changed files with 83 additions and 0 deletions.
42 changes: 42 additions & 0 deletions api/types/events/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -2431,6 +2431,48 @@ func (m *WorkloadIdentityDelete) TrimToMaxSize(_ int) AuditEvent {
return m
}

func (m *WorkloadIdentityX509RevocationCreate) TrimToMaxSize(maxSize int) AuditEvent {
size := m.Size()
if size <= maxSize {
return m
}

out := utils.CloneProtoMsg(m)
out.Reason = ""

maxSize = adjustedMaxSize(out, maxSize)

customFieldsCount := nonEmptyStrs(m.Reason)
maxFieldsSize := maxSizePerField(maxSize, customFieldsCount)

out.Reason = trimStr(m.Reason, maxFieldsSize)

return m
}

func (m *WorkloadIdentityX509RevocationUpdate) TrimToMaxSize(maxSize int) AuditEvent {
size := m.Size()
if size <= maxSize {
return m
}

out := utils.CloneProtoMsg(m)
out.Reason = ""

maxSize = adjustedMaxSize(out, maxSize)

customFieldsCount := nonEmptyStrs(m.Reason)
maxFieldsSize := maxSizePerField(maxSize, customFieldsCount)

out.Reason = trimStr(m.Reason, maxFieldsSize)

return m
}

func (m *WorkloadIdentityX509RevocationDelete) TrimToMaxSize(_ int) AuditEvent {
return m
}

func (m *GitCommand) TrimToMaxSize(_ int) AuditEvent {
return m
}
Expand Down
12 changes: 12 additions & 0 deletions api/types/events/oneof.go
Original file line number Diff line number Diff line change
Expand Up @@ -827,6 +827,18 @@ func ToOneOf(in AuditEvent) (*OneOf, error) {
out.Event = &OneOf_StableUNIXUserCreate{
StableUNIXUserCreate: e,
}
case *WorkloadIdentityX509RevocationCreate:
out.Event = &OneOf_WorkloadIdentityX509RevocationCreate{
WorkloadIdentityX509RevocationCreate: e,
}
case *WorkloadIdentityX509RevocationDelete:
out.Event = &OneOf_WorkloadIdentityX509RevocationDelete{
WorkloadIdentityX509RevocationDelete: e,
}
case *WorkloadIdentityX509RevocationUpdate:
out.Event = &OneOf_WorkloadIdentityX509RevocationUpdate{
WorkloadIdentityX509RevocationUpdate: e,
}
default:
slog.ErrorContext(context.Background(), "Attempted to convert dynamic event of unknown type into protobuf event.", "event_type", in.GetType())
unknown := &Unknown{}
Expand Down
10 changes: 10 additions & 0 deletions lib/events/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -859,6 +859,16 @@ const (
// WorkloadIdentityDeleteEvent is emitted when a WorkloadIdentity resource is deleted.
WorkloadIdentityDeleteEvent = "workload_identity.delete"

// WorkloadIdentityX509RevocationCreateEvent is emitted when a
// WorkloadIdentityX509Revocation resource is created.
WorkloadIdentityX509RevocationCreateEvent = "workload_identity_x509_revocation.create"
// WorkloadIdentityX509RevocationUpdateEvent is emitted when a
// WorkloadIdentityX509Revocation resource is updated.
WorkloadIdentityX509RevocationUpdateEvent = "workload_identity_x509_revocation.update"
// WorkloadIdentityX509RevocationDeleteEvent is emitted when a
// WorkloadIdentityX509Revocation resource is deleted.
WorkloadIdentityX509RevocationDeleteEvent = "workload_identity_x509_revocation.delete"

// GitCommandEvent is emitted when a Git command is executed.
GitCommandEvent = "git.command"

Expand Down
9 changes: 9 additions & 0 deletions lib/events/codes.go
Original file line number Diff line number Diff line change
Expand Up @@ -687,6 +687,15 @@ const (
WorkloadIdentityUpdateCode = "WID002I"
// WorkloadIdentityDeleteCode is the workload identity delete event code.
WorkloadIdentityDeleteCode = "WID003I"
// WorkloadIdentityX509RevocationCreateCode is the
// WorkloadIdentityX509Revocation create event code.
WorkloadIdentityX509RevocationCreateCode = "WID004I"
// WorkloadIdentityX509RevocationUpdateCode is the
// WorkloadIdentityX509Revocation update event code.
WorkloadIdentityX509RevocationUpdateCode = "WID005I"
// WorkloadIdentityX509RevocationDeleteCode is the
// WorkloadIdentityX509Revocation delete event code.
WorkloadIdentityX509RevocationDeleteCode = "WID006I"

// GitCommandCode is the git command event code
GitCommandCode = "TGIT001I"
Expand Down
7 changes: 7 additions & 0 deletions lib/events/dynamic.go
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,13 @@ func FromEventFields(fields EventFields) (events.AuditEvent, error) {
case WorkloadIdentityDeleteEvent:
e = &events.WorkloadIdentityDelete{}

case WorkloadIdentityX509RevocationCreateEvent:
e = &events.WorkloadIdentityX509RevocationCreate{}
case WorkloadIdentityX509RevocationUpdateEvent:
e = &events.WorkloadIdentityX509RevocationUpdate{}
case WorkloadIdentityX509RevocationDeleteEvent:
e = &events.WorkloadIdentityX509RevocationDelete{}

case StableUNIXUserCreateEvent:
e = &events.StableUNIXUserCreate{}

Expand Down
3 changes: 3 additions & 0 deletions lib/events/events_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,9 @@ var eventsMap = map[string]apievents.AuditEvent{
WorkloadIdentityDeleteEvent: &apievents.WorkloadIdentityDelete{},
AccessRequestExpireEvent: &apievents.AccessRequestExpire{},
StableUNIXUserCreateEvent: &apievents.StableUNIXUserCreate{},
WorkloadIdentityX509RevocationCreateEvent: &apievents.WorkloadIdentityX509RevocationCreate{},
WorkloadIdentityX509RevocationDeleteEvent: &apievents.WorkloadIdentityX509RevocationDelete{},
WorkloadIdentityX509RevocationUpdateEvent: &apievents.WorkloadIdentityX509RevocationUpdate{},
}

// TestJSON tests JSON marshal events
Expand Down

0 comments on commit 071ccd6

Please sign in to comment.