cmd/k8s-operator,k8s-operator: proxyclass affinity (#11862)

add ability to set affinity rules to proxyclass

Updates#11861

Signed-off-by: Lee Briggs <lee@leebriggs.co.uk>
This commit is contained in:
Lee Briggs
2024-04-24 09:31:35 -07:00
committed by GitHub
parent 31e6bdbc82
commit 14ac41febc
8 changed files with 2420 additions and 1 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -94,6 +94,11 @@ type Pod struct {
// https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Proxy Pod's affinity rules.
// By default, the Tailscale Kubernetes operator does not apply any affinity rules.
// https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#affinity
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// Configuration for the proxy container running tailscale.
// +optional
TailscaleContainer *Container `json:"tailscaleContainer,omitempty"`

View File

@@ -195,6 +195,11 @@ func (in *Pod) DeepCopyInto(out *Pod) {
(*out)[key] = val
}
}
if in.Affinity != nil {
in, out := &in.Affinity, &out.Affinity
*out = new(v1.Affinity)
(*in).DeepCopyInto(*out)
}
if in.TailscaleContainer != nil {
in, out := &in.TailscaleContainer, &out.TailscaleContainer
*out = new(Container)