Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cell = cell.Module( "policy-k8s-watcher", "Watches K8s policy related objects", cell.Provide(newPolicyResourcesWatcher), )
Cell provides the K8s policy watcher. The K8s policy watcher watches all policy related K8s resources (Kubernetes NetworkPolicy (KNP), CiliumNetworkPolicy (CNP), ClusterwideCiliumNetworkPolicy (CCNP), and CiliumCIDRGroup (CCG)), translates them to Cilium's own policy representation (api.Rules) and updates the policy repository (via PolicyManager) accordingly.
Functions ¶
This section is empty.
Types ¶
type PolicyManager ¶
type PolicyManager interface { PolicyAdd(rules api.Rules, opts *policy.AddOptions) (newRev uint64, err error) PolicyDelete(labels labels.LabelArray, opts *policy.DeleteOptions) (newRev uint64, err error) }
type PolicyResourcesWatcher ¶
type PolicyResourcesWatcher struct {
// contains filtered or unexported fields
}
func (*PolicyResourcesWatcher) WatchK8sPolicyResources ¶
func (p *PolicyResourcesWatcher) WatchK8sPolicyResources(ctx context.Context, policyManager PolicyManager)
WatchK8sPolicyResources starts watching Kubernetes policy resources. Needs to be called before K8sWatcher.InitK8sSubsystem.
type PolicyWatcherParams ¶
type PolicyWatcherParams struct { cell.In Lifecycle cell.Lifecycle ClientSet client.Clientset Config *option.DaemonConfig Logger logrus.FieldLogger K8sResourceSynced *synced.Resources K8sAPIGroups *synced.APIGroups ServiceCache *k8s.ServiceCache CiliumNetworkPolicies resource.Resource[*cilium_v2.CiliumNetworkPolicy] CiliumClusterwideNetworkPolicies resource.Resource[*cilium_v2.CiliumClusterwideNetworkPolicy] CiliumCIDRGroups resource.Resource[*cilium_v2_alpha1.CiliumCIDRGroup] NetworkPolicies resource.Resource[*slim_networking_v1.NetworkPolicy] }
Click to show internal directories.
Click to hide internal directories.