Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
 - func GetNsName(obj *unstructured.Unstructured) string
 - func ParseResourceReferenceAnnotation(ns, antn string) string
 - func ValidateAppProtectLogConf(logConf *unstructured.Unstructured) error
 - func ValidateAppProtectLogDestination(dstAntn string) error
 - func ValidateAppProtectPolicy(policy *unstructured.Unstructured) error
 - type Change
 - type Configuration
 - type ConfigurationImpl
 - func (ci *ConfigurationImpl) AddOrUpdateLogConf(logconfObj *unstructured.Unstructured) (changes []Change, problems []Problem)
 - func (ci *ConfigurationImpl) AddOrUpdatePolicy(policyObj *unstructured.Unstructured) (changes []Change, problems []Problem)
 - func (ci *ConfigurationImpl) AddOrUpdateUserSig(userSigObj *unstructured.Unstructured) (change UserSigChange, problems []Problem)
 - func (ci *ConfigurationImpl) DeleteLogConf(key string) (changes []Change, problems []Problem)
 - func (ci *ConfigurationImpl) DeletePolicy(key string) (changes []Change, problems []Problem)
 - func (ci *ConfigurationImpl) DeleteUserSig(key string) (change UserSigChange, problems []Problem)
 - func (ci *ConfigurationImpl) GetAppResource(kind, key string) (*unstructured.Unstructured, error)
 
- type FakeConfiguration
 - func (fc *FakeConfiguration) AddOrUpdateLogConf(logConfObj *unstructured.Unstructured) (changes []Change, problems []Problem)
 - func (fc *FakeConfiguration) AddOrUpdatePolicy(policyObj *unstructured.Unstructured) (changes []Change, problems []Problem)
 - func (fc *FakeConfiguration) AddOrUpdateUserSig(userSigObj *unstructured.Unstructured) (change UserSigChange, problems []Problem)
 - func (fc *FakeConfiguration) DeleteLogConf(key string) (changes []Change, problems []Problem)
 - func (fc *FakeConfiguration) DeletePolicy(key string) (changes []Change, problems []Problem)
 - func (fc *FakeConfiguration) DeleteUserSig(key string) (change UserSigChange, problems []Problem)
 - func (fc *FakeConfiguration) GetAppResource(kind, key string) (*unstructured.Unstructured, error)
 
- type LogConfEx
 - type Operation
 - type PolicyEx
 - type Problem
 - type RevTimes
 - type SignatureReq
 - type UserSigChange
 - type UserSigEx
 
