Documentation ¶
Index ¶
Constants ¶
View Source
const (
SystemInitiator = "sys"
)
Variables ¶
This section is empty.
Functions ¶
func RegisterActivityMap ¶
RegisterActivityMap adds new codes to the activity map
Types ¶
type Activity ¶
type Activity int
Activity that triggered an Event
const ( // PeerAddedByUser indicates that a user added a new peer to the system PeerAddedByUser Activity = 0 // PeerAddedWithSetupKey indicates that a new peer joined the system using a setup key PeerAddedWithSetupKey Activity = 1 // UserJoined indicates that a new user joined the account UserJoined Activity = 2 // UserInvited indicates that a new user was invited to join the account UserInvited Activity = 3 // AccountCreated indicates that a new account has been created AccountCreated Activity = 4 // PeerRemovedByUser indicates that a user removed a peer from the system PeerRemovedByUser Activity = 5 // RuleAdded indicates that a user added a new rule RuleAdded Activity = 6 // RuleUpdated indicates that a user updated a rule RuleUpdated Activity = 7 // RuleRemoved indicates that a user removed a rule RuleRemoved Activity = 8 // PolicyAdded indicates that a user added a new policy PolicyAdded Activity = 9 // PolicyUpdated indicates that a user updated a policy PolicyUpdated Activity = 10 // PolicyRemoved indicates that a user removed a policy PolicyRemoved Activity = 11 // SetupKeyCreated indicates that a user created a new setup key SetupKeyCreated Activity = 12 // SetupKeyUpdated indicates that a user updated a setup key SetupKeyUpdated Activity = 13 // SetupKeyRevoked indicates that a user revoked a setup key SetupKeyRevoked Activity = 14 // SetupKeyOverused indicates that setup key usage exhausted SetupKeyOverused Activity = 15 // GroupCreated indicates that a user created a group GroupCreated Activity = 16 // GroupUpdated indicates that a user updated a group GroupUpdated Activity = 17 // GroupAddedToPeer indicates that a user added group to a peer GroupAddedToPeer Activity = 18 // GroupRemovedFromPeer indicates that a user removed peer group GroupRemovedFromPeer Activity = 19 // GroupAddedToUser indicates that a user added group to a user GroupAddedToUser Activity = 20 // GroupRemovedFromUser indicates that a user removed a group from a user GroupRemovedFromUser Activity = 21 // UserRoleUpdated indicates that a user changed the role of a user UserRoleUpdated Activity = 22 // GroupAddedToSetupKey indicates that a user added group to a setup key GroupAddedToSetupKey Activity = 23 // GroupRemovedFromSetupKey indicates that a user removed a group from a setup key GroupRemovedFromSetupKey Activity = 24 // GroupAddedToDisabledManagementGroups indicates that a user added a group to the DNS setting Disabled management groups GroupAddedToDisabledManagementGroups Activity = 25 // GroupRemovedFromDisabledManagementGroups indicates that a user removed a group from the DNS setting Disabled management groups GroupRemovedFromDisabledManagementGroups Activity = 26 // RouteCreated indicates that a user created a route RouteCreated Activity = 27 // RouteRemoved indicates that a user deleted a route RouteRemoved Activity = 28 // RouteUpdated indicates that a user updated a route RouteUpdated Activity = 29 // PeerSSHEnabled indicates that a user enabled SSH server on a peer PeerSSHEnabled Activity = 30 // PeerSSHDisabled indicates that a user disabled SSH server on a peer PeerSSHDisabled Activity = 31 // PeerRenamed indicates that a user renamed a peer PeerRenamed Activity = 32 // PeerLoginExpirationEnabled indicates that a user enabled login expiration of a peer PeerLoginExpirationEnabled Activity = 33 // PeerLoginExpirationDisabled indicates that a user disabled login expiration of a peer PeerLoginExpirationDisabled Activity = 34 // NameserverGroupCreated indicates that a user created a nameservers group NameserverGroupCreated Activity = 35 // NameserverGroupDeleted indicates that a user deleted a nameservers group NameserverGroupDeleted Activity = 36 // NameserverGroupUpdated indicates that a user updated a nameservers group NameserverGroupUpdated Activity = 37 // AccountPeerLoginExpirationEnabled indicates that a user enabled peer login expiration for the account AccountPeerLoginExpirationEnabled Activity = 38 // AccountPeerLoginExpirationDisabled indicates that a user disabled peer login expiration for the account AccountPeerLoginExpirationDisabled Activity = 39 // AccountPeerLoginExpirationDurationUpdated indicates that a user updated peer login expiration duration for the account AccountPeerLoginExpirationDurationUpdated Activity = 40 // PersonalAccessTokenCreated indicates that a user created a personal access token PersonalAccessTokenCreated Activity = 41 // PersonalAccessTokenDeleted indicates that a user deleted a personal access token PersonalAccessTokenDeleted Activity = 42 // ServiceUserCreated indicates that a user created a service user ServiceUserCreated Activity = 43 // ServiceUserDeleted indicates that a user deleted a service user ServiceUserDeleted Activity = 44 // UserBlocked indicates that a user blocked another user UserBlocked Activity = 45 // UserUnblocked indicates that a user unblocked another user UserUnblocked Activity = 46 // UserDeleted indicates that a user deleted another user UserDeleted Activity = 47 // GroupDeleted indicates that a user deleted group GroupDeleted Activity = 48 // UserLoggedInPeer indicates that user logged in their peer with an interactive SSO login UserLoggedInPeer Activity = 49 // PeerLoginExpired indicates that the user peer login has been expired and peer disconnected PeerLoginExpired Activity = 50 // DashboardLogin indicates that the user logged in to the dashboard DashboardLogin Activity = 51 // IntegrationCreated indicates that the user created an integration IntegrationCreated Activity = 52 // IntegrationUpdated indicates that the user updated an integration IntegrationUpdated Activity = 53 // IntegrationDeleted indicates that the user deleted an integration IntegrationDeleted Activity = 54 // AccountPeerApprovalEnabled indicates that the user enabled peer approval for the account AccountPeerApprovalEnabled Activity = 55 // AccountPeerApprovalDisabled indicates that the user disabled peer approval for the account AccountPeerApprovalDisabled Activity = 56 // PeerApproved indicates that the peer has been approved PeerApproved Activity = 57 // PeerApprovalRevoked indicates that the peer approval has been revoked PeerApprovalRevoked Activity = 58 // TransferredOwnerRole indicates that the user transferred the owner role of the account TransferredOwnerRole Activity = 59 // PostureCheckCreated indicates that the user created a posture check PostureCheckCreated Activity = 60 // PostureCheckUpdated indicates that the user updated a posture check PostureCheckUpdated Activity = 61 // PostureCheckDeleted indicates that the user deleted a posture check PostureCheckDeleted Activity = 62 )
Existing consts must not be changed, as this will break the compatibility with the existing data
func (Activity) StringCode ¶
StringCode returns a string code of the activity
type ActivityDescriber ¶
ActivityDescriber is an interface that describes an activity
type Event ¶
type Event struct { // Timestamp of the event Timestamp time.Time // Activity that was performed during the event Activity ActivityDescriber // ID of the event (can be empty, meaning that it wasn't yet generated) ID uint64 // InitiatorID is the ID of an object that initiated the event (e.g., a user) InitiatorID string // InitiatorName is the name of an object that initiated the event. InitiatorName string // InitiatorEmail is the email address of an object that initiated the event. InitiatorEmail string // TargetID is the ID of an object that was effected by the event (e.g., a peer) TargetID string // AccountID is the ID of an account where the event happened AccountID string // Meta of the event, e.g. deleted peer information like name, IP, etc Meta map[string]any }
Event represents a network/system activity event.
type InMemoryEventStore ¶
type InMemoryEventStore struct {
// contains filtered or unexported fields
}
InMemoryEventStore implements the Store interface storing data in-memory
func (*InMemoryEventStore) Close ¶
func (store *InMemoryEventStore) Close() error
Close cleans up the event list
type Store ¶
type Store interface { // Save an event in the store Save(event *Event) (*Event, error) // Get returns "limit" number of events from the "offset" index ordered descending or ascending by a timestamp Get(accountID string, offset, limit int, descending bool) ([]*Event, error) // Close the sink flushing events if necessary Close() error }
Store provides an interface to store or stream events.
Click to show internal directories.
Click to hide internal directories.