Andrey Smirnov 6956edd0bf
feat: add node address filters, filter out k8s addresses for Talos API
This implements abstract `NodeAddressFilter` which can be attached to
build additional `NodeAddress` resources filtering out some entries from
the complete list.

Kubernetes creates two filters to get all node IPs without Kubernetes
CIDRs and vice versa, only Kubernetes CIDRs.

API certificate generation now considers all addresses minus K8s CIDRs.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-08-27 23:46:39 +03:00

18 lines
775 B
Go

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
// Package k8s provides resources which interface with Kubernetes.
package k8s
import "github.com/cosi-project/runtime/pkg/resource"
// ControlPlaneNamespaceName contains resources supporting Kubernetes control plane.
const ControlPlaneNamespaceName resource.Namespace = "controlplane"
// NodeAddressFilterOnlyK8s is the ID for the node address filter which leaves only Kubernetes IPs.
const NodeAddressFilterOnlyK8s = "only-k8s"
// NodeAddressFilterNoK8s is the ID for the node address filter which removes any Kubernetes IPs.
const NodeAddressFilterNoK8s = "no-k8s"