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()