controller

package
v0.0.0-...-411c8a3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2025 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Overview

*

  • Copyright 2025 Marcelo Parisi (github.com/feitnomore) *
  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at *
  • http://www.apache.org/licenses/LICENSE-2.0 *
  • Unless required by applicable law or agreed to in writing, software
  • distributed under the License is distributed on an "AS IS" BASIS,
  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  • See the License for the specific language governing permissions and
  • limitations under the License.

*

  • Copyright 2025 Marcelo Parisi (github.com/feitnomore) *
  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at *
  • http://www.apache.org/licenses/LICENSE-2.0 *
  • Unless required by applicable law or agreed to in writing, software
  • distributed under the License is distributed on an "AS IS" BASIS,
  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  • See the License for the specific language governing permissions and
  • limitations under the License.

*

  • Copyright 2025 Marcelo Parisi (github.com/feitnomore) *
  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at *
  • http://www.apache.org/licenses/LICENSE-2.0 *
  • Unless required by applicable law or agreed to in writing, software
  • distributed under the License is distributed on an "AS IS" BASIS,
  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  • See the License for the specific language governing permissions and
  • limitations under the License.

*

  • Copyright 2025 Marcelo Parisi (github.com/feitnomore) *
  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at *
  • http://www.apache.org/licenses/LICENSE-2.0 *
  • Unless required by applicable law or agreed to in writing, software
  • distributed under the License is distributed on an "AS IS" BASIS,
  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  • See the License for the specific language governing permissions and
  • limitations under the License.

*

  • Copyright 2025 Marcelo Parisi (github.com/feitnomore) *
  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at *
  • http://www.apache.org/licenses/LICENSE-2.0 *
  • Unless required by applicable law or agreed to in writing, software
  • distributed under the License is distributed on an "AS IS" BASIS,
  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  • See the License for the specific language governing permissions and
  • limitations under the License.

*

  • Copyright 2025 Marcelo Parisi (github.com/feitnomore) *
  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at *
  • http://www.apache.org/licenses/LICENSE-2.0 *
  • Unless required by applicable law or agreed to in writing, software
  • distributed under the License is distributed on an "AS IS" BASIS,
  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  • See the License for the specific language governing permissions and
  • limitations under the License.

*

  • Copyright 2025 Marcelo Parisi (github.com/feitnomore) *
  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at *
  • http://www.apache.org/licenses/LICENSE-2.0 *
  • Unless required by applicable law or agreed to in writing, software
  • distributed under the License is distributed on an "AS IS" BASIS,
  • WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  • See the License for the specific language governing permissions and
  • limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ForceReconcile

func ForceReconcile()

func NewNftablesController

func NewNftablesController(nft *types.NFTables)

func ResolveMacListForPods

func ResolveMacListForPods(podList *v1.PodList) []string

ResolveMacListForPods retrieves MAC addresses for pods in a list that are running * and attached to a "bridge" CNI network. * This function now resides in the controller package as it needs access to the cache.

func StartNftController

func StartNftController()

Types

type Controllers

type Controllers struct {
	// contains filtered or unexported fields
}

This is our main controller

func NewControllers

func NewControllers(nft *types.NFTables) (*Controllers, error)

Creating instances of our aux controllers

func (*Controllers) Run

func (c *Controllers) Run(stopCh <-chan struct{}) error

type MultiNetworkPolicyController

type MultiNetworkPolicyController struct {
	// contains filtered or unexported fields
}

Controller to handle MultiNetworkPolicy

func NewMultiNetworkPolicyController

func NewMultiNetworkPolicyController() (*MultiNetworkPolicyController, error)

Creates an instance of our Controller

func (*MultiNetworkPolicyController) Run

func (c *MultiNetworkPolicyController) Run(stopCh <-chan struct{}) error

Controller Runner

type NamespaceController

type NamespaceController struct {
	// contains filtered or unexported fields
}

Controller to handle Namespaces

func NewNamespaceController

func NewNamespaceController() (*NamespaceController, error)

Creates an instance of our Controller

func (*NamespaceController) Run

func (c *NamespaceController) Run(stopCh <-chan struct{}) error

Controller Runner

type NetAttachController

type NetAttachController struct {
	// contains filtered or unexported fields
}

Controller to handle NetworkAttachmentDefinition

func NewNetAttachController

func NewNetAttachController() (*NetAttachController, error)

Creates an instance of our Controller

func (*NetAttachController) Run

func (c *NetAttachController) Run(stopCh <-chan struct{}) error

Controller Runner

type NftablesController

type NftablesController struct {
	// contains filtered or unexported fields
}

Controller to handle Nftables interaction

type PodController

type PodController struct {
	// contains filtered or unexported fields
}

Controller to handle Pods

func NewPodController

func NewPodController() (*PodController, error)

Creates an instance of our Controller

func (*PodController) Run

func (c *PodController) Run(stopCh <-chan struct{}) error

Controller Runner

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL