diff --git a/docs/generated/reference/output/reference/api-docs/index.html b/docs/generated/reference/output/reference/api-docs/index.html index f19a28781..00f7ae50b 100755 --- a/docs/generated/reference/output/reference/api-docs/index.html +++ b/docs/generated/reference/output/reference/api-docs/index.html @@ -835,6 +835,10 @@ Appears In: metadata
*ObjectMeta* + +spec
PodSpec + +

ACMEIssuer v1alpha1

diff --git a/pkg/issuer/acme/http/pod.go b/pkg/issuer/acme/http/pod.go index 11bb0f6ab..293507044 100644 --- a/pkg/issuer/acme/http/pod.go +++ b/pkg/issuer/acme/http/pod.go @@ -224,5 +224,21 @@ func (s *Solver) mergePodObjectMetaWithPodTemplate(pod *corev1.Pod, podTempl *v1 pod.Annotations[k] = v } + if pod.Spec.NodeSelector == nil { + pod.Spec.NodeSelector = make(map[string]string) + } + + for k, v := range podTempl.NodeSelector { + pod.Spec.NodeSelector[k] = v + } + + if pod.Spec.Tolerations == nil { + pod.Spec.Tolerations = []corev1.Toleration{} + } + + for _, t := range podTempl.Tolerations { + pod.Spec.Tolerations = append(pod.Spec.Tolerations, t) + } + return pod } diff --git a/pkg/issuer/acme/http/pod_test.go b/pkg/issuer/acme/http/pod_test.go index 8aecc060c..01d04f9e6 100644 --- a/pkg/issuer/acme/http/pod_test.go +++ b/pkg/issuer/acme/http/pod_test.go @@ -21,7 +21,8 @@ import ( "reflect" "testing" - "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" + v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" @@ -278,6 +279,18 @@ func TestMergePodObjectMetaWithPodTemplate(t *testing.T) { "foo": "bar", }, }, + PodSpec: corev1.PodSpec{ + NodeSelector: map[string]string{ + "node": "selector", + }, + Tolerations: []corev1.Toleration{ + { + Key: "key", + Operator: "Exists", + Effect: "NoSchedule", + }, + }, + }, }, }, }, @@ -296,6 +309,16 @@ func TestMergePodObjectMetaWithPodTemplate(t *testing.T) { "sidecar.istio.io/inject": "true", "foo": "bar", } + resultingPod.Spec.NodeSelector = map[string]string{ + "node": "selector", + } + resultingPod.Spec.Tolerations = []corev1.Toleration{ + { + Key: "key", + Operator: "Exists", + Effect: "NoSchedule", + }, + } s.testResources[createdPodKey] = resultingPod s.Builder.Sync()