Documentation ¶
Overview ¶
Copyright 2018 Microsoft. All rights reserved. MIT License
Copyright 2018 Microsoft. All rights reserved. MIT License
Index ¶
- Constants
- Variables
- func AppendMap(base, new map[string]string) map[string]string
- func CompareK8sVer(firstVer *version.Info, secondVer *version.Info) int
- func DropEmptyFields(s []string) []string
- func Exists(filePath string) bool
- func GetClusterID(nodeName string) string
- func GetHashedName(name string) string
- func GetLabelsWithoutOperators(labels []string) []string
- func GetOperatorAndLabel(label string) (string, string)
- func Hash(s string) string
- func IsNewNwPolicyVer(ver *version.Info) (bool, error)
- func SetIsNewNwPolicyVerFlag(ver *version.Info) error
- func SortMap(m *map[string]string) ([]string, []string)
- func UniqueStrSlice(s []string) []string
Constants ¶
const ( KubeSystemFlag string = "kube-system" KubePodTemplateHashFlag string = "pod-template-hash" KubeAllPodsFlag string = "all-pod" KubeAllNamespacesFlag string = "all-namespaces" KubeAppFlag string = "k8s-app" KubeProxyFlag string = "kube-proxy" KubePodStatusFailedFlag string = "Failed" KubePodStatusSucceededFlag string = "Succeeded" KubePodStatusUnknownFlag string = "Unknown" )
kubernetes related constants.
const ( Iptables string = "iptables" Ip6tables string = "ip6tables" IptablesSave string = "iptables-save" IptablesRestore string = "iptables-restore" IptablesConfigFile string = "/var/log/iptables.conf" IptablesTestConfigFile string = "/var/log/iptables-test.conf" IptablesLockFile string = "/run/xtables.lock" IptablesChainCreationFlag string = "-N" IptablesInsertionFlag string = "-I" IptablesAppendFlag string = "-A" IptablesDeletionFlag string = "-D" IptablesFlushFlag string = "-F" IptablesCheckFlag string = "-C" IptablesDestroyFlag string = "-X" IptablesJumpFlag string = "-j" IptablesWaitFlag string = "-w" IptablesAccept string = "ACCEPT" IptablesReject string = "REJECT" IptablesDrop string = "DROP" IptablesSrcFlag string = "src" IptablesDstFlag string = "dst" IptablesNotFlag string = "!" IptablesProtFlag string = "-p" IptablesSFlag string = "-s" IptablesDFlag string = "-d" IptablesDstPortFlag string = "--dport" IptablesModuleFlag string = "-m" IptablesSetModuleFlag string = "set" IptablesMatchSetFlag string = "--match-set" IptablesStateModuleFlag string = "state" IptablesStateFlag string = "--state" IptablesMultiportFlag string = "multiport" IptablesMultiDestportFlag string = "--dports" IptablesRelatedState string = "RELATED" IptablesEstablishedState string = "ESTABLISHED" IptablesFilterTable string = "filter" IptablesCommentModuleFlag string = "comment" IptablesCommentFlag string = "--comment" IptablesAddCommentFlag IptablesAzureChain string = "AZURE-NPM" IptablesAzureKubeSystemChain string = "AZURE-NPM-KUBE-SYSTEM" IptablesAzureIngressPortChain string = "AZURE-NPM-INGRESS-PORT" IptablesAzureIngressFromChain string = "AZURE-NPM-INGRESS-FROM" IptablesAzureEgressPortChain string = "AZURE-NPM-EGRESS-PORT" IptablesAzureEgressToChain string = "AZURE-NPM-EGRESS-TO" IptablesAzureTargetSetsChain string = "AZURE-NPM-TARGET-SETS" IptablesForwardChain string = "FORWARD" IptablesInputChain string = "INPUT" // Below chains exists only for before Azure-NPM:v1.0.27 // and should be removed after a baking period. IptablesAzureIngressFromNsChain string = "AZURE-NPM-INGRESS-FROM-NS" IptablesAzureIngressFromPodChain string = "AZURE-NPM-INGRESS-FROM-POD" IptablesAzureEgressToNsChain string = "AZURE-NPM-EGRESS-TO-NS" IptablesAzureEgressToPodChain string = "AZURE-NPM-EGRESS-TO-POD" )
iptables related constants.
const ( Ipset string = "ipset" IpsetSaveFlag string = "save" IpsetRestoreFlag string = "restore" IpsetConfigFile string = "/var/log/ipset.conf" IpsetTestConfigFile string = "/var/log/ipset-test.conf" IpsetCreationFlag string = "-N" IpsetAppendFlag string = "-A" IpsetDeletionFlag string = "-D" IpsetFlushFlag string = "-F" IpsetDestroyFlag string = "-X" IpsetExistFlag string = "-exist" IpsetFileFlag string = "-file" IpsetSetListFlag string = "setlist" IpsetNetHashFlag string = "nethash" AzureNpmFlag string = "azure-npm" AzureNpmPrefix string = "azure-npm-" )
ipset related constants.
const ( AddNamespaceEvent string = "Add Namespace" UpdateNamespaceEvent string = "Update Namespace" DeleteNamespaceEvent string = "Delete Namespace" AddPodEvent string = "Add Pod" UpdatePodEvent string = "Update Pod" DeletePodEvent string = "Delete Pod" AddNetworkPolicyEvent string = "Add network policy" UpdateNetworkPolicyEvent string = "Update network policy" DeleteNetworkPolicyEvent string = "Delete network policy" )
NPM telemetry constants.
Variables ¶
var IsNewNwPolicyVerFlag = false
IsNewNwPolicyVerFlag indicates if the current kubernetes version is newer than 1.11 or not
Functions ¶
func CompareK8sVer ¶
CompareK8sVer compares two k8s versions. returns -1, 0, 1 if firstVer smaller, equals, bigger than secondVer respectively. returns -2 for error.
func DropEmptyFields ¶
DropEmptyFields deletes empty entries from a slice.
func GetClusterID ¶
GetClusterID retrieves cluster ID through node name. (Azure-specific)
func GetHashedName ¶
GetHashedName returns hashed ipset name.
func GetLabelsWithoutOperators ¶
GetLabelsWithoutOperators returns labels without operators.
func GetOperatorAndLabel ¶
GetOperatorAndLabel returns the operator associated with the label and the label without operator.
func IsNewNwPolicyVer ¶
IsNewNwPolicyVer checks if the current k8s version >= 1.11, if so, then the networkPolicy should support 'AND' between namespaceSelector & podSelector.
func SetIsNewNwPolicyVerFlag ¶
SetIsNewNwPolicyVerFlag sets IsNewNwPolicyVerFlag variable depending on version.
func SortMap ¶
SortMap sorts the map by key in alphabetical order. Note: even though the map is sorted, accessing it through range will still result in random order.
func UniqueStrSlice ¶
UniqueStrSlice removes duplicate elements from the input string.
Types ¶
This section is empty.