Documentation ¶
Index ¶
- func MutateResourceWithImageInfo(raw []byte, ctx *Context) error
- type ContainerImage
- type Context
- func (ctx *Context) AddBuiltInVars(pattern string)
- func (ctx *Context) AddImageInfo(resource *unstructured.Unstructured) error
- func (ctx *Context) AddJSON(dataRaw []byte) error
- func (ctx *Context) AddNamespace(namespace string) error
- func (ctx *Context) AddRequest(request *v1beta1.AdmissionRequest) error
- func (ctx *Context) AddResource(dataRaw []byte) error
- func (ctx *Context) AddResourceAsObject(data interface{}) error
- func (ctx *Context) AddResourceInOldObject(dataRaw []byte) error
- func (ctx *Context) AddServiceAccount(userName string) error
- func (ctx *Context) AddUserInfo(userRequestInfo kyverno.RequestInfo) error
- func (ctx *Context) Checkpoint()
- func (ctx *Context) HasChanged(jmespath string) (bool, error)
- func (ctx *Context) ImageInfo() *Images
- func (ctx *Context) Query(query string) (interface{}, error)
- func (ctx *Context) Restore()
- type EvalInterface
- type ImageInfo
- type Images
- type Interface
- type InvalidVariableErr
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MutateResourceWithImageInfo ¶ added in v1.4.2
Types ¶
type ContainerImage ¶ added in v1.4.2
type Context ¶
type Context struct {
// contains filtered or unexported fields
}
Context stores the data resources as JSON
func NewContext ¶
NewContext returns a new context builtInVars is the list of known variables (e.g. serviceAccountName)
func (*Context) AddBuiltInVars ¶ added in v1.3.4
AddBuiltInVars adds given pattern to the builtInVars
func (*Context) AddImageInfo ¶ added in v1.3.5
func (ctx *Context) AddImageInfo(resource *unstructured.Unstructured) error
func (*Context) AddNamespace ¶ added in v1.3.4
AddNamespace merges resource json under request.namespace
func (*Context) AddRequest ¶ added in v1.2.0
func (ctx *Context) AddRequest(request *v1beta1.AdmissionRequest) error
AddRequest adds an admission request to context
func (*Context) AddResource ¶
AddResource data at path: request.object
func (*Context) AddResourceAsObject ¶ added in v1.4.2
func (*Context) AddResourceInOldObject ¶ added in v1.4.2
AddResourceInOldObject data at path: request.oldObject
func (*Context) AddServiceAccount ¶ added in v1.3.0
AddServiceAccount removes prefix 'system:serviceaccount:' and namespace, then loads only SA name and SA namespace
func (*Context) AddUserInfo ¶
func (ctx *Context) AddUserInfo(userRequestInfo kyverno.RequestInfo) error
AddUserInfo adds userInfo at path request.userInfo
func (*Context) Checkpoint ¶ added in v1.3.2
func (ctx *Context) Checkpoint()
Checkpoint creates a copy of the internal state. Prior checkpoints will be overridden.
func (*Context) HasChanged ¶ added in v1.4.2
type EvalInterface ¶
type EvalInterface interface { // Query accepts a JMESPath expression and returns matching data Query(query string) (interface{}, error) // HasChanged accepts a JMESPath expression and compares matching data in the // request.object and request.oldObject context fields. If the data has changed // it return `true`. If the data has not changed it returns false. If either // request.object or request.oldObject are not found, an error is returned. HasChanged(jmespath string) (bool, error) }
EvalInterface is used to query and inspect context data
type ImageInfo ¶ added in v1.4.2
type ImageInfo struct { // Registry is the URL address of the image registry e.g. `docker.io` Registry string `json:"registry,omitempty"` // Name is the image name portion e.g. `busybox` Name string `json:"name"` // Path is the repository path and image name e.g. `some-repository/busybox` Path string `json:"path"` // Tag is the image tag e.g. `v2` Tag string `json:"tag,omitempty"` // Digest is the image digest portion e.g. `sha256:128c6e3534b842a2eec139999b8ce8aa9a2af9907e2b9269550809d18cd832a3` Digest string `json:"digest,omitempty"` // JSONPointer is full JSON path to this image e.g. `/spec/containers/0/image` JSONPointer string `json:"jsonPath,omitempty"` }
type Interface ¶
type Interface interface { // AddRequest marshals and adds the admission request to the context AddRequest(request *v1beta1.AdmissionRequest) error // AddJSON merges the json with context AddJSON(dataRaw []byte) error // AddResource merges resource json under request.object AddResource(dataRaw []byte) error // AddUserInfo merges userInfo json under kyverno.userInfo AddUserInfo(userInfo kyverno.UserInfo) error // AddServiceAccount merges ServiceAccount types AddServiceAccount(userName string) error // AddNamespace merges resource json under request.namespace AddNamespace(namespace string) error EvalInterface }
Interface to manage context operations
type InvalidVariableErr ¶ added in v1.3.4
type InvalidVariableErr struct {
// contains filtered or unexported fields
}
InvalidVariableErr represents error for non-white-listed variables
func (InvalidVariableErr) Error ¶ added in v1.3.4
func (i InvalidVariableErr) Error() string