Constants ¶
This section is empty.
Variables ¶
var ( // PolicyGVR is the group version resource of the appprotect policy PolicyGVR = schema.GroupVersionResource{ Group: "appprotect.f5.com", Version: "v1beta1", Resource: "appolicies", } // PolicyGVK is the group version kind of the appprotect policy PolicyGVK = schema.GroupVersionKind{ Group: "appprotect.f5.com", Version: "v1beta1", Kind: "APPolicy", } // LogConfGVR is the group version resource of the appprotect policy LogConfGVR = schema.GroupVersionResource{ Group: "appprotect.f5.com", Version: "v1beta1", Resource: "aplogconfs", } // LogConfGVK is the group version kind of the appprotect policy LogConfGVK = schema.GroupVersionKind{ Group: "appprotect.f5.com", Version: "v1beta1", Kind: "APLogConf", } // UserSigGVR is the group version resource of the appprotect policy UserSigGVR = schema.GroupVersionResource{ Group: "appprotect.f5.com", Version: "v1beta1", Resource: "apusersigs", } // UserSigGVK is the group version kind of the appprotect policy UserSigGVK = schema.GroupVersionKind{ Group: "appprotect.f5.com", Version: "v1beta1", Kind: "APUserSig", } )
Functions ¶
func GetNsName ¶
func GetNsName(obj *unstructured.Unstructured) string
GetNsName gets the key of a resource in the format: "resNamespace/resName"
func ParseResourceReferenceAnnotation ¶
ParseResourceReferenceAnnotation returns a namespace/name string
func ValidateAppProtectLogConf ¶
func ValidateAppProtectLogConf(logConf *unstructured.Unstructured) error
ValidateAppProtectLogConf validates LogConfiguration resource
func ValidateAppProtectLogDestination ¶
ValidateAppProtectLogDestination validates destination for log configuration
func ValidateAppProtectPolicy ¶
func ValidateAppProtectPolicy(policy *unstructured.Unstructured) error
ValidateAppProtectPolicy validates Policy resource
Types ¶
type Change ¶
type Change struct {
	// Op is an operation that needs be performed on the resource.
	Op Operation
	// Resource is the target resource.
	Resource interface{}
}
    Change represents a change in an App Protect resource
type Configuration ¶
type Configuration interface {
	AddOrUpdatePolicy(policyObj *unstructured.Unstructured) (changes []Change, problems []Problem)
	AddOrUpdateLogConf(logConfObj *unstructured.Unstructured) (changes []Change, problems []Problem)
	AddOrUpdateUserSig(userSigObj *unstructured.Unstructured) (change UserSigChange, problems []Problem)
	GetAppResource(kind, key string) (*unstructured.Unstructured, error)
	DeletePolicy(key string) (changes []Change, problems []Problem)
	DeleteLogConf(key string) (changes []Change, problems []Problem)
	DeleteUserSig(key string) (change UserSigChange, problems []Problem)
}
    Configuration configures App Protect resources that the Ingress Controller uses.
func NewConfiguration ¶
func NewConfiguration() Configuration
NewConfiguration creates a new App Protect Configuration
func NewFakeConfiguration ¶
func NewFakeConfiguration() Configuration
NewFakeConfiguration creates a new App Protect Configuration
type ConfigurationImpl ¶
type ConfigurationImpl struct {
	Policies map[string]*PolicyEx
	LogConfs map[string]*LogConfEx
	UserSigs map[string]*UserSigEx
}
    ConfigurationImpl holds representations of App Protect cluster resources
func (*ConfigurationImpl) AddOrUpdateLogConf ¶
func (ci *ConfigurationImpl) AddOrUpdateLogConf(logconfObj *unstructured.Unstructured) (changes []Change, problems []Problem)
AddOrUpdateLogConf adds or updates App Protect Log Configuration to App Protect Configuration
func (*ConfigurationImpl) AddOrUpdatePolicy ¶
func (ci *ConfigurationImpl) AddOrUpdatePolicy(policyObj *unstructured.Unstructured) (changes []Change, problems []Problem)
AddOrUpdatePolicy adds or updates an App Protect Policy to App Protect Configuration
func (*ConfigurationImpl) AddOrUpdateUserSig ¶
func (ci *ConfigurationImpl) AddOrUpdateUserSig(userSigObj *unstructured.Unstructured) (change UserSigChange, problems []Problem)
AddOrUpdateUserSig adds or updates App Protect User Defined Signature to App Protect Configuration
func (*ConfigurationImpl) DeleteLogConf ¶
func (ci *ConfigurationImpl) DeleteLogConf(key string) (changes []Change, problems []Problem)
DeleteLogConf deletes an App Protect Log Configuration from App Protect Configuration
func (*ConfigurationImpl) DeletePolicy ¶
func (ci *ConfigurationImpl) DeletePolicy(key string) (changes []Change, problems []Problem)
DeletePolicy deletes an App Protect Policy from App Protect Configuration
func (*ConfigurationImpl) DeleteUserSig ¶
func (ci *ConfigurationImpl) DeleteUserSig(key string) (change UserSigChange, problems []Problem)
DeleteUserSig deletes an App Protect User Defined Signature from App Protect Configuration
func (*ConfigurationImpl) GetAppResource ¶
func (ci *ConfigurationImpl) GetAppResource(kind, key string) (*unstructured.Unstructured, error)
GetAppResource returns a pointer to an App Protect resource
type FakeConfiguration ¶
type FakeConfiguration struct {
	Policies map[string]*PolicyEx
	LogConfs map[string]*LogConfEx
	UserSigs map[string]*UserSigEx
}
    FakeConfiguration holds representations of fake App Protect cluster resources
func (*FakeConfiguration) AddOrUpdateLogConf ¶
func (fc *FakeConfiguration) AddOrUpdateLogConf(logConfObj *unstructured.Unstructured) (changes []Change, problems []Problem)
AddOrUpdateLogConf adds or updates App Protect Log Configuration to App Protect Configuration
func (*FakeConfiguration) AddOrUpdatePolicy ¶
func (fc *FakeConfiguration) AddOrUpdatePolicy(policyObj *unstructured.Unstructured) (changes []Change, problems []Problem)
AddOrUpdatePolicy adds or updates an App Protect Policy to App Protect Configuration
func (*FakeConfiguration) AddOrUpdateUserSig ¶
func (fc *FakeConfiguration) AddOrUpdateUserSig(userSigObj *unstructured.Unstructured) (change UserSigChange, problems []Problem)
AddOrUpdateUserSig adds or updates App Protect User Defined Signature to App Protect Configuration
func (*FakeConfiguration) DeleteLogConf ¶
func (fc *FakeConfiguration) DeleteLogConf(key string) (changes []Change, problems []Problem)
DeleteLogConf deletes an App Protect Log Configuration from App Protect Configuration
func (*FakeConfiguration) DeletePolicy ¶
func (fc *FakeConfiguration) DeletePolicy(key string) (changes []Change, problems []Problem)
DeletePolicy deletes an App Protect Policy from App Protect Configuration
func (*FakeConfiguration) DeleteUserSig ¶
func (fc *FakeConfiguration) DeleteUserSig(key string) (change UserSigChange, problems []Problem)
DeleteUserSig deletes an App Protect User Defined Signature from App Protect Configuration
func (*FakeConfiguration) GetAppResource ¶
func (fc *FakeConfiguration) GetAppResource(kind, key string) (*unstructured.Unstructured, error)
GetAppResource returns a pointer to an App Protect resource
type LogConfEx ¶
type LogConfEx struct {
	Obj      *unstructured.Unstructured
	IsValid  bool
	ErrorMsg string
}
    LogConfEx represents an App Protect Log Configuration cluster resource
type Operation ¶
type Operation int
Operation defines an operation to perform for an App Protect resource.
type PolicyEx ¶
type PolicyEx struct {
	Obj           *unstructured.Unstructured
	SignatureReqs []SignatureReq
	IsValid       bool
	ErrorMsg      string
}
    PolicyEx represents an App Protect policy cluster resource
type Problem ¶
type Problem struct {
	// Object is a configuration object.
	Object *unstructured.Unstructured
	// Reason tells the reason. It matches the reason in the events of our configuration objects.
	Reason string
	// Message gives the details about the problem. It matches the message in the events of our configuration objects.
	Message string
}
    Problem represents a problem with an App Protect resource
type SignatureReq ¶
SignatureReq describes a signature that is required by the policy
type UserSigChange ¶
type UserSigChange struct {
	PolicyDeletions     []*unstructured.Unstructured
	PolicyAddsOrUpdates []*unstructured.Unstructured
	UserSigs            []*unstructured.Unstructured
}
    UserSigChange holds resources that are affected by changes in UserSigs
type UserSigEx ¶
type UserSigEx struct {
	Obj      *unstructured.Unstructured
	Tag      string
	RevTime  *time.Time
	IsValid  bool
	ErrorMsg string
}
    UserSigEx represents an App Protect User Defined Signature cluster resource