Documentation ¶
Index ¶
- Variables
- type AuditLogger
- type AuditLoggerConfig
- type AuditLoggerService
- func (l *AuditLoggerService) Audit(eventID EventID, data Data)
- func (l *AuditLoggerService) Close() error
- func (l *AuditLoggerService) HealthReport() map[string]error
- func (l *AuditLoggerService) Healthy() error
- func (l *AuditLoggerService) Name() string
- func (l *AuditLoggerService) Ready() error
- func (l *AuditLoggerService) SetLoggingClient(newClient HTTPAuditLoggerInterface)
- func (l *AuditLoggerService) Start(context.Context) error
- type Config
- type Data
- type EventID
- type HTTPAuditLoggerInterface
- type ServiceHeader
- type ServiceHeaders
Constants ¶
This section is empty.
Variables ¶
var AuditLoggerHeaders = envvar.New("AuditLoggerHeaders", func(s string) (ServiceHeaders, error) { sh := make(ServiceHeaders, 0) err := sh.UnmarshalText([]byte(s)) if err != nil { return nil, err } return sh, nil })
Functions ¶
This section is empty.
Types ¶
type AuditLogger ¶
type AuditLogger interface { services.ServiceCtx Audit(eventID EventID, data Data) }
var NoopLogger AuditLogger = &AuditLoggerService{}
func NewAuditLogger ¶
func NewAuditLogger(logger logger.Logger, config Config) (AuditLogger, error)
NewAuditLogger returns a buffer push system that ingests audit log events and asynchronously pushes them up to an HTTP log service. Parses and validates the AUDIT_LOGS_* environment values and returns an enabled AuditLogger instance. If the environment variables are not set, the logger is disabled and short circuits execution via enabled flag.
type AuditLoggerConfig ¶
type AuditLoggerConfig struct { Enabled *bool ForwardToUrl *models.URL JsonWrapperKey *string Headers *[]ServiceHeader }
func (*AuditLoggerConfig) SetFrom ¶
func (p *AuditLoggerConfig) SetFrom(f *AuditLoggerConfig)
type AuditLoggerService ¶
type AuditLoggerService struct {
// contains filtered or unexported fields
}
func (*AuditLoggerService) Audit ¶
func (l *AuditLoggerService) Audit(eventID EventID, data Data)
Entrypoint for new audit logs. This buffers all logs that come in they will sent out by the goroutine that was started when the AuditLoggerService was created. If this service was not enabled, this immeidately returns.
This function never blocks.
func (*AuditLoggerService) Close ¶
func (l *AuditLoggerService) Close() error
Stops the logger and will close the channel.
func (*AuditLoggerService) HealthReport ¶ added in v1.13.0
func (l *AuditLoggerService) HealthReport() map[string]error
func (*AuditLoggerService) Healthy ¶
func (l *AuditLoggerService) Healthy() error
func (*AuditLoggerService) Name ¶ added in v1.13.0
func (l *AuditLoggerService) Name() string
func (*AuditLoggerService) Ready ¶
func (l *AuditLoggerService) Ready() error
func (*AuditLoggerService) SetLoggingClient ¶
func (l *AuditLoggerService) SetLoggingClient(newClient HTTPAuditLoggerInterface)
type EventID ¶
type EventID string
const ( AuthLoginFailedEmail EventID = "AUTH_LOGIN_FAILED_EMAIL" AuthLoginFailedPassword EventID = "AUTH_LOGIN_FAILED_PASSWORD" AuthLoginFailed2FA EventID = "AUTH_LOGIN_FAILED_2FA" AuthLoginSuccessWith2FA EventID = "AUTH_LOGIN_SUCCESS_WITH_2FA" AuthLoginSuccessNo2FA EventID = "AUTH_LOGIN_SUCCESS_NO_2FA" Auth2FAEnrolled EventID = "AUTH_2FA_ENROLLED" AuthSessionDeleted EventID = "SESSION_DELETED" PasswordResetAttemptFailedMismatch EventID = "PASSWORD_RESET_ATTEMPT_FAILED_MISMATCH" PasswordResetSuccess EventID = "PASSWORD_RESET_SUCCESS" APITokenCreateAttemptPasswordMismatch EventID = "API_TOKEN_CREATE_ATTEMPT_PASSWORD_MISMATCH" APITokenCreated EventID = "API_TOKEN_CREATED" APITokenDeleteAttemptPasswordMismatch EventID = "API_TOKEN_DELETE_ATTEMPT_PASSWORD_MISMATCH" APITokenDeleted EventID = "API_TOKEN_DELETED" FeedsManCreated EventID = "FEEDS_MAN_CREATED" FeedsManUpdated EventID = "FEEDS_MAN_UPDATED" FeedsManChainConfigCreated EventID = "FEEDS_MAN_CHAIN_CONFIG_CREATED" FeedsManChainConfigUpdated EventID = "FEEDS_MAN_CHAIN_CONFIG_UPDATED" FeedsManChainConfigDeleted EventID = "FEEDS_MAN_CHAIN_CONFIG_DELETED" CSAKeyCreated EventID = "CSA_KEY_CREATED" CSAKeyImported EventID = "CSA_KEY_IMPORTED" CSAKeyExported EventID = "CSA_KEY_EXPORTED" CSAKeyDeleted EventID = "CSA_KEY_DELETED" OCRKeyBundleCreated EventID = "OCR_KEY_BUNDLE_CREATED" OCRKeyBundleImported EventID = "OCR_KEY_BUNDLE_IMPORTED" OCRKeyBundleExported EventID = "OCR_KEY_BUNDLE_EXPORTED" OCRKeyBundleDeleted EventID = "OCR_KEY_BUNDLE_DELETED" OCR2KeyBundleCreated EventID = "OCR2_KEY_BUNDLE_CREATED" OCR2KeyBundleImported EventID = "OCR2_KEY_BUNDLE_IMPORTED" OCR2KeyBundleExported EventID = "OCR2_KEY_BUNDLE_EXPORTED" OCR2KeyBundleDeleted EventID = "OCR2_KEY_BUNDLE_DELETED" KeyCreated EventID = "KEY_CREATED" KeyUpdated EventID = "KEY_UPDATED" KeyImported EventID = "KEY_IMPORTED" KeyExported EventID = "KEY_EXPORTED" KeyDeleted EventID = "KEY_DELETED" EthTransactionCreated EventID = "ETH_TRANSACTION_CREATED" SolanaTransactionCreated EventID = "SOLANA_TRANSACTION_CREATED" JobCreated EventID = "JOB_CREATED" JobDeleted EventID = "JOB_DELETED" ChainAdded EventID = "CHAIN_ADDED" ChainSpecUpdated EventID = "CHAIN_SPEC_UPDATED" ChainDeleted EventID = "CHAIN_DELETED" ChainRpcNodeAdded EventID = "CHAIN_RPC_NODE_ADDED" ChainRpcNodeDeleted EventID = "CHAIN_RPC_NODE_DELETED" BridgeCreated EventID = "BRIDGE_CREATED" BridgeUpdated EventID = "BRIDGE_UPDATED" BridgeDeleted EventID = "BRIDGE_DELETED" ForwarderCreated EventID = "FORWARDER_CREATED" ForwarderDeleted EventID = "FORWARDER_DELETED" ExternalInitiatorCreated EventID = "EXTERNAL_INITIATOR_CREATED" ExternalInitiatorDeleted EventID = "EXTERNAL_INITIATOR_DELETED" JobProposalSpecApproved EventID = "JOB_PROPOSAL_SPEC_APPROVED" JobProposalSpecUpdated EventID = "JOB_PROPOSAL_SPEC_UPDATED" JobProposalSpecCanceled EventID = "JOB_PROPOSAL_SPEC_CANCELED" JobProposalSpecRejected EventID = "JOB_PROPOSAL_SPEC_REJECTED" ConfigUpdated EventID = "CONFIG_UPDATED" ConfigSqlLoggingEnabled EventID = "CONFIG_SQL_LOGGING_ENABLED" ConfigSqlLoggingDisabled EventID = "CONFIG_SQL_LOGGING_DISABLED" GlobalLogLevelSet EventID = "GLOBAL_LOG_LEVEL_SET" JobErrorDismissed EventID = "JOB_ERROR_DISMISSED" JobRunSet EventID = "JOB_RUN_SET" EnvNoncriticalEnvDumped EventID = "ENV_NONCRITICAL_ENV_DUMPED" UnauthedRunResumed EventID = "UNAUTHED_RUN_RESUMED" )
Static audit log event type constants
type ServiceHeader ¶
ServiceHeader is an HTTP header to include in POST to log service.
func (*ServiceHeader) MarshalText ¶
func (h *ServiceHeader) MarshalText() ([]byte, error)
func (*ServiceHeader) UnmarshalText ¶
func (h *ServiceHeader) UnmarshalText(input []byte) error
type ServiceHeaders ¶
type ServiceHeaders []ServiceHeader
func (*ServiceHeaders) MarshalText ¶
func (sh *ServiceHeaders) MarshalText() ([]byte, error)
func (*ServiceHeaders) UnmarshalText ¶
func (sh *ServiceHeaders) UnmarshalText(input []byte) error