Documentation
¶
Index ¶
- func NewApplicationNetworkPolicyEndpointsResolver(k8sClient client.Client, logger logr.Logger) *applicationNetworkPolicyEndpointsResolver
- func NewClusterNetworkPolicyEndpointsResolver(k8sClient client.Client, logger logr.Logger) *clusterNetworkPolicyEndpointsResolver
- func NewEndpointsResolver(k8sClient client.Client, logger logr.Logger) *defaultEndpointsResolver
- func NewPolicyReferenceResolver(k8sClient client.Client, policyTracker PolicyTracker, logger logr.Logger) *defaultPolicyReferenceResolver
- type ApplicationNetworkPolicyEndpointsResolver
- type ClusterNetworkPolicyEndpointsResolver
- type EndpointsResolver
- type PolicyReferenceResolver
- type PolicyTracker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewApplicationNetworkPolicyEndpointsResolver ¶ added in v1.1.0
func NewApplicationNetworkPolicyEndpointsResolver(k8sClient client.Client, logger logr.Logger) *applicationNetworkPolicyEndpointsResolver
NewApplicationNetworkPolicyEndpointsResolver constructs a new applicationNetworkPolicyEndpointsResolver
func NewClusterNetworkPolicyEndpointsResolver ¶ added in v1.1.0
func NewClusterNetworkPolicyEndpointsResolver(k8sClient client.Client, logger logr.Logger) *clusterNetworkPolicyEndpointsResolver
NewClusterNetworkPolicyEndpointsResolver constructs a new clusterNetworkPolicyEndpointsResolver
func NewEndpointsResolver ¶
NewEndpointsResolver constructs a new defaultEndpointsResolver
func NewPolicyReferenceResolver ¶
func NewPolicyReferenceResolver(k8sClient client.Client, policyTracker PolicyTracker, logger logr.Logger) *defaultPolicyReferenceResolver
Types ¶
type ApplicationNetworkPolicyEndpointsResolver ¶ added in v1.1.0
type ApplicationNetworkPolicyEndpointsResolver interface {
// ResolveApplicationNetworkPolicy returns the resolved endpoints for the given ApplicationNetworkPolicy
ResolveApplicationNetworkPolicy(ctx context.Context, applicationNetworkPolicy *policyinfo.ApplicationNetworkPolicy) ([]policyinfo.EndpointInfo, []policyinfo.EndpointInfo, []policyinfo.PodEndpoint, error)
}
type ClusterNetworkPolicyEndpointsResolver ¶ added in v1.1.0
type ClusterNetworkPolicyEndpointsResolver interface {
// ResolveClusterNetworkPolicy returns the resolved endpoints for the given ClusterNetworkPolicy
ResolveClusterNetworkPolicy(ctx context.Context, cnp *policyinfo.ClusterNetworkPolicy) ([]policyinfo.ClusterEndpointInfo, []policyinfo.ClusterEndpointInfo, []policyinfo.PodEndpoint, error)
}
type EndpointsResolver ¶
type EndpointsResolver interface {
// Resolve returns the resolved endpoints for the given policy ingress, egress rules and pod selector labels.
Resolve(ctx context.Context, policy *networking.NetworkPolicy) ([]policyinfo.EndpointInfo, []policyinfo.EndpointInfo,
[]policyinfo.PodEndpoint, error)
}
type PolicyReferenceResolver ¶
type PolicyReferenceResolver interface {
GetReferredPoliciesForPod(ctx context.Context, pod, podOld *corev1.Pod) ([]networking.NetworkPolicy, error)
GetReferredPoliciesForNamespace(ctx context.Context, ns, nsOld *corev1.Namespace) ([]networking.NetworkPolicy, error)
GetReferredPoliciesForService(ctx context.Context, svc, svcOld *corev1.Service) ([]networking.NetworkPolicy, error)
GetReferredApplicationNetworkPoliciesForPod(ctx context.Context, pod, podOld *corev1.Pod) ([]policyinfo.ApplicationNetworkPolicy, error)
GetReferredApplicationNetworkPoliciesForNamespace(ctx context.Context, ns, nsOld *corev1.Namespace) ([]policyinfo.ApplicationNetworkPolicy, error)
GetReferredApplicationNetworkPoliciesForService(ctx context.Context, svc, svcOld *corev1.Service) ([]policyinfo.ApplicationNetworkPolicy, error)
GetReferredClusterPoliciesForPod(ctx context.Context, pod, podOld *corev1.Pod) ([]policyinfo.ClusterNetworkPolicy, error)
GetReferredClusterPoliciesForNamespace(ctx context.Context, ns, nsOld *corev1.Namespace) ([]policyinfo.ClusterNetworkPolicy, error)
GetReferredClusterPoliciesForService(ctx context.Context, svc, svcOld *corev1.Service) ([]policyinfo.ClusterNetworkPolicy, error)
}
PolicyReferenceResolver resolves the referred network policies for a given pod, namespace or service.
type PolicyTracker ¶ added in v0.5.1
type PolicyTracker interface {
UpdatePolicy(policy *networking.NetworkPolicy)
RemovePolicy(policy *networking.NetworkPolicy)
UpdateGenericPolicy(obj client.Object)
RemoveGenericPolicy(obj client.Object)
GetPoliciesWithNamespaceReferences() sets.Set[types.NamespacedName]
GetPoliciesWithEgressRules() sets.Set[types.NamespacedName]
GetApplicationNetworkPoliciesWithNamespaceReferences() sets.Set[types.NamespacedName]
GetApplicationNetworkPoliciesWithEgressRules() sets.Set[types.NamespacedName]
}
func NewPolicyTracker ¶ added in v0.5.1
func NewPolicyTracker(logger logr.Logger) PolicyTracker
Click to show internal directories.
Click to hide internal directories.