diff --git a/roles/kubernetes-apps/policy_controller/calico/templates/calico-kube-cr.yml.j2 b/roles/kubernetes-apps/policy_controller/calico/templates/calico-kube-cr.yml.j2 index 5f5a9586c9db9df790ac7d992e56e585d906b5f7..47507b9f6edc0843d75f306e3b234bc2028f354b 100644 --- a/roles/kubernetes-apps/policy_controller/calico/templates/calico-kube-cr.yml.j2 +++ b/roles/kubernetes-apps/policy_controller/calico/templates/calico-kube-cr.yml.j2 @@ -57,6 +57,7 @@ rules: - blockaffinities - ipamblocks - ipamhandles + - hostendpoints verbs: - get - list @@ -72,3 +73,18 @@ rules: - create - update {% endif %} +{% if calico_version is version('v3.14.0', '>=') %} + # KubeControllersConfiguration is where it gets its config + - apiGroups: ["crd.projectcalico.org"] + resources: + - kubecontrollersconfigurations + verbs: + # read its own config + - get + # create a default if none exists + - create + # update status + - update + # watch for changes + - watch +{% endif %} diff --git a/roles/network_plugin/calico/templates/kdd-crds.yml.j2 b/roles/network_plugin/calico/templates/kdd-crds.yml.j2 index d4725f828c5cc9d9c1596d005728e40f4902bb69..4eb4a58173f2c3b206b0240d81d9fdb47d943871 100644 --- a/roles/network_plugin/calico/templates/kdd-crds.yml.j2 +++ b/roles/network_plugin/calico/templates/kdd-crds.yml.j2 @@ -2740,3 +2740,18 @@ spec: served: true storage: true {% endif %} +{% if calico_version is version('v3.14.0', '>=') %} +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: kubecontrollersconfigurations.crd.projectcalico.org +spec: + scope: Cluster + group: crd.projectcalico.org + version: v1 + names: + kind: KubeControllersConfiguration + plural: kubecontrollersconfigurations + singular: kubecontrollersconfiguration +{% endif %}