Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(auditor Auditor)

    Register registers a new Auditor in the global auditor list

    func SubmitEvent

    func SubmitEvent(event interface{})

      SubmitEvent handles an event for all auditors

      Types

      type Auditor

      type Auditor interface {
      	// Handle() takes an audit event and attempts to persists it;
      	// how it is persisted and how errors are handled is up to the
      	// implementation of this interface.
      	Handle(event interface{})
      }

        Auditor is notified when noteworthy events happen, for example when a file is encrypted or decrypted.

        type DecryptEvent

        type DecryptEvent struct {
        	File string
        }

          DecryptEvent contains fields relevant to a decryption event

          type EncryptEvent

          type EncryptEvent struct {
          	File string
          }

            EncryptEvent contains fields relevant to an encryption event

            type PostgresAuditor

            type PostgresAuditor struct {
            	DB *sql.DB
            }

              PostgresAuditor is a Postgres SQL DB implementation of the Auditor interface. It persists the audit event by writing a row to the 'audit_event' table. Errors with writing to the database will output a log message and the process will exit with status set to 1

              func NewPostgresAuditor

              func NewPostgresAuditor(connStr string) (*PostgresAuditor, error)

                NewPostgresAuditor is the constructor for a new PostgresAuditor struct initialized with the given db connection string

                func (*PostgresAuditor) Handle

                func (p *PostgresAuditor) Handle(event interface{})

                  Handle persists the audit event by writing a row to the 'audit_event' postgres table

                  type RotateEvent

                  type RotateEvent struct {
                  	File string
                  }

                    RotateEvent contains fields relevant to a key rotation event

                    Source Files