Add deep-insight utility charts

Change-Id: Ie1412be30da2af8be50df71862d7fe0354cbb96e
diff --git a/di-topology-watchdog/Chart.yaml b/di-topology-watchdog/Chart.yaml
new file mode 100644
index 0000000..4107e5a
--- /dev/null
+++ b/di-topology-watchdog/Chart.yaml
@@ -0,0 +1,7 @@
+# SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+apiVersion: v1
+appVersion: "1.0"
+description: A Helm chart for Deep Insight topology watchdog
+name: di-topology-watchdog
+version: 0.0.1
diff --git a/di-topology-watchdog/templates/deployment.yaml b/di-topology-watchdog/templates/deployment.yaml
new file mode 100644
index 0000000..d070ef5
--- /dev/null
+++ b/di-topology-watchdog/templates/deployment.yaml
@@ -0,0 +1,41 @@
+# SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+kind: Deployment
+apiVersion: apps/v1
+metadata:
+  name: {{ .Values.name }}
+spec:
+  replicas: {{ .Values.replicas }}
+  revisionHistoryLimit: 10
+  selector:
+    matchLabels:
+      name: {{ .Values.name }}
+  template:
+    metadata:
+      labels:
+        name: {{ .Values.name }}
+    spec:
+      initContainers:
+      - name: wait-onos-api
+        image: curlimages/curl:7.78.0
+        imagePullPolicy: IfNotPresent
+        command: ['sh', '-c', "until curl -I -s {{ .Values.onosAddr }}; do echo waiting for ONOS API; sleep 2; done"]
+      - name: wait-di-api
+        image: curlimages/curl:7.78.0
+        imagePullPolicy: IfNotPresent
+        command: ['sh', '-c', "until curl -I -s -k https://{{ .Values.diAddr }}; do echo waiting for gateway svc; sleep 2; done"]
+      containers:
+      - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+        imagePullPolicy: {{ .Values.image.pullPolicy }}
+        name: {{ .Values.name }}
+        {{- if .Values.withEndHost }}
+        command: ["./topo_watchdog", "--di-addr", "{{ .Values.diAddr }}", "--onos-addr", "{{ .Values.onosAddr }}", "--k8s-subnet", "{{ .Values.k8sSubnet }}", "--node-iface-no", "{{ .Values.nodeIfaceNo }}"]
+        {{- else }}
+        command: ["./topo_watchdog", "--di-addr", "{{ .Values.diAddr }}", "--onos-addr", "{{ .Values.onosAddr }}"]
+        {{- end }}
+      {{- if hasKey .Values.image "pullSecrets" }}
+      imagePullSecrets:
+        {{- range .Values.image.pullSecrets }}
+        - name: {{ . | quote }}
+        {{- end }}
+      {{- end }}
diff --git a/di-topology-watchdog/values.yaml b/di-topology-watchdog/values.yaml
new file mode 100644
index 0000000..5e6c185
--- /dev/null
+++ b/di-topology-watchdog/values.yaml
@@ -0,0 +1,13 @@
+# SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+name: di-topology-watchdog
+image:
+  repository: registry.opennetworking.org/deepinsight/utility
+  tag: 4.2.0-ONF
+  pullPolicy: Always
+replicas: 1
+onosAddr: sdfabric-onos-classic-hs.tost:8181
+diAddr: gateway-service-internal.deepinsight:3030
+withEndHost: false
+# k8sSubnet: 10.128.13.0/24 # The cluster subnet
+# nodeIfaceNo: 1 # Default K8s node interface number retrieved via `ip link`.