diff --git a/charts/coredns/templates/pod-test.yaml b/charts/coredns/templates/pod-test.yaml new file mode 100644 index 00000000..1e87bfc3 --- /dev/null +++ b/charts/coredns/templates/pod-test.yaml @@ -0,0 +1,45 @@ +{{/* +Copyright 2018 AT&T Intellectual Property. All other rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/}} +--- +apiVersion: v1 +kind: Pod +metadata: + name: {{ print .Release.Name "-test" }} + annotations: + "helm.sh/hook": test-success +spec: + restartPolicy: Never + containers: + - name: {{ .Release.Name }}-test + image: {{ .Values.images.tags.test }} + imagePullPolicy: {{ .Values.images.pull_policy }} + command: + - /bin/sh + - -c + - | + SUCCESS=1 + {{- range .Values.conf.test.names_to_resolve }} + if dig {{ . }}; then + echo "Successfully resolved {{ . }}" + else + echo "Failed to resolve {{ . }}" + SUCCESS=0 + fi + {{- end }} + if [ "$SUCCESS" != "1" ]; then + echo "Test failed to resolve all names." + exit 1 + fi diff --git a/charts/coredns/values.yaml b/charts/coredns/values.yaml index 4b50ceda..dd7b0657 100644 --- a/charts/coredns/values.yaml +++ b/charts/coredns/values.yaml @@ -6,20 +6,26 @@ conf: health autopath @kubernetes kubernetes cluster.local 10.96.0.0/16 10.97.0.0/16 { - pods insecure + pods disabled fallthrough in-addr.arpa ip6.arpa upstream 8.8.8.8 upstream 8.8.4.4 } - prometheus :9153 + prometheus :9253 proxy . 8.8.8.8 proxy . 8.8.4.4 cache 30 } + test: + names_to_resolve: + - att.com + - kubernetes.default.svc.cluster.local + images: tags: coredns: coredns/coredns:1.0.5 + test: coredns/coredns:1.0.5 pull_policy: "IfNotPresent" node_selector: {} diff --git a/examples/basic/armada-resources.yaml b/examples/basic/armada-resources.yaml index a6134682..77dead13 100644 --- a/examples/basic/armada-resources.yaml +++ b/examples/basic/armada-resources.yaml @@ -491,9 +491,19 @@ data: upgrade: no_hooks: true values: + conf: + test: + names_to_resolve: + - att.com + - calico-etcd.kube-system.svc.cluster.local + - google.com + - kubernetes-etcd.kube-system.svc.cluster.local + - kubernetes.default.svc.cluster.local + images: tags: coredns: coredns/coredns:1.0.5 + test: coredns/coredns:1.0.5 source: type: local location: /etc/genesis/armada/assets/charts diff --git a/examples/complete/armada-resources.yaml b/examples/complete/armada-resources.yaml index e464e17b..da4bb18a 100644 --- a/examples/complete/armada-resources.yaml +++ b/examples/complete/armada-resources.yaml @@ -534,9 +534,19 @@ data: upgrade: no_hooks: true values: + conf: + test: + names_to_resolve: + - att.com + - calico-etcd.kube-system.svc.cluster.local + - google.com + - kubernetes-etcd.kube-system.svc.cluster.local + - kubernetes.default.svc.cluster.local + images: tags: coredns: coredns/coredns:1.0.5 + test: coredns/coredns:1.0.5 source: type: local location: /etc/genesis/armada/assets/charts