Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
- Constants
- Variables
- func IpNetFromProc(protocol string) (ips []net.IP)
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AsciiFlagsConfig
- type AsciiFlagsPile
- type AsciiFlagsProfile
- type BodyConfig
- type BodyPile
- type BodyProfile
- type CIDR
- type CountConfig
- type CountPile
- type CountProfile
- type Ctrl
- type EnvelopConfig
- type EnvelopPile
- type EnvelopProfile
- type FlagSliceConfig
- func (config *FlagSliceConfig) Decide(profile FlagSliceProfile) string
- func (in FlagSliceConfig) DeepCopy() FlagSliceConfig
- func (in FlagSliceConfig) DeepCopyInto(out *FlagSliceConfig)
- func (config *FlagSliceConfig) Fuse(otherConfig FlagSliceConfig)
- func (config *FlagSliceConfig) Learn(pile FlagSlicePile)
- type FlagSlicePile
- type FlagSliceProfile
- type Guardian
- type GuardianList
- type GuardianSpec
- type HeadersConfig
- type HeadersPile
- type HeadersProfile
- type IpSetConfig
- type IpSetPile
- type IpSetProfile
- type KeyValConfig
- type KeyValPile
- type KeyValProfile
- type MediaTypeConfig
- func (config *MediaTypeConfig) Decide(profile *MediaTypeProfile) string
- func (in *MediaTypeConfig) DeepCopy() *MediaTypeConfig
- func (in *MediaTypeConfig) DeepCopyInto(out *MediaTypeConfig)
- func (config *MediaTypeConfig) Fuse(otherConfig *MediaTypeConfig)
- func (config *MediaTypeConfig) Learn(pile *MediaTypePile)
- type MediaTypePile
- type MediaTypeProfile
- type PodConfig
- type PodPile
- type PodProfile
- type QueryConfig
- type QueryPile
- type QueryProfile
- type ReqConfig
- type ReqPile
- type ReqProfile
- type RespConfig
- type RespPile
- type RespProfile
- type SessionDataConfig
- func (config *SessionDataConfig) Decide(profile *SessionDataProfile) string
- func (in *SessionDataConfig) DeepCopy() *SessionDataConfig
- func (in *SessionDataConfig) DeepCopyInto(out *SessionDataConfig)
- func (config *SessionDataConfig) Fuse(otherConfig *SessionDataConfig)
- func (config *SessionDataConfig) Learn(pile *SessionDataPile)
- type SessionDataPile
- type SessionDataProfile
- type SetConfig
- type SetPile
- type SetProfile
- type SimpleValConfig
- func (config *SimpleValConfig) Decide(profile *SimpleValProfile) string
- func (in *SimpleValConfig) DeepCopy() *SimpleValConfig
- func (in *SimpleValConfig) DeepCopyInto(out *SimpleValConfig)
- func (config *SimpleValConfig) Fuse(otherConfig *SimpleValConfig)
- func (config *SimpleValConfig) Learn(pile *SimpleValPile)
- type SimpleValPile
- type SimpleValProfile
- type StructuredConfig
- func (config *StructuredConfig) Decide(profile *StructuredProfile) string
- func (in *StructuredConfig) DeepCopy() *StructuredConfig
- func (in *StructuredConfig) DeepCopyInto(out *StructuredConfig)
- func (config *StructuredConfig) Fuse(otherConfig *StructuredConfig)
- func (config *StructuredConfig) Learn(pile *StructuredPile)
- type StructuredPile
- type StructuredProfile
- type UrlConfig
- type UrlPile
- type UrlProfile
- type ValueConfig
- type ValuePile
- type ValueProfile
Constants ¶
const ( ExclamationSlot = iota // 33 (0) DoubleQuoteSlot // 34 (1) NumberSlot // 35 DollarSlot // 36 PercentSlot // 37 AmpersandSlot // 38 SingleQuoteSlot // 39 RoundBracketSlot // 40, 41 AsteriskSlot // 42 PlusSlot // 43 (9) CommaSlot // 44 (10) MinusSlot // 45 PeriodSlot // 46 SlashSlot // 47 ColonSlot // 58 (14) SemiSlot // 59 LtGtSlot // 60, 62 EqualSlot // 61 QuestionSlot // 63 AtSlot // 64 (19) BackslashSlot // 92 (20) SquareBracketSlot // 91, 93 (21) PowerSlot // 94 UnderscoreSlot // 95 AccentSlot // 96 PipeSlot // 124 (25) CurlyBracketSlot // 123, 125 (26) HomeSlot // 126 (27) Unused_1_Slot // (28) Unused_2_Slot // (29) CommentsSlot // (30) HexSlot // (31) // --------------------------- up to here are flags LetterSlot // (32) DigitSlot // (33) NonReadableSlot // (34) SpaceSlot // (35) )
const ( KindEmpty = "" KindObject = "object" KindArray = "array" KindNumber = "number" KindBoolean = "boolean" KindString = "string" KindMulti = "multi" )
Variables ¶
var ( // SchemeBuilder initializes a scheme builder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var AsciiFlagNames = []string{
SpaceSlot: "Space",
ExclamationSlot: "Exclamation",
DoubleQuoteSlot: "DoubleQuote",
NumberSlot: "NumberSign",
DollarSlot: "DollarSign",
PercentSlot: "PercentSign",
SingleQuoteSlot: "SingleQuote",
RoundBracketSlot: "RoundBracket",
AsteriskSlot: "MultiplySign",
PlusSlot: "PlusSign",
AtSlot: "CommentSign",
MinusSlot: "MinusSign",
PeriodSlot: "DotSign",
SlashSlot: "DivideSign",
ColonSlot: "ColonSign",
SemiSlot: "SemicolonSign",
LtGtSlot: "Less/GreaterThanSign",
EqualSlot: "EqualSign",
QuestionSlot: "QuestionMark",
CommaSlot: "CommaSign",
SquareBracketSlot: "SquareBracket",
BackslashSlot: "ReverseDivideSign",
PowerSlot: "PowerSign",
UnderscoreSlot: "UnderscoreSign",
AccentSlot: "AccentSign",
CurlyBracketSlot: "CurlyBracket",
PipeSlot: "PipeSign",
NonReadableSlot: "NonReadableChar",
CommentsSlot: "CommentsCombination",
HexSlot: "HexCombination",
}
var SchemeGroupVersion = schema.GroupVersion{Group: guard.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func IpNetFromProc ¶
Given a protocol {tcp|udp|udpite|tcp6|udp6|tcplite6} get the list of Remote Ips from /proc/net
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AsciiFlagsConfig ¶
type AsciiFlagsConfig uint32
Exposes ValueConfig interface
func (*AsciiFlagsConfig) Decide ¶
func (config *AsciiFlagsConfig) Decide(profile AsciiFlagsProfile) string
func (*AsciiFlagsConfig) Fuse ¶
func (config *AsciiFlagsConfig) Fuse(otherConfig AsciiFlagsConfig)
func (*AsciiFlagsConfig) Learn ¶
func (config *AsciiFlagsConfig) Learn(pile AsciiFlagsPile)
type AsciiFlagsPile ¶
type AsciiFlagsPile uint32
Exposes ValuePile interface
func (*AsciiFlagsPile) Add ¶
func (pile *AsciiFlagsPile) Add(profile AsciiFlagsProfile)
func (*AsciiFlagsPile) Clear ¶
func (pile *AsciiFlagsPile) Clear()
func (*AsciiFlagsPile) Merge ¶
func (pile *AsciiFlagsPile) Merge(otherPile AsciiFlagsPile)
type AsciiFlagsProfile ¶
type AsciiFlagsProfile uint32
Exposes ValueProfile interface
func (*AsciiFlagsProfile) Profile ¶
func (profile *AsciiFlagsProfile) Profile(val uint32)
type BodyConfig ¶
type BodyConfig struct { Unstructured *SimpleValConfig `json:"unstructured"` Structured *StructuredConfig `json:"structured"` }
Exposes ValueConfig interface
func (*BodyConfig) Decide ¶
func (config *BodyConfig) Decide(profile *BodyProfile) string
func (*BodyConfig) DeepCopy ¶
func (in *BodyConfig) DeepCopy() *BodyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BodyConfig.
func (*BodyConfig) DeepCopyInto ¶
func (in *BodyConfig) DeepCopyInto(out *BodyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BodyConfig) Fuse ¶
func (config *BodyConfig) Fuse(otherConfig *BodyConfig)
func (*BodyConfig) Learn ¶
func (config *BodyConfig) Learn(pile *BodyPile)
type BodyPile ¶
type BodyPile struct { Unstructured *SimpleValPile `json:"unstructured"` Structured *StructuredPile `json:"structured"` }
Exposes ValuePile interface
func (*BodyPile) Add ¶
func (pile *BodyPile) Add(profile *BodyProfile)
func (*BodyPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BodyPile.
func (*BodyPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BodyProfile ¶
type BodyProfile struct { Unstructured *SimpleValProfile `json:"unstructured"` Structured *StructuredProfile `json:"structured"` }
Exposes ValueProfile interface
func (*BodyProfile) DeepCopy ¶
func (in *BodyProfile) DeepCopy() *BodyProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BodyProfile.
func (*BodyProfile) DeepCopyInto ¶
func (in *BodyProfile) DeepCopyInto(out *BodyProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BodyProfile) ProfileStructured ¶
func (profile *BodyProfile) ProfileStructured(data interface{})
func (*BodyProfile) ProfileUnstructured ¶
func (profile *BodyProfile) ProfileUnstructured(str string)
type CIDR ¶
func (*CIDR) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CIDR.
func (*CIDR) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CountConfig ¶
type CountConfig []countRange
Exposes ValueConfig interface
func (*CountConfig) Decide ¶
func (config *CountConfig) Decide(profile CountProfile) string
func (CountConfig) DeepCopy ¶
func (in CountConfig) DeepCopy() CountConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CountConfig.
func (CountConfig) DeepCopyInto ¶
func (in CountConfig) DeepCopyInto(out *CountConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CountConfig) Fuse ¶
func (config *CountConfig) Fuse(otherConfig CountConfig)
func (*CountConfig) Learn ¶
func (config *CountConfig) Learn(pile CountPile)
type CountPile ¶
type CountPile []uint8
Exposes ValuePile interface
func (*CountPile) Add ¶
func (pile *CountPile) Add(profile CountProfile)
func (CountPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CountPile.
func (CountPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CountProfile ¶
type CountProfile uint8
Exposes ValueProfile interface
func (*CountProfile) Profile ¶
func (profile *CountProfile) Profile(val uint8)
type Ctrl ¶
type Ctrl struct { Alert bool `json:"alert"` // If true, use SessionDataConfig to identify alerts Block bool `json:"block"` // If true, block on alert. Learn bool `json:"learn"` // If true, and no alert identified, report piles Force bool `json:"force"` // If true, learning is done even when alert identified, report piles Auto bool `json:"auto"` // If true, use learned SessionDataConfig rather than configured SessionDataConfig }
func (*Ctrl) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ctrl.
func (*Ctrl) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvelopConfig ¶
type EnvelopConfig struct { ResponseTime CountConfig `json:"responsetime"` CompletionTime CountConfig `json:"completiontime"` }
Exposes ValueConfig interface
func (*EnvelopConfig) Decide ¶
func (config *EnvelopConfig) Decide(profile *EnvelopProfile) string
func (*EnvelopConfig) DeepCopy ¶
func (in *EnvelopConfig) DeepCopy() *EnvelopConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvelopConfig.
func (*EnvelopConfig) DeepCopyInto ¶
func (in *EnvelopConfig) DeepCopyInto(out *EnvelopConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvelopConfig) Fuse ¶
func (config *EnvelopConfig) Fuse(otherConfig *EnvelopConfig)
func (*EnvelopConfig) Learn ¶
func (config *EnvelopConfig) Learn(pile *EnvelopPile)
type EnvelopPile ¶
type EnvelopPile struct { ResponseTime CountPile `json:"responsetime"` CompletionTime CountPile `json:"completiontime"` }
Exposes ValuePile interface
func (*EnvelopPile) Add ¶
func (pile *EnvelopPile) Add(profile *EnvelopProfile)
func (*EnvelopPile) Clear ¶
func (pile *EnvelopPile) Clear()
func (*EnvelopPile) DeepCopy ¶
func (in *EnvelopPile) DeepCopy() *EnvelopPile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvelopPile.
func (*EnvelopPile) DeepCopyInto ¶
func (in *EnvelopPile) DeepCopyInto(out *EnvelopPile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvelopPile) Merge ¶
func (pile *EnvelopPile) Merge(otherPile *EnvelopPile)
type EnvelopProfile ¶
type EnvelopProfile struct { ResponseTime CountProfile `json:"responsetime"` CompletionTime CountProfile `json:"completiontime"` }
Exposes ValueProfile interface
func (*EnvelopProfile) DeepCopy ¶
func (in *EnvelopProfile) DeepCopy() *EnvelopProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvelopProfile.
func (*EnvelopProfile) DeepCopyInto ¶
func (in *EnvelopProfile) DeepCopyInto(out *EnvelopProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FlagSliceConfig ¶
type FlagSliceConfig []uint32
Exposes ValueConfig interface
func (*FlagSliceConfig) Decide ¶
func (config *FlagSliceConfig) Decide(profile FlagSliceProfile) string
func (FlagSliceConfig) DeepCopy ¶
func (in FlagSliceConfig) DeepCopy() FlagSliceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagSliceConfig.
func (FlagSliceConfig) DeepCopyInto ¶
func (in FlagSliceConfig) DeepCopyInto(out *FlagSliceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlagSliceConfig) Fuse ¶
func (config *FlagSliceConfig) Fuse(otherConfig FlagSliceConfig)
func (*FlagSliceConfig) Learn ¶
func (config *FlagSliceConfig) Learn(pile FlagSlicePile)
type FlagSlicePile ¶
type FlagSlicePile []uint32
Exposes ValuePile interface
func (*FlagSlicePile) Add ¶
func (pile *FlagSlicePile) Add(profile FlagSliceProfile)
func (*FlagSlicePile) Clear ¶
func (pile *FlagSlicePile) Clear()
func (FlagSlicePile) DeepCopy ¶
func (in FlagSlicePile) DeepCopy() FlagSlicePile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagSlicePile.
func (FlagSlicePile) DeepCopyInto ¶
func (in FlagSlicePile) DeepCopyInto(out *FlagSlicePile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlagSlicePile) Merge ¶
func (pile *FlagSlicePile) Merge(otherPile FlagSlicePile)
type FlagSliceProfile ¶
type FlagSliceProfile []uint32
Exposes ValueProfile interface
func (FlagSliceProfile) DeepCopy ¶
func (in FlagSliceProfile) DeepCopy() FlagSliceProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlagSliceProfile.
func (FlagSliceProfile) DeepCopyInto ¶
func (in FlagSliceProfile) DeepCopyInto(out *FlagSliceProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FlagSliceProfile) Profile ¶
func (profile *FlagSliceProfile) Profile(vals []uint32)
type Guardian ¶
type Guardian struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec *GuardianSpec `json:"spec"` }
+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object Guardian is a specification for a Guardian resource
func (*Guardian) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Guardian.
func (*Guardian) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Guardian) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GuardianList ¶
type GuardianList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Guardian `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object GuardianList is a list of Guardian resources
func (*GuardianList) DeepCopy ¶
func (in *GuardianList) DeepCopy() *GuardianList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardianList.
func (*GuardianList) DeepCopyInto ¶
func (in *GuardianList) DeepCopyInto(out *GuardianList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GuardianList) DeepCopyObject ¶
func (in *GuardianList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GuardianSpec ¶
type GuardianSpec struct { Configured *SessionDataConfig `json:"configured"` // configrued criteria Learned *SessionDataConfig `json:"learned,omitempty"` // Learned citeria Control *Ctrl `json:"control"` // Control }
func (*GuardianSpec) DeepCopy ¶
func (in *GuardianSpec) DeepCopy() *GuardianSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuardianSpec.
func (*GuardianSpec) DeepCopyInto ¶
func (in *GuardianSpec) DeepCopyInto(out *GuardianSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GuardianSpec) SetToMaximalAutomation ¶
func (g *GuardianSpec) SetToMaximalAutomation()
AutoActivate is a Guardian operation mode that is useful for security automation of new services
type HeadersConfig ¶
type HeadersConfig struct {
Kv KeyValConfig `json:"kv"`
}
Exposes ValueConfig interface
func (*HeadersConfig) Decide ¶
func (config *HeadersConfig) Decide(profile *HeadersProfile) string
func (*HeadersConfig) DeepCopy ¶
func (in *HeadersConfig) DeepCopy() *HeadersConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeadersConfig.
func (*HeadersConfig) DeepCopyInto ¶
func (in *HeadersConfig) DeepCopyInto(out *HeadersConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HeadersConfig) Fuse ¶
func (config *HeadersConfig) Fuse(otherConfig *HeadersConfig)
func (*HeadersConfig) Learn ¶
func (config *HeadersConfig) Learn(pile *HeadersPile)
type HeadersPile ¶
type HeadersPile struct {
Kv *KeyValPile `json:"kv"`
}
Exposes ValuePile interface
func (*HeadersPile) Add ¶
func (pile *HeadersPile) Add(profile *HeadersProfile)
func (*HeadersPile) Clear ¶
func (pile *HeadersPile) Clear()
func (*HeadersPile) DeepCopy ¶
func (in *HeadersPile) DeepCopy() *HeadersPile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeadersPile.
func (*HeadersPile) DeepCopyInto ¶
func (in *HeadersPile) DeepCopyInto(out *HeadersPile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HeadersPile) Merge ¶
func (pile *HeadersPile) Merge(otherPile *HeadersPile)
type HeadersProfile ¶
type HeadersProfile struct {
Kv KeyValProfile `json:"kv"`
}
Exposes ValueProfile interface
func (*HeadersProfile) DeepCopy ¶
func (in *HeadersProfile) DeepCopy() *HeadersProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeadersProfile.
func (*HeadersProfile) DeepCopyInto ¶
func (in *HeadersProfile) DeepCopyInto(out *HeadersProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HeadersProfile) Profile ¶
func (profile *HeadersProfile) Profile(headers http.Header)
type IpSetConfig ¶
type IpSetConfig []CIDR
Exposes ValueConfig interface
func (*IpSetConfig) Decide ¶
func (config *IpSetConfig) Decide(profile *IpSetProfile) string
func (IpSetConfig) DeepCopy ¶
func (in IpSetConfig) DeepCopy() IpSetConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpSetConfig.
func (IpSetConfig) DeepCopyInto ¶
func (in IpSetConfig) DeepCopyInto(out *IpSetConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IpSetConfig) Fuse ¶
func (config *IpSetConfig) Fuse(otherConfig *IpSetConfig)
func (*IpSetConfig) Learn ¶
func (config *IpSetConfig) Learn(pile *IpSetPile)
type IpSetPile ¶
Exposes ValuePile interface During json.Marshal(), IpSetPile exposes only the List After json.Unmarshal(), the map will be nil even when the List is not empty If the map is nil, it should be populated from the information in List If the map is populated it is always kept in-sync with the information in List
func (*IpSetPile) Add ¶
func (pile *IpSetPile) Add(profile *IpSetProfile)
func (*IpSetPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpSetPile.
func (*IpSetPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IpSetProfile ¶
Exposes ValueProfile interface
func (IpSetProfile) DeepCopy ¶
func (in IpSetProfile) DeepCopy() IpSetProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpSetProfile.
func (IpSetProfile) DeepCopyInto ¶
func (in IpSetProfile) DeepCopyInto(out *IpSetProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IpSetProfile) ProfileIP ¶
func (profile *IpSetProfile) ProfileIP(ip net.IP)
func (*IpSetProfile) ProfileIPSlice ¶
func (profile *IpSetProfile) ProfileIPSlice(ipSlice []net.IP)
func (*IpSetProfile) ProfileString ¶
func (profile *IpSetProfile) ProfileString(str string)
type KeyValConfig ¶
type KeyValConfig struct { Vals map[string]*SimpleValConfig `json:"vals"` // Profile the value of known keys OtherVals *SimpleValConfig `json:"otherVals"` // Profile the values of other keys OtherKeynames *SimpleValConfig `json:"otherKeynames"` // Profile the keynames of other keys }
Exposes ValueConfig interface
func (*KeyValConfig) Decide ¶
func (config *KeyValConfig) Decide(profile *KeyValProfile) string
func (*KeyValConfig) DeepCopy ¶
func (in *KeyValConfig) DeepCopy() *KeyValConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyValConfig.
func (*KeyValConfig) DeepCopyInto ¶
func (in *KeyValConfig) DeepCopyInto(out *KeyValConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeyValConfig) Fuse ¶
func (config *KeyValConfig) Fuse(otherConfig *KeyValConfig)
func (*KeyValConfig) Learn ¶
func (config *KeyValConfig) Learn(pile *KeyValPile)
type KeyValPile ¶
type KeyValPile map[string]*SimpleValPile
Exposes ValuePile interface
func (*KeyValPile) Add ¶
func (pile *KeyValPile) Add(profile *KeyValProfile)
func (*KeyValPile) Clear ¶
func (pile *KeyValPile) Clear()
func (KeyValPile) DeepCopy ¶
func (in KeyValPile) DeepCopy() KeyValPile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyValPile.
func (KeyValPile) DeepCopyInto ¶
func (in KeyValPile) DeepCopyInto(out *KeyValPile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeyValPile) Merge ¶
func (pile *KeyValPile) Merge(otherPile *KeyValPile)
type KeyValProfile ¶
type KeyValProfile map[string]*SimpleValProfile
Exposes ValueProfile interface
func (KeyValProfile) DeepCopy ¶
func (in KeyValProfile) DeepCopy() KeyValProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyValProfile.
func (KeyValProfile) DeepCopyInto ¶
func (in KeyValProfile) DeepCopyInto(out *KeyValProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeyValProfile) ProfileMapString ¶
func (profile *KeyValProfile) ProfileMapString(keyValMap map[string]string)
func (*KeyValProfile) ProfileMapStringSlice ¶
func (profile *KeyValProfile) ProfileMapStringSlice(keyValMap map[string][]string)
type MediaTypeConfig ¶
type MediaTypeConfig struct { TypeTokens SetConfig `json:"type"` Params KeyValConfig `json:"params"` }
Exposes ValueConfig interface
func (*MediaTypeConfig) Decide ¶
func (config *MediaTypeConfig) Decide(profile *MediaTypeProfile) string
func (*MediaTypeConfig) DeepCopy ¶
func (in *MediaTypeConfig) DeepCopy() *MediaTypeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MediaTypeConfig.
func (*MediaTypeConfig) DeepCopyInto ¶
func (in *MediaTypeConfig) DeepCopyInto(out *MediaTypeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MediaTypeConfig) Fuse ¶
func (config *MediaTypeConfig) Fuse(otherConfig *MediaTypeConfig)
func (*MediaTypeConfig) Learn ¶
func (config *MediaTypeConfig) Learn(pile *MediaTypePile)
type MediaTypePile ¶
type MediaTypePile struct { TypeTokens SetPile `json:"type"` Params KeyValPile `json:"params"` }
Exposes ValuePile interface
func (*MediaTypePile) Add ¶
func (pile *MediaTypePile) Add(profile *MediaTypeProfile)
func (*MediaTypePile) Clear ¶
func (pile *MediaTypePile) Clear()
func (*MediaTypePile) DeepCopy ¶
func (in *MediaTypePile) DeepCopy() *MediaTypePile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MediaTypePile.
func (*MediaTypePile) DeepCopyInto ¶
func (in *MediaTypePile) DeepCopyInto(out *MediaTypePile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MediaTypePile) Merge ¶
func (pile *MediaTypePile) Merge(otherPile *MediaTypePile)
type MediaTypeProfile ¶
type MediaTypeProfile struct { TypeTokens SetProfile `json:"type"` // "text/html" Params KeyValProfile `json:"params"` // {"charset": "utf-8"} }
Exposes ValueProfile interface TypeToken include rfc7231 type "/" subtype
func (*MediaTypeProfile) DeepCopy ¶
func (in *MediaTypeProfile) DeepCopy() *MediaTypeProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MediaTypeProfile.
func (*MediaTypeProfile) DeepCopyInto ¶
func (in *MediaTypeProfile) DeepCopyInto(out *MediaTypeProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MediaTypeProfile) Profile ¶
func (profile *MediaTypeProfile) Profile(str string)
type PodConfig ¶
type PodConfig struct { Tcp4Peers IpSetConfig `json:"tcp4peers"` // from /proc/net/tcp Udp4Peers IpSetConfig `json:"udp4peers"` // from /proc/net/udp Udplite4Peers IpSetConfig `json:"udplite4peers"` // from /proc/udpline Tcp6Peers IpSetConfig `json:"tcp6peers"` // from /proc/net/tcp6 Udp6Peers IpSetConfig `json:"udp6peers"` // from /proc/net/udp6 Udplite6Peers IpSetConfig `json:"udplite6peers"` // from /proc/net/udpline6 }
Exposes ValueConfig interface
func (*PodConfig) Decide ¶
func (config *PodConfig) Decide(profile *PodProfile) string
func (*PodConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodConfig.
func (*PodConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodPile ¶
type PodPile struct { Tcp4Peers IpSetPile `json:"tcp4peers"` // from /proc/net/tcp Udp4Peers IpSetPile `json:"udp4peers"` // from /proc/net/udp Udplite4Peers IpSetPile `json:"udplite4peers"` // from /proc/udpline Tcp6Peers IpSetPile `json:"tcp6peers"` // from /proc/net/tcp6 Udp6Peers IpSetPile `json:"udp6peers"` // from /proc/net/udp6 Udplite6Peers IpSetPile `json:"udplite6peers"` // from /proc/net/udpline6 }
Exposes ValuePile interface
func (*PodPile) Add ¶
func (pile *PodPile) Add(profile *PodProfile)
func (*PodPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodPile.
func (*PodPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodProfile ¶
type PodProfile struct { // from local /proc/net (same net namespace) Tcp4Peers IpSetProfile `json:"tcp4peers"` // from /proc/net/tcp Udp4Peers IpSetProfile `json:"udp4peers"` // from /proc/net/udp Udplite4Peers IpSetProfile `json:"udplite4peers"` // from /proc/udpline Tcp6Peers IpSetProfile `json:"tcp6peers"` // from /proc/net/tcp6 Udp6Peers IpSetProfile `json:"udp6peers"` // from /proc/net/udp6 Udplite6Peers IpSetProfile `json:"udplite6peers"` // from /proc/net/udpline6 }
Exposes ValueProfile interface Support monitoring /proc/net Ips Future support for monitoring /proc/<PID>, /proc/<PID>/fd, /proc/*/cmdline, /proc/<PID>/io while sharing Process Namespace...
func (*PodProfile) DeepCopy ¶
func (in *PodProfile) DeepCopy() *PodProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodProfile.
func (*PodProfile) DeepCopyInto ¶
func (in *PodProfile) DeepCopyInto(out *PodProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodProfile) Profile ¶
func (profile *PodProfile) Profile(args ...interface{})
type QueryConfig ¶
type QueryConfig struct {
Kv KeyValConfig `json:"kv"`
}
Exposes ValueConfig interface
func (*QueryConfig) Decide ¶
func (config *QueryConfig) Decide(profile *QueryProfile) string
func (*QueryConfig) DeepCopy ¶
func (in *QueryConfig) DeepCopy() *QueryConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryConfig.
func (*QueryConfig) DeepCopyInto ¶
func (in *QueryConfig) DeepCopyInto(out *QueryConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QueryConfig) Fuse ¶
func (config *QueryConfig) Fuse(otherConfig *QueryConfig)
func (*QueryConfig) Learn ¶
func (config *QueryConfig) Learn(pile *QueryPile)
type QueryPile ¶
type QueryPile struct {
Kv *KeyValPile `json:"kv"`
}
Exposes ValuePile interface
func (*QueryPile) Add ¶
func (pile *QueryPile) Add(profile *QueryProfile)
func (*QueryPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryPile.
func (*QueryPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QueryProfile ¶
type QueryProfile struct {
Kv KeyValProfile `json:"kv"`
}
Exposes ValueProfile interface
func (*QueryProfile) DeepCopy ¶
func (in *QueryProfile) DeepCopy() *QueryProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryProfile.
func (*QueryProfile) DeepCopyInto ¶
func (in *QueryProfile) DeepCopyInto(out *QueryProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QueryProfile) Profile ¶
func (profile *QueryProfile) Profile(values url.Values)
type ReqConfig ¶
type ReqConfig struct { ClientIp IpSetConfig `json:"cip"` // subnets for external IPs (normally empty) HopIp IpSetConfig `json:"hopip"` // subnets for external IPs Method SetConfig `json:"method"` // GET Proto SetConfig `json:"proto"` // "HTTP/1.1" MediaType MediaTypeConfig `json:"mediatype"` // "text/html" ContentLength CountConfig `json:"contentlength"` // 0 Url UrlConfig `json:"url"` Qs QueryConfig `json:"qs"` Headers HeadersConfig `json:"headers"` }
Exposes ValueConfig interface
func (*ReqConfig) Decide ¶
func (config *ReqConfig) Decide(profile *ReqProfile) string
func (*ReqConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReqConfig.
func (*ReqConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReqPile ¶
type ReqPile struct { ClientIp IpSetPile `json:"cip"` // 192.168.32.1 HopIp IpSetPile `json:"hopip"` // 1.2.3.4 Method SetPile `json:"method"` // GET Proto SetPile `json:"proto"` // "HTTP/1.1" MediaType MediaTypePile `json:"mediatype"` // "text/html" ContentLength CountPile `json:"contentlength"` // 0 Url UrlPile `json:"url"` Qs QueryPile `json:"qs"` Headers HeadersPile `json:"headers"` }
Exposes ValuePile interface
func (*ReqPile) Add ¶
func (pile *ReqPile) Add(profile *ReqProfile)
func (*ReqPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReqPile.
func (*ReqPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReqProfile ¶
type ReqProfile struct { ClientIp IpSetProfile `json:"cip"` // 192.168.32.1 HopIp IpSetProfile `json:"hopip"` // 1.2.3.4 Method SetProfile `json:"method"` // GET Proto SetProfile `json:"proto"` // "HTTP/1.1" MediaType MediaTypeProfile `json:"mediatype"` // "text/html" ContentLength CountProfile `json:"contentlength"` // 0 Url UrlProfile `json:"url"` Qs QueryProfile `json:"qs"` Headers HeadersProfile `json:"headers"` }
Exposes ValueProfile interface
func (*ReqProfile) DeepCopy ¶
func (in *ReqProfile) DeepCopy() *ReqProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReqProfile.
func (*ReqProfile) DeepCopyInto ¶
func (in *ReqProfile) DeepCopyInto(out *ReqProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RespConfig ¶
type RespConfig struct { Headers HeadersConfig `json:"headers"` MediaType MediaTypeConfig `json:"mediatype"` ContentLength CountConfig `json:"contentlength"` }
Exposes ValueConfig interface
func (*RespConfig) Decide ¶
func (config *RespConfig) Decide(profile *RespProfile) string
func (*RespConfig) DeepCopy ¶
func (in *RespConfig) DeepCopy() *RespConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RespConfig.
func (*RespConfig) DeepCopyInto ¶
func (in *RespConfig) DeepCopyInto(out *RespConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RespConfig) Fuse ¶
func (config *RespConfig) Fuse(otherConfig *RespConfig)
func (*RespConfig) Learn ¶
func (config *RespConfig) Learn(pile *RespPile)
type RespPile ¶
type RespPile struct { Headers HeadersPile `json:"headers"` MediaType MediaTypePile `json:"mediatype"` ContentLength CountPile `json:"contentlength"` }
Exposes ValuePile interface
func (*RespPile) Add ¶
func (pile *RespPile) Add(profile *RespProfile)
func (*RespPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RespPile.
func (*RespPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RespProfile ¶
type RespProfile struct { Headers HeadersProfile `json:"headers"` MediaType MediaTypeProfile `json:"mediatype"` // "text/html" ContentLength CountProfile `json:"contentlength"` // 0 }
Exposes ValueProfile interface
func (*RespProfile) DeepCopy ¶
func (in *RespProfile) DeepCopy() *RespProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RespProfile.
func (*RespProfile) DeepCopyInto ¶
func (in *RespProfile) DeepCopyInto(out *RespProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RespProfile) Profile ¶
func (profile *RespProfile) Profile(resp *http.Response)
type SessionDataConfig ¶
type SessionDataConfig struct { Active bool `json:"active"` // If not active, criteria ignored Req ReqConfig `json:"req"` // Request criteria for blocking/allowing Resp RespConfig `json:"resp"` // Response criteria for blocking/allowing ReqBody BodyConfig `json:"reqbody"` // Request body criteria for blocking/allowing RespBody BodyConfig `json:"respbody"` // Response body criteria for blocking/allowing Envelop EnvelopConfig `json:"envelop"` // Envelop criteria for blocking/allowing Pod PodConfig `json:"pod"` // Pod criteria for blocking/allowing }
Exposes ValueConfig interface
func (*SessionDataConfig) Decide ¶
func (config *SessionDataConfig) Decide(profile *SessionDataProfile) string
func (*SessionDataConfig) DeepCopy ¶
func (in *SessionDataConfig) DeepCopy() *SessionDataConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionDataConfig.
func (*SessionDataConfig) DeepCopyInto ¶
func (in *SessionDataConfig) DeepCopyInto(out *SessionDataConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SessionDataConfig) Fuse ¶
func (config *SessionDataConfig) Fuse(otherConfig *SessionDataConfig)
func (*SessionDataConfig) Learn ¶
func (config *SessionDataConfig) Learn(pile *SessionDataPile)
type SessionDataPile ¶
type SessionDataPile struct { Count uint32 `json:"count"` Req ReqPile `json:"req"` Resp RespPile `json:"resp"` ReqBody BodyPile `json:"reqbody"` RespBody BodyPile `json:"respbody"` Envelop EnvelopPile `json:"envelop"` Pod PodPile `json:"pod"` }
Exposes ValuePile interface
func (*SessionDataPile) Add ¶
func (pile *SessionDataPile) Add(profile *SessionDataProfile)
func (*SessionDataPile) Clear ¶
func (pile *SessionDataPile) Clear()
func (*SessionDataPile) DeepCopy ¶
func (in *SessionDataPile) DeepCopy() *SessionDataPile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionDataPile.
func (*SessionDataPile) DeepCopyInto ¶
func (in *SessionDataPile) DeepCopyInto(out *SessionDataPile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SessionDataPile) Merge ¶
func (pile *SessionDataPile) Merge(otherPile *SessionDataPile)
type SessionDataProfile ¶
type SessionDataProfile struct { Req ReqProfile `json:"req"` Resp RespProfile `json:"resp"` ReqBody BodyProfile `json:"reqbody"` RespBody BodyProfile `json:"respbody"` Envelop EnvelopProfile `json:"envelop"` Pod PodProfile `json:"pod"` }
Exposes ValueProfile interface
func (*SessionDataProfile) DeepCopy ¶
func (in *SessionDataProfile) DeepCopy() *SessionDataProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionDataProfile.
func (*SessionDataProfile) DeepCopyInto ¶
func (in *SessionDataProfile) DeepCopyInto(out *SessionDataProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SetConfig ¶
type SetConfig struct { List []string `json:"set"` // contains filtered or unexported fields }
Exposes ValueConfig interface During json.Marshal(), SetConfig exposes only the List After json.Unmarshal(), the map will be nil even when the List is not empty If the map is nil, it should be populated from the information in List If the map is populated it is always kept in-sync with the information in List
func (*SetConfig) Decide ¶
func (config *SetConfig) Decide(profile *SetProfile) string
func (*SetConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SetConfig.
func (*SetConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SetPile ¶
type SetPile struct { List []string `json:"set"` // contains filtered or unexported fields }
Exposes ValuePile interface During json.Marshal(), SetPile exposes only the List After json.Unmarshal(), the map will be nil even when the List is not empty If the map is nil, it should be populated from the information in List If the map is populated it is always kept in-sync with the information in List
func (*SetPile) Add ¶
func (pile *SetPile) Add(profile *SetProfile)
func (*SetPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SetPile.
func (*SetPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SetProfile ¶
type SetProfile []string
Exposes ValueProfile interface A Slice of tokens
func (SetProfile) DeepCopy ¶
func (in SetProfile) DeepCopy() SetProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SetProfile.
func (SetProfile) DeepCopyInto ¶
func (in SetProfile) DeepCopyInto(out *SetProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SetProfile) ProfileString ¶
func (profile *SetProfile) ProfileString(str string)
func (*SetProfile) ProfileStringSlice ¶
func (profile *SetProfile) ProfileStringSlice(strSlice []string)
type SimpleValConfig ¶
type SimpleValConfig struct { Digits CountConfig `json:"digits"` Letters CountConfig `json:"letters"` Spaces CountConfig `json:"spaces"` SpecialChars CountConfig `json:"schars"` NonReadables CountConfig `json:"nonreadables"` Unicodes CountConfig `json:"unicodes"` Sequences CountConfig `json:"sequences"` Flags AsciiFlagsConfig `json:"flags"` UnicodeFlags FlagSliceConfig `json:"unicodeFlags"` }
Exposes ValueConfig interface
func (*SimpleValConfig) Decide ¶
func (config *SimpleValConfig) Decide(profile *SimpleValProfile) string
func (*SimpleValConfig) DeepCopy ¶
func (in *SimpleValConfig) DeepCopy() *SimpleValConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SimpleValConfig.
func (*SimpleValConfig) DeepCopyInto ¶
func (in *SimpleValConfig) DeepCopyInto(out *SimpleValConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SimpleValConfig) Fuse ¶
func (config *SimpleValConfig) Fuse(otherConfig *SimpleValConfig)
func (*SimpleValConfig) Learn ¶
func (config *SimpleValConfig) Learn(pile *SimpleValPile)
type SimpleValPile ¶
type SimpleValPile struct { Digits CountPile Letters CountPile Spaces CountPile SpecialChars CountPile NonReadables CountPile Unicodes CountPile Sequences CountPile Flags AsciiFlagsPile UnicodeFlags FlagSlicePile }
Exposes ValuePile interface
func (*SimpleValPile) Add ¶
func (pile *SimpleValPile) Add(profile *SimpleValProfile)
func (*SimpleValPile) Clear ¶
func (pile *SimpleValPile) Clear()
func (*SimpleValPile) DeepCopy ¶
func (in *SimpleValPile) DeepCopy() *SimpleValPile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SimpleValPile.
func (*SimpleValPile) DeepCopyInto ¶
func (in *SimpleValPile) DeepCopyInto(out *SimpleValPile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SimpleValPile) Merge ¶
func (pile *SimpleValPile) Merge(otherPile *SimpleValPile)
type SimpleValProfile ¶
type SimpleValProfile struct { Digits CountProfile Letters CountProfile Spaces CountProfile SpecialChars CountProfile NonReadables CountProfile Unicodes CountProfile Sequences CountProfile Flags AsciiFlagsProfile UnicodeFlags FlagSliceProfile }
Exposes ValueProfile interface
func (*SimpleValProfile) DeepCopy ¶
func (in *SimpleValProfile) DeepCopy() *SimpleValProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SimpleValProfile.
func (*SimpleValProfile) DeepCopyInto ¶
func (in *SimpleValProfile) DeepCopyInto(out *SimpleValProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SimpleValProfile) Profile ¶
func (profile *SimpleValProfile) Profile(str string)
type StructuredConfig ¶
type StructuredConfig struct { Kind string `json:"kind"` // boolean, number, string, skip, array, object Val *SimpleValConfig `json:"val"` // used for: array, boolean, number, string items Kv map[string]*StructuredConfig `json:"kv"` // used for: object items }
Exposes ValueConfig interface
func (*StructuredConfig) Decide ¶
func (config *StructuredConfig) Decide(profile *StructuredProfile) string
func (*StructuredConfig) DeepCopy ¶
func (in *StructuredConfig) DeepCopy() *StructuredConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StructuredConfig.
func (*StructuredConfig) DeepCopyInto ¶
func (in *StructuredConfig) DeepCopyInto(out *StructuredConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StructuredConfig) Fuse ¶
func (config *StructuredConfig) Fuse(otherConfig *StructuredConfig)
func (*StructuredConfig) Learn ¶
func (config *StructuredConfig) Learn(pile *StructuredPile)
type StructuredPile ¶
type StructuredPile struct { Kind string `json:"kind"` // bool, float64, string, array, map Val *SimpleValPile `json:"val"` // used for: array, boolean, number, string items Kv map[string]*StructuredPile `json:"kv"` // used for: object items }
Exposes ValuePile interface
func (*StructuredPile) Add ¶
func (pile *StructuredPile) Add(profile *StructuredProfile)
func (*StructuredPile) Clear ¶
func (pile *StructuredPile) Clear()
func (*StructuredPile) DeepCopy ¶
func (in *StructuredPile) DeepCopy() *StructuredPile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StructuredPile.
func (*StructuredPile) DeepCopyInto ¶
func (in *StructuredPile) DeepCopyInto(out *StructuredPile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StructuredPile) Merge ¶
func (pile *StructuredPile) Merge(otherPile *StructuredPile)
type StructuredProfile ¶
type StructuredProfile struct { Kind string `json:"kind"` // bool, float64, string, array, map Vals []SimpleValProfile `json:"vals"` // used for: array, boolean, number, string items Kv map[string]*StructuredProfile `json:"kv"` // used for: object items }
Exposes ValueProfile interface
JsonProfile struct - maintain the profile of a json with some structure Data Types: The default Golang data types for decoding and encoding JSON are as follows: bool for JSON booleans. float64 for JSON numbers. string for JSON strings. nil for JSON null. array as JSON array. map or struct as JSON Object.
func (*StructuredProfile) DeepCopy ¶
func (in *StructuredProfile) DeepCopy() *StructuredProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StructuredProfile.
func (*StructuredProfile) DeepCopyInto ¶
func (in *StructuredProfile) DeepCopyInto(out *StructuredProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StructuredProfile) Profile ¶
func (profile *StructuredProfile) Profile(data interface{})
type UrlConfig ¶
type UrlConfig struct { Val SimpleValConfig `json:"val"` Segments CountConfig `json:"segments"` }
Exposes ValueConfig interface
func (*UrlConfig) Decide ¶
func (config *UrlConfig) Decide(profile *UrlProfile) string
func (*UrlConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UrlConfig.
func (*UrlConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UrlPile ¶
type UrlPile struct { Val SimpleValPile `json:"val"` Segments CountPile `json:"segments"` }
Exposes ValuePile interface
func (*UrlPile) Add ¶
func (pile *UrlPile) Add(profile *UrlProfile)
func (*UrlPile) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UrlPile.
func (*UrlPile) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UrlProfile ¶
type UrlProfile struct { Val SimpleValProfile `json:"val"` Segments CountProfile `json:"segments"` }
Exposes ValueProfile interface
func (*UrlProfile) DeepCopy ¶
func (in *UrlProfile) DeepCopy() *UrlProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UrlProfile.
func (*UrlProfile) DeepCopyInto ¶
func (in *UrlProfile) DeepCopyInto(out *UrlProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UrlProfile) Profile ¶
func (profile *UrlProfile) Profile(path string)
type ValueConfig ¶
type ValueConfig interface {
// contains filtered or unexported methods
}
A Config defining what Value should adhere to
type ValuePile ¶
type ValuePile interface { // Clear the pile from all profiles and free any memory held by pile Clear() // contains filtered or unexported methods }
A Pile accumulating information from zero or more Values
type ValueProfile ¶
type ValueProfile interface {
// contains filtered or unexported methods
}
A Profile describing the Value
Source Files ¶
- asciiFlags.go
- body.go
- count.go
- doc.go
- envelop.go
- flagSlice.go
- guardianApi.go
- guardianSpec.go
- httpHeaders.go
- httpMediaType.go
- httpReq.go
- httpResp.go
- ipSet.go
- keyval.go
- pod.go
- queryString.go
- register.go
- sessionData.go
- set.go
- simpleVal.go
- structuredProfiler.go
- url.go
- v1alpha1.go
- zz_generated.deepcopy.go