package audit

import "k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/audit"

TODO: Delete this file if we generate a clientset.

Index

Variables

var Codecs = serializer.NewCodecFactory(Scheme)
var Scheme = runtime.NewScheme()

Functions

func LogRequestObject

func LogRequestObject(ae *audit.Event, obj runtime.Object, gv schema.GroupVersion, s runtime.NegotiatedSerializer)

LogRequestObject fills in the request object into an audit event. The passed runtime.Object will be converted to the given gv.

func LogRequestPatch

func LogRequestPatch(ae *audit.Event, patch []byte)

LogRquestPatch fills in the given patch as the request object into an audit event.

func LogResponseObject

func LogResponseObject(ae *audit.Event, obj runtime.Object, gv schema.GroupVersion, s runtime.NegotiatedSerializer)

LogResponseObject fills in the response object into an audit event. The passed runtime.Object will be converted to the given gv.

func NewEventFromRequest

func NewEventFromRequest(req *http.Request, level auditinternal.Level, attribs authorizer.Attributes) (*auditinternal.Event, error)

Types

type Backend

type Backend interface {
	Sink

	// Run will initialize the backend. It must not block, but may run go routines in the background. If
	// stopCh is closed, it is supposed to stop them. Run will be called before the first call to ProcessEvents.
	Run(stopCh <-chan struct{}) error
}

func Union

func Union(backends ...Backend) Backend

Union returns an audit Backend which logs events to a set of backends. The returned Sink implementation blocks in turn for each call to ProcessEvents.

type Sink

type Sink interface {
	// ProcessEvents handles events. Per audit ID it might be that ProcessEvents is called up to three times.
	// Errors might be logged by the sink itself. If an error should be fatal, leading to an internal
	// error, ProcessEvents is supposed to panic. The event must not be mutated and is reused by the caller
	// after the call returns, i.e. the sink has to make a deepcopy to keep a copy around if necessary.
	ProcessEvents(events ...*auditinternal.Event)
}

Source Files

request.go scheme.go types.go union.go

Directories

PathSynopsis
staging/src/k8s.io/apiserver/pkg/audit/policy
Version
v1.7.0-beta.0
Published
Jun 2, 2017
Platform
linux/amd64
Imports
19 packages
Last checked
1 minute ago

Tools for package owners.