From da5333d5a0c69070c902f05fd7bc4dd7306c85f0 Mon Sep 17 00:00:00 2001 From: "Klingspor, Christoph" Date: Mon, 8 Apr 2024 08:40:13 +0200 Subject: [PATCH 1/6] Initial commit. Moved from https://github.com/opencost/opencost-parquet-exporter/pull/10 --- .DS_Store | Bin 0 -> 6148 bytes charts/parquet-exporter/Chart.yaml | 24 ++++++ charts/parquet-exporter/README.md | 38 +++++++++ .../templates/_annotations.tpl | 8 ++ .../parquet-exporter/templates/_helpers.tpl | 51 ++++++++++++ .../parquet-exporter/templates/cronjob.yaml | 73 ++++++++++++++++++ charts/parquet-exporter/values.yaml | 66 ++++++++++++++++ 7 files changed, 260 insertions(+) create mode 100644 .DS_Store create mode 100644 charts/parquet-exporter/Chart.yaml create mode 100644 charts/parquet-exporter/README.md create mode 100644 charts/parquet-exporter/templates/_annotations.tpl create mode 100644 charts/parquet-exporter/templates/_helpers.tpl create mode 100644 charts/parquet-exporter/templates/cronjob.yaml create mode 100644 charts/parquet-exporter/values.yaml diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Mon, 8 Apr 2024 08:44:27 +0200 Subject: [PATCH 2/6] Remove .DS_Store from tracking, add .gitignore --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 1 + 2 files changed, 1 insertion(+) delete mode 100644 .DS_Store create mode 100644 .gitignore diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Fri, 12 Apr 2024 10:13:58 +0200 Subject: [PATCH 3/6] Mark 'serviceAccount' key/value pair as optional in description, move tag to :main, implement review comments --- .../Chart.yaml | 4 ++-- .../README.md | 12 ++++++------ .../templates/_annotations.tpl | 2 +- .../templates/_helpers.tpl | 0 .../templates/cronjob.yaml | 2 +- .../values.yaml | 10 +++++----- 6 files changed, 15 insertions(+), 15 deletions(-) rename charts/{parquet-exporter => opencost-parquet-exporter}/Chart.yaml (93%) rename charts/{parquet-exporter => opencost-parquet-exporter}/README.md (87%) rename charts/{parquet-exporter => opencost-parquet-exporter}/templates/_annotations.tpl (93%) rename charts/{parquet-exporter => opencost-parquet-exporter}/templates/_helpers.tpl (100%) rename charts/{parquet-exporter => opencost-parquet-exporter}/templates/cronjob.yaml (99%) rename charts/{parquet-exporter => opencost-parquet-exporter}/values.yaml (88%) diff --git a/charts/parquet-exporter/Chart.yaml b/charts/opencost-parquet-exporter/Chart.yaml similarity index 93% rename from charts/parquet-exporter/Chart.yaml rename to charts/opencost-parquet-exporter/Chart.yaml index 32cd18d..e7edb14 100644 --- a/charts/parquet-exporter/Chart.yaml +++ b/charts/opencost-parquet-exporter/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 -name: parquet-exporter -description: A Helm chart for Kubernetes +name: opencost-parquet-exporter +description: OpenCost Parquet Exporter # A chart can be either an 'application' or a 'library' chart. # diff --git a/charts/parquet-exporter/README.md b/charts/opencost-parquet-exporter/README.md similarity index 87% rename from charts/parquet-exporter/README.md rename to charts/opencost-parquet-exporter/README.md index 5222018..2fbd4f5 100644 --- a/charts/parquet-exporter/README.md +++ b/charts/opencost-parquet-exporter/README.md @@ -1,26 +1,26 @@ -# parquet-exporter +# opencost-parquet-exporter ![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16.0](https://img.shields.io/badge/AppVersion-1.16.0-informational?style=flat-square) -A Helm chart for Kubernetes +OpenCost Parquet Exporter ## Values | Key | Type | Default | Description | |-----|------|---------|-------------| -| activeDeadlineSeconds | int | `3600` | Keep job runnig (from start time) for [activeDeadlineSeconds] | +| activeDeadlineSeconds | int | `3600` | Keep job running (from start time) for [activeDeadlineSeconds] | | awsRolename | string | `"testrole"` | AWS IAM role to use when writing to the S3 Bucket. | | concurrencyPolicy | string | `"Forbid"` | Do not allow multiple runs | | dnsConfig | object | `{"options":[{"name":"single-request-reopen"},{"name":"ndots","value":"2"}]}` | Specific DNS parameters of the pod | | dnsConfig.options[0] | object | `{"name":"single-request-reopen"}` | Turning this option on [...] so that if two requests from the same port are not handled correctly it will close the socket and open a new one before sending the second request. See also "[single-request-reopen](https://man7.org/linux/man-pages/man5/resolv.conf.5.html)" | | dnsConfig.options[1] | object | `{"name":"ndots","value":"2"}` | Sets a threshold for the number of dots which must appear in a name [...] before an initial absolute query will be made. . See also "[ndots](https://man7.org/linux/man-pages/man5/resolv.conf.5.html)" | | dnsPolicy | string | `"ClusterFirst"` | A pod's [DNS polics](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy) | -| env | list | `[{"name":"AWS_REGION","value":"us-west-2"},{"name":"KUBE_CLUSTER","value":"YOUR_CLUSTER_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_FILE_KEY_PREFIX","value":"cluster=$(KUBE_CLUSTER)"},{"name":"OPENCOST_PARQUET_S3_BUCKET","value":"YOUR_S3_BUCKET_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_S3_REGION","value":"YOUR_S3_BUCKET_REGION_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_SVC_HOSTNAME","value":"opencost.opencost.svc.cluster.local."},{"name":"OPENCOST_PARQUET_SVC_PORT","value":"9003"}]` | List of env vars | +| env | list | `[{"name":"AWS_REGION","value":"us-west-2"},{"name":"KUBE_CLUSTER","value":"YOUR_CLUSTER_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_FILE_KEY_PREFIX","value":"cluster=$(KUBE_CLUSTER)"},{"name":"OPENCOST_PARQUET_S3_BUCKET","value":"YOUR_S3_BUCKET_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_S3_REGION","value":"YOUR_S3_BUCKET_REGION_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_SVC_HOSTNAME","value":"opencost.opencost.svc.cluster.local"},{"name":"OPENCOST_PARQUET_SVC_PORT","value":"9003"}]` | List of env vars | | envFrom | string | `nil` | | | failedJobsHistoryLimit | int | `3` | Keep up to three failed jobs | | image.imagePullPolicy | string | `"Always"` | | | image.repository | string | `"ghcr.io/opencost/opencost-parquet-exporter"` | | -| image.tag | string | `"latest"` | | +| image.tag | string | `"main"` | | | resources | object | `{"limits":{"cpu":2,"memory":"5Gi"},"requests":{"cpu":1,"memory":"1Gi"}}` | Compute resources required | | restartPolicy | string | `"Never"` | | | schedule | string | `"* * * * *"` | Schedule on which to run the cron job | @@ -28,7 +28,7 @@ A Helm chart for Kubernetes | securityContext.readOnlyRootFilesystem | bool | `true` | | | securityContext.runAsNonRoot | bool | `true` | | | securityContext.runAsUser | int | `1001` | | -| serviceAccount | object | `{"name":"opencost"}` | ServiceAccount use to run this pod | +| serviceAccount | object | `{"name":"opencost"}` | Optional ServiceAccount use to run this pod | | successfulJobsHistoryLimit | int | `3` | Keep up to three successful jobs | | suspend | bool | `false` | | | terminationGracePeriodSeconds | int | `30` | | diff --git a/charts/parquet-exporter/templates/_annotations.tpl b/charts/opencost-parquet-exporter/templates/_annotations.tpl similarity index 93% rename from charts/parquet-exporter/templates/_annotations.tpl rename to charts/opencost-parquet-exporter/templates/_annotations.tpl index cd716f9..874aa38 100644 --- a/charts/parquet-exporter/templates/_annotations.tpl +++ b/charts/opencost-parquet-exporter/templates/_annotations.tpl @@ -5,4 +5,4 @@ Common labels {{- if .Values.awsRolename }} iam.amazonaws.com/role: {{ .Values.awsRolename }} {{- end }} -{{- end }} \ No newline at end of file +{{- end }} diff --git a/charts/parquet-exporter/templates/_helpers.tpl b/charts/opencost-parquet-exporter/templates/_helpers.tpl similarity index 100% rename from charts/parquet-exporter/templates/_helpers.tpl rename to charts/opencost-parquet-exporter/templates/_helpers.tpl diff --git a/charts/parquet-exporter/templates/cronjob.yaml b/charts/opencost-parquet-exporter/templates/cronjob.yaml similarity index 99% rename from charts/parquet-exporter/templates/cronjob.yaml rename to charts/opencost-parquet-exporter/templates/cronjob.yaml index 90fb94f..f562d07 100644 --- a/charts/parquet-exporter/templates/cronjob.yaml +++ b/charts/opencost-parquet-exporter/templates/cronjob.yaml @@ -70,4 +70,4 @@ spec: restartPolicy: {{ .Values.restartPolicy }} {{- if .Values.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds}} - {{- end }} \ No newline at end of file + {{- end }} diff --git a/charts/parquet-exporter/values.yaml b/charts/opencost-parquet-exporter/values.yaml similarity index 88% rename from charts/parquet-exporter/values.yaml rename to charts/opencost-parquet-exporter/values.yaml index 769d2f7..22f470d 100644 --- a/charts/parquet-exporter/values.yaml +++ b/charts/opencost-parquet-exporter/values.yaml @@ -9,11 +9,11 @@ schedule: "* * * * *" # -- Keep up to three successful jobs successfulJobsHistoryLimit: 3 suspend: false -# -- Keep job runnig (from start time) for [activeDeadlineSeconds] +# -- Keep job running (from start time) for [activeDeadlineSeconds] activeDeadlineSeconds: 3600 # -- Limit the lifetime of the execution ttlSecondsAfterFinished: 14400 -# -- ServiceAccount use to run this pod +# -- Optional ServiceAccount use to run this pod serviceAccount: name: opencost securityContext: @@ -25,7 +25,7 @@ securityContext: - ALL image: repository: ghcr.io/opencost/opencost-parquet-exporter - tag: main@sha256:29a5d8e7fb4af97c93f91b4d29872512d93080f88303047ff31cd3b263b48e4f + tag: main imagePullPolicy: Always # -- List of env vars env: @@ -40,7 +40,7 @@ env: - name: OPENCOST_PARQUET_S3_REGION value: YOUR_S3_BUCKET_REGION_NAME_CHANGE_ME - name: OPENCOST_PARQUET_SVC_HOSTNAME - value: opencost.opencost.svc.cluster.local. + value: opencost.opencost.svc.cluster.local - name: OPENCOST_PARQUET_SVC_PORT value: "9003" envFrom: @@ -63,4 +63,4 @@ dnsConfig: # -- A pod's [DNS polics](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy) dnsPolicy: ClusterFirst restartPolicy: Never -terminationGracePeriodSeconds: 30 \ No newline at end of file +terminationGracePeriodSeconds: 30 From 633facf03598b523b2efd70a8d27b1803ac83aed Mon Sep 17 00:00:00 2001 From: "Klingspor, Christoph" Date: Fri, 12 Apr 2024 11:17:11 +0200 Subject: [PATCH 4/6] Rename serviceAccount to existingServiceAccount, make sure its only used when not empty --- charts/opencost-parquet-exporter/README.md | 2 +- charts/opencost-parquet-exporter/templates/cronjob.yaml | 4 ++-- charts/opencost-parquet-exporter/values.yaml | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/charts/opencost-parquet-exporter/README.md b/charts/opencost-parquet-exporter/README.md index 2fbd4f5..9e49acc 100644 --- a/charts/opencost-parquet-exporter/README.md +++ b/charts/opencost-parquet-exporter/README.md @@ -17,6 +17,7 @@ OpenCost Parquet Exporter | dnsPolicy | string | `"ClusterFirst"` | A pod's [DNS polics](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy) | | env | list | `[{"name":"AWS_REGION","value":"us-west-2"},{"name":"KUBE_CLUSTER","value":"YOUR_CLUSTER_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_FILE_KEY_PREFIX","value":"cluster=$(KUBE_CLUSTER)"},{"name":"OPENCOST_PARQUET_S3_BUCKET","value":"YOUR_S3_BUCKET_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_S3_REGION","value":"YOUR_S3_BUCKET_REGION_NAME_CHANGE_ME"},{"name":"OPENCOST_PARQUET_SVC_HOSTNAME","value":"opencost.opencost.svc.cluster.local"},{"name":"OPENCOST_PARQUET_SVC_PORT","value":"9003"}]` | List of env vars | | envFrom | string | `nil` | | +| existingServiceAccount | string | `nil` | Optional ServiceAccount use to run this pod | | failedJobsHistoryLimit | int | `3` | Keep up to three failed jobs | | image.imagePullPolicy | string | `"Always"` | | | image.repository | string | `"ghcr.io/opencost/opencost-parquet-exporter"` | | @@ -28,7 +29,6 @@ OpenCost Parquet Exporter | securityContext.readOnlyRootFilesystem | bool | `true` | | | securityContext.runAsNonRoot | bool | `true` | | | securityContext.runAsUser | int | `1001` | | -| serviceAccount | object | `{"name":"opencost"}` | Optional ServiceAccount use to run this pod | | successfulJobsHistoryLimit | int | `3` | Keep up to three successful jobs | | suspend | bool | `false` | | | terminationGracePeriodSeconds | int | `30` | | diff --git a/charts/opencost-parquet-exporter/templates/cronjob.yaml b/charts/opencost-parquet-exporter/templates/cronjob.yaml index f562d07..05eab14 100644 --- a/charts/opencost-parquet-exporter/templates/cronjob.yaml +++ b/charts/opencost-parquet-exporter/templates/cronjob.yaml @@ -33,8 +33,8 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} {{- end }} - {{- if and (hasKey .Values "serviceAccount") (hasKey .Values.serviceAccount "name") }} - serviceAccountName: {{ .Values.serviceAccount.name }} + {{- if not ( .Values.existingServiceAccount | empty ) }} + serviceAccountName: {{ .Values.existingServiceAccount }} {{- end }} {{- if hasKey .Values "securityContext" }} {{- with .Values.securityContext }} diff --git a/charts/opencost-parquet-exporter/values.yaml b/charts/opencost-parquet-exporter/values.yaml index 22f470d..8b7531d 100644 --- a/charts/opencost-parquet-exporter/values.yaml +++ b/charts/opencost-parquet-exporter/values.yaml @@ -14,8 +14,7 @@ activeDeadlineSeconds: 3600 # -- Limit the lifetime of the execution ttlSecondsAfterFinished: 14400 # -- Optional ServiceAccount use to run this pod -serviceAccount: - name: opencost +existingServiceAccount: securityContext: runAsUser: 1001 readOnlyRootFilesystem: true From 542bdc063f82aeeb6025bacc0723b16a12786cef Mon Sep 17 00:00:00 2001 From: "Klingspor, Christoph" Date: Tue, 16 Apr 2024 17:44:40 +0200 Subject: [PATCH 5/6] Reflect chart renaming in _helpers.tpl & _annotations.tpl --- .../templates/_helpers.tpl | 16 ++++++++-------- .../templates/cronjob.yaml | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/charts/opencost-parquet-exporter/templates/_helpers.tpl b/charts/opencost-parquet-exporter/templates/_helpers.tpl index 07e6fd3..ec8b31b 100644 --- a/charts/opencost-parquet-exporter/templates/_helpers.tpl +++ b/charts/opencost-parquet-exporter/templates/_helpers.tpl @@ -1,7 +1,7 @@ {{/* Expand the name of the chart. */}} -{{- define "parquet-exporter.name" -}} +{{- define "opencost-parquet-exporter.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- end }} @@ -10,7 +10,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "parquet-exporter.fullname" -}} +{{- define "opencost-parquet-exporter.fullname" -}} {{- if .Values.fullnameOverride }} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} {{- else }} @@ -26,16 +26,16 @@ If release name contains chart name it will be used as a full name. {{/* Create chart name and version as used by the chart label. */}} -{{- define "parquet-exporter.chart" -}} +{{- define "opencost-parquet-exporter.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- end }} {{/* Common labels */}} -{{- define "parquet-exporter.labels" -}} -helm.sh/chart: {{ include "parquet-exporter.chart" . }} -{{ include "parquet-exporter.selectorLabels" . }} +{{- define "opencost-parquet-exporter.labels" -}} +helm.sh/chart: {{ include "opencost-parquet-exporter.chart" . }} +{{ include "opencost-parquet-exporter.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -45,7 +45,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "parquet-exporter.selectorLabels" -}} -app.kubernetes.io/name: {{ include "parquet-exporter.name" . }} +{{- define "opencost-parquet-exporter.selectorLabels" -}} +app.kubernetes.io/name: {{ include "opencost-parquet-exporter.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} diff --git a/charts/opencost-parquet-exporter/templates/cronjob.yaml b/charts/opencost-parquet-exporter/templates/cronjob.yaml index 05eab14..246c86f 100644 --- a/charts/opencost-parquet-exporter/templates/cronjob.yaml +++ b/charts/opencost-parquet-exporter/templates/cronjob.yaml @@ -1,11 +1,11 @@ apiVersion: batch/v1 kind: CronJob metadata: - name: {{ include "parquet-exporter.name" $ }} + name: {{ include "opencost-parquet-exporter.name" $ }} annotations: {{- include "parquet-exporter.annotations" $ | indent 4 }} labels: -{{ include "parquet-exporter.labels" . | indent 4 }} +{{ include "opencost-parquet-exporter.labels" . | indent 4 }} spec: concurrencyPolicy: {{ .Values.concurrencyPolicy | quote}} failedJobsHistoryLimit: {{ .Values.failedJobsHistoryLimit }} @@ -14,7 +14,7 @@ spec: suspend: {{ .Values.suspend }} jobTemplate: metadata: - name: {{ include "parquet-exporter.name" $ }} + name: {{ include "opencost-parquet-exporter.name" $ }} spec: activeDeadlineSeconds: {{ .Values.activeDeadlineSeconds }} ttlSecondsAfterFinished: {{ .Values.ttlSecondsAfterFinished }} @@ -24,8 +24,8 @@ spec: annotations: {{- include "parquet-exporter.annotations" $ | indent 12 }} labels: -{{ include "parquet-exporter.labels" . | indent 12 }} - name: {{ include "parquet-exporter.name" $ }} +{{ include "opencost-parquet-exporter.labels" . | indent 12 }} + name: {{ include "opencost-parquet-exporter.name" $ }} spec: {{- if .Values.imagePullSecrets }} {{- with .Values.imagePullSecrets }} @@ -47,7 +47,7 @@ spec: containers: - image: {{ .Values.image.repository }}:{{ .Values.image.tag }} imagePullPolicy: {{ .Values.image.imagePullPolicy }} - name: {{ include "parquet-exporter.name" $ }} + name: {{ include "opencost-parquet-exporter.name" $ }} {{- with .Values.resources }} resources: {{ toYaml . | indent 16 }} From 9000ec0d9b95050277fe98c57abb89adb04f358a Mon Sep 17 00:00:00 2001 From: "Klingspor, Christoph" Date: Tue, 27 Aug 2024 08:05:54 +0200 Subject: [PATCH 6/6] Remove trailing spaces --- charts/opencost-parquet-exporter/values.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/charts/opencost-parquet-exporter/values.yaml b/charts/opencost-parquet-exporter/values.yaml index 8b7531d..e5bccee 100644 --- a/charts/opencost-parquet-exporter/values.yaml +++ b/charts/opencost-parquet-exporter/values.yaml @@ -1,15 +1,15 @@ -# -- AWS IAM role to use when writing to the S3 Bucket. +# -- AWS IAM role to use when writing to the S3 Bucket. awsRolename: testrole # -- Do not allow multiple runs concurrencyPolicy: Forbid # -- Keep up to three failed jobs failedJobsHistoryLimit: 3 # -- Schedule on which to run the cron job -schedule: "* * * * *" +schedule: "* * * * *" # -- Keep up to three successful jobs successfulJobsHistoryLimit: 3 suspend: false -# -- Keep job running (from start time) for [activeDeadlineSeconds] +# -- Keep job running (from start time) for [activeDeadlineSeconds] activeDeadlineSeconds: 3600 # -- Limit the lifetime of the execution ttlSecondsAfterFinished: 14400 @@ -24,7 +24,7 @@ securityContext: - ALL image: repository: ghcr.io/opencost/opencost-parquet-exporter - tag: main + tag: main imagePullPolicy: Always # -- List of env vars env: @@ -56,10 +56,10 @@ dnsConfig: options: # -- Turning this option on [...] so that if two requests from the same port are not handled correctly it will close the socket and open a new one before sending the second request. See also "[single-request-reopen](https://man7.org/linux/man-pages/man5/resolv.conf.5.html)" - name: single-request-reopen - # -- Sets a threshold for the number of dots which must appear in a name [...] before an initial absolute query will be made. . See also "[ndots](https://man7.org/linux/man-pages/man5/resolv.conf.5.html)" + # -- Sets a threshold for the number of dots which must appear in a name [...] before an initial absolute query will be made. . See also "[ndots](https://man7.org/linux/man-pages/man5/resolv.conf.5.html)" - name: ndots value: "2" -# -- A pod's [DNS polics](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy) +# -- A pod's [DNS polics](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy) dnsPolicy: ClusterFirst restartPolicy: Never terminationGracePeriodSeconds: 30