Skip to content

Commit be6aef4

Browse files
committed
feat(controller): support app dns policy config
1 parent 8c4cc21 commit be6aef4

5 files changed

Lines changed: 12 additions & 0 deletions

File tree

charts/controller/templates/_helpers.tpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ env:
2626
- name: "DRYCC_APP_RUNTIME_CLASS"
2727
value: "{{ .Values.appRuntimeClass }}"
2828
{{- end }}
29+
{{- if (.Values.appDNSPolicy) }}
30+
- name: "DRYCC_APP_DNS_POLICY"
31+
value: "{{ .Values.appDNSPolicy }}"
32+
{{- end }}
2933
{{- if (.Values.appPodExecTimeout) }}
3034
- name: "DRYCC_APP_POD_EXEC_TIMEOUT"
3135
value: "{{ .Values.appPodExecTimeout }}"

charts/controller/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ k8sApiVerifyTls: "true"
2020
appStorageClass: "drycc-storage"
2121
# Set runtimeClassName. It is used for application.
2222
appRuntimeClass: ""
23+
# Set appDNSPolicy. It is used for application.
24+
# See: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
25+
appDNSPolicy: ""
2326
# set timeout seconds. It is used for pod exec
2427
appPodExecTimeout: 3600
2528
# Set api replicas

rootfs/api/models/app.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1116,6 +1116,7 @@ def _gather_app_settings(self, release, app_settings, process_type, replicas, vo
11161116
'annotations': json.loads(settings.KUBERNETES_POD_DEFAULT_ANNOTATIONS),
11171117
'healthcheck': healthcheck,
11181118
'runtime_class_name': settings.DRYCC_APP_RUNTIME_CLASS,
1119+
'dns_policy': settings.DRYCC_APP_DNS_POLICY,
11191120
'lifecycle_post_start': config.lifecycle_post_start,
11201121
'lifecycle_pre_stop': config.lifecycle_pre_stop,
11211122
'routable': routable,

rootfs/api/settings/production.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,8 @@
330330

331331
DRYCC_APP_RUNTIME_CLASS = os.environ.get('DRYCC_APP_RUNTIME_CLASS', "")
332332

333+
DRYCC_APP_DNS_POLICY = os.environ.get('DRYCC_APP_DNS_POLICY', "")
334+
333335
DRYCC_APP_POD_EXEC_TIMEOUT = int(os.environ.get('DRYCC_APP_POD_EXEC_TIMEOUT', "3600"))
334336

335337
DRYCC_DEFAULT_CONFIG_TAGS = os.environ.get('DRYCC_DEFAULT_CONFIG_TAGS', '')

rootfs/scheduler/resources/pod.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ def manifest(self, namespace, name, image, **kwargs):
158158
# pod runtimeClassName
159159
if kwargs.get('runtime_class_name', ''):
160160
spec['runtimeClassName'] = kwargs.get('runtime_class_name')
161+
if kwargs.get('dns_policy', ''):
162+
spec['dnsPolicy'] = kwargs.get('dns_policy')
161163

162164
# what should the pod do if it exits
163165
spec['restartPolicy'] = kwargs.get('restart_policy', 'Always')

0 commit comments

Comments
 (0)