Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNotATemplate indicates the user-indicated file does not contain a // ConstraintTemplate. ErrNotATemplate = errors.New("not a ConstraintTemplate") // ErrNotAConstraint indicates the user-indicated file does not contain a // Constraint. ErrNotAConstraint = errors.New("not a Constraint") // ErrAddingTemplate indicates a problem instantiating a Suite's ConstraintTemplate. ErrAddingTemplate = errors.New("adding template") // ErrAddingConstraint indicates a problem instantiating a Suite's Constraint. ErrAddingConstraint = errors.New("adding constraint") // ErrInvalidSuite indicates a Suite does not define the required fields. ErrInvalidSuite = errors.New("invalid Suite") // ErrCreatingClient indicates an error instantiating the Client which compiles // Constraints and runs validation. ErrCreatingClient = errors.New("creating client") // ErrInvalidCase indicates a Case cannot be run due to not being configured properly. ErrInvalidCase = errors.New("invalid Case") // ErrNumViolations indicates an Object did not get the expected number of // violations. ErrNumViolations = errors.New("unexpected number of violations") // ErrInvalidRegex indicates a Case specified a Violation regex that could not // be compiled. ErrInvalidRegex = errors.New("message contains invalid regular expression") // ErrInvalidFilter indicates that Filter construction failed. ErrInvalidFilter = errors.New("invalid test filter") // ErrNoObjects indicates that a specified YAML file contained no objects. ErrNoObjects = errors.New("missing objects") // ErrMultipleObjects indicates that a specified YAML file contained multiple objects. ErrMultipleObjects = errors.New("object file must contain exactly one object") // ErrAddInventory indicates that an object that was declared to be part of // data.inventory was unable to be added. ErrAddInventory = errors.New("unable to add object to data.inventory") // ErrConvertingTemplate means we were able to parse a template, but not convert // it into the version-independent format. ErrConvertingTemplate = errors.New("unable to convert template") // ErrValidConstraint occurs when a test's configuration signals an expectation // that a constraint should fail validation but no validation error is raised. ErrValidConstraint = errors.New("constraint should have failed schema validation") // ErrInvalidK8sAdmissionReview occurs when a test attempts to pass in an AdmissionReview // object but we fail to convert the unstructured object into a typed AdmissionReview one. ErrInvalidK8sAdmissionReview = errors.New("not a valid AdmissionReview object") // ErrMissingK8sAdmissionRequest occurs when a test attempts to pass in an AdmissionReview // object but it does not actually pass in an AdmissionRequest object. ErrMissingK8sAdmissionRequest = errors.New("missing an AdmissionRequest object") // ErrReviewObject occurs when a test attempts to pass in an AdmissionRequest with no // object or oldObject for the underlying framework to review. // This mimicks the k8s api server behvaior. ErrNoObjectForReview = errors.New("no object or oldObject found to review") // ErrNilOldObject indicates that the AdmissionRequest did not provide an oldObject. // Gatekeeper expects oldObject to be non nil on DELETE operations. ErrNilOldObject = errors.New("oldObject is nil") // ErrInvalidYAML indicates that a .yaml/.yml file was not parseable. ErrInvalidYAML = errors.New("invalid yaml") // ErrUnmarshallObject happens when the yaml defines an invalid object or oldObject. ErrUnmarshallObject = errors.New("object or oldObject cannot be unmarshalled") )
Functions ¶
func FixYAML ¶
Pass through JSON since k8s parsing logic doesn't fully handle objects parsed directly from YAML. Without passing through JSON, the OPA client panics when handed scalar types it doesn't recognize.
func IntStrFromInt ¶
func IntStrFromInt(val int) *intstr.IntOrString
func IntStrFromStr ¶
func IntStrFromStr(val string) *intstr.IntOrString
Types ¶
type Client ¶
type Client interface { // AddTemplate adds a Template to the Client. Templates define the structure // and parameters of potential Constraints. AddTemplate(ctx context.Context, templ *templates.ConstraintTemplate) (*types.Responses, error) // AddConstraint adds a Constraint to the Client. Must map to one of the // previously-added Templates. // // Returns an error if the referenced Template does not exist, or the // Constraint does not match the structure defined by the referenced Template. AddConstraint(ctx context.Context, constraint *unstructured.Unstructured) (*types.Responses, error) // AddData adds the state of the cluster. For use in referential Constraints. AddData(ctx context.Context, data interface{}) (*types.Responses, error) // RemoveData removes objects from the state of the cluster. For use in // referential constraints. RemoveData(ctx context.Context, data interface{}) (*types.Responses, error) // Review runs all Constraints against obj. Review(ctx context.Context, obj interface{}, opts ...drivers.QueryOpt) (*types.Responses, error) }
Directories ¶
Path | Synopsis |
---|---|
fixtures package contains commonly used ConstraintTemplates, Constraints, Objects and other k8s resources mostly used for testing.
|
fixtures package contains commonly used ConstraintTemplates, Constraints, Objects and other k8s resources mostly used for testing. |
Click to show internal directories.
Click to hide internal directories.