Added Istio config for multicluster connectivity 74/96774/2
authorDileep Ranganathan <dileep.ranganathan@intel.com>
Wed, 9 Oct 2019 04:31:42 +0000 (21:31 -0700)
committerMarco Platania <platania@research.att.com>
Wed, 9 Oct 2019 14:40:48 +0000 (14:40 +0000)
1. Collection package
2. Kafka
3. M3DB

Issue-ID: ONAPARC-466
Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com>
Change-Id: I3ef5722f207a930437ddc7c01e22609772f97865

28 files changed:
vnfs/DAaaS/deploy/istio-config/collection-config/README.md [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/.helmignore [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/Chart.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/_helpers.tpl [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/virtualservice.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/values.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/.helmignore [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/Chart.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/_helpers.tpl [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/virtualservice.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/values.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/.helmignore [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/Chart.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/_helpers.tpl [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/virtualservice.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/values.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/kafka-config/README.md [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/.helmignore [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/Chart.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/_helpers.tpl [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/virtualservice.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/values.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/m3db-config/README.md [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/.helmignore [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/Chart.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/_helpers.tpl [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/virtualservice.yaml [new file with mode: 0644]
vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/values.yaml [new file with mode: 0644]

diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/README.md b/vnfs/DAaaS/deploy/istio-config/collection-config/README.md
new file mode 100644 (file)
index 0000000..175ee81
--- /dev/null
@@ -0,0 +1,15 @@
+# Istio virtualservice for Collectd, CAdvisor, Node Exporter
+
+The following values has to be updated depending on the Cluster's installation in values.yaml
+
+1. allowedhosts - hostname or FQDN for collection service (used by Prometheus to discover scraping target)
+2. gateways - Name of the Istio gateway to which this virtualservice will be connected to
+3. destinationhost - collection service name
+4. port - port of the collection service
+
+# Installation
+1. helm install collectd-istio-connectivity -n edge1
+2. helm install cadvisor-istio-connectivity -n edge1
+3. helm install node-exporter-istio-connectivity -n edge1
+
+NOTE - The namespace (edge1) is used an example. This has to be changed to be namespace where collectd is deployed.
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/.helmignore
new file mode 100644 (file)
index 0000000..50af031
--- /dev/null
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/Chart.yaml
new file mode 100644 (file)
index 0000000..58e3e6e
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 Intel Corporation
+# #
+# # 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
+appVersion: "1.0"
+description: A Helm chart for Istio virtualservice
+name: cadvisor-istio-connectivity
+version: 0.1.0
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/_helpers.tpl
new file mode 100644 (file)
index 0000000..5516ee4
--- /dev/null
@@ -0,0 +1,25 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+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 "fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/virtualservice.yaml
new file mode 100644 (file)
index 0000000..fdeba94
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2019 Intel Corporation, Inc
+#
+# 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: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: {{ template "fullname" . }}
+spec:
+  hosts:
+  {{- range .Values.allowedhosts }}
+  - {{ . | quote }}
+  {{- end }}
+  gateways:
+  {{- range .Values.gateways }}
+  - {{ . | quote }}
+  {{- end }}
+  http:
+  - match:
+    - uri:
+        prefix: /
+    route:
+    - destination:
+        host: {{ .Values.destinationhost }}
+        port:
+          number: {{.Values.port }}
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/values.yaml
new file mode 100644 (file)
index 0000000..87fe437
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2019 Intel Corporation
+#
+# 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.
+#
+# This file is a sample virtualservice format
+allowedhosts:
+- "cadvisor.edge1.k8s.com"
+gateways:
+- http-gateway
+destinationhost: cadvisor
+port: 80
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/.helmignore
new file mode 100644 (file)
index 0000000..50af031
--- /dev/null
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/Chart.yaml
new file mode 100644 (file)
index 0000000..93696e7
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 Intel Corporation
+# #
+# # 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
+appVersion: "1.0"
+description: A Helm chart for Istio virtualservice
+name: collectd-istio-connectivity
+version: 0.1.0
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/_helpers.tpl
new file mode 100644 (file)
index 0000000..5516ee4
--- /dev/null
@@ -0,0 +1,25 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+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 "fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/virtualservice.yaml
new file mode 100644 (file)
index 0000000..fdeba94
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2019 Intel Corporation, Inc
+#
+# 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: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: {{ template "fullname" . }}
+spec:
+  hosts:
+  {{- range .Values.allowedhosts }}
+  - {{ . | quote }}
+  {{- end }}
+  gateways:
+  {{- range .Values.gateways }}
+  - {{ . | quote }}
+  {{- end }}
+  http:
+  - match:
+    - uri:
+        prefix: /
+    route:
+    - destination:
+        host: {{ .Values.destinationhost }}
+        port:
+          number: {{.Values.port }}
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/values.yaml
new file mode 100644 (file)
index 0000000..283572a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2019 Intel Corporation
+#
+# 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.
+#
+# This file is a sample virtualservice format
+allowedhosts:
+- "collectd.edge1.k8s.com"
+gateways:
+- http-gateway
+destinationhost: collectd
+port: 9103
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/.helmignore
new file mode 100644 (file)
index 0000000..50af031
--- /dev/null
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/Chart.yaml
new file mode 100644 (file)
index 0000000..d46d3d9
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 Intel Corporation
+# #
+# # 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
+appVersion: "1.0"
+description: A Helm chart for Istio virtualservice
+name: node-exporter-istio-connectivity
+version: 0.1.0
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/_helpers.tpl
new file mode 100644 (file)
index 0000000..5516ee4
--- /dev/null
@@ -0,0 +1,25 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+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 "fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/virtualservice.yaml
new file mode 100644 (file)
index 0000000..fdeba94
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2019 Intel Corporation, Inc
+#
+# 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: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: {{ template "fullname" . }}
+spec:
+  hosts:
+  {{- range .Values.allowedhosts }}
+  - {{ . | quote }}
+  {{- end }}
+  gateways:
+  {{- range .Values.gateways }}
+  - {{ . | quote }}
+  {{- end }}
+  http:
+  - match:
+    - uri:
+        prefix: /
+    route:
+    - destination:
+        host: {{ .Values.destinationhost }}
+        port:
+          number: {{.Values.port }}
diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/values.yaml
new file mode 100644 (file)
index 0000000..feccdc9
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2019 Intel Corporation
+#
+# 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.
+#
+# This file is a sample virtualservice format
+allowedhosts:
+- "nodeexporter.edge1.k8s.com"
+gateways:
+- http-gateway
+destinationhost: cp-prometheus-node-exporter
+port: 9100
diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/README.md b/vnfs/DAaaS/deploy/istio-config/kafka-config/README.md
new file mode 100644 (file)
index 0000000..5f4e088
--- /dev/null
@@ -0,0 +1,13 @@
+# Istio virtualservice for kafka to connect to any service
+
+The following values has to be updated depending on the Cluster's installation in values.yaml
+
+1. allowedhosts - URI of Service consuming kafka (or Any service which consumes kafka)
+2. gateways - Name of the Istio gateway to which this virtualservice will be connected to
+3. destinationhost - m3coordinator service name
+4. port - port of the m3coordinator service
+
+# Installation
+1. helm install kafka-istio-connectivity -n training
+
+NOTE - The namespace (training) is used an example. This has to be changed to be namespace where kafka is deployed.
diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/.helmignore
new file mode 100644 (file)
index 0000000..50af031
--- /dev/null
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/Chart.yaml
new file mode 100644 (file)
index 0000000..65a3c31
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 Intel Corporation
+# #
+# # 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
+appVersion: "1.0"
+description: A Helm chart for Istio virtualservice
+name: kafka-istio-connectivity
+version: 0.1.0
diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/_helpers.tpl
new file mode 100644 (file)
index 0000000..5516ee4
--- /dev/null
@@ -0,0 +1,25 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+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 "fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/virtualservice.yaml
new file mode 100644 (file)
index 0000000..fdeba94
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2019 Intel Corporation, Inc
+#
+# 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: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: {{ template "fullname" . }}
+spec:
+  hosts:
+  {{- range .Values.allowedhosts }}
+  - {{ . | quote }}
+  {{- end }}
+  gateways:
+  {{- range .Values.gateways }}
+  - {{ . | quote }}
+  {{- end }}
+  http:
+  - match:
+    - uri:
+        prefix: /
+    route:
+    - destination:
+        host: {{ .Values.destinationhost }}
+        port:
+          number: {{.Values.port }}
diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/values.yaml
new file mode 100644 (file)
index 0000000..efa0cf3
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2019 Intel Corporation
+#
+# 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.
+#
+# This file is a sample virtualservice format
+allowedhosts:
+- "kafka.mq.k8s.com"
+gateways:
+- http-gateway
+destinationhost: kafka-cluster-kafka-bootstrap
+port: 9092
diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/README.md b/vnfs/DAaaS/deploy/istio-config/m3db-config/README.md
new file mode 100644 (file)
index 0000000..dc0a7e7
--- /dev/null
@@ -0,0 +1,13 @@
+# Istio virtualservice for M3DB to connect to any service
+
+The following values has to be updated depending on the Cluster's installation in values.yaml
+
+1. allowedhosts - URI of Service consuming M3DB (or Any service which consumes M3DB. Eg- Prometheus, Grafana etc)
+2. gateways - Name of the Istio gateway to which this virtualservice will be connected to
+3. destinationhost - m3coordinator service name
+4. port - port of the m3coordinator service
+
+# Installation
+1. helm install m3db-istio-connectivity -n training
+
+NOTE - The namespace (training) is used an example. This has to be changed to be namespace where m3db is deployed.
diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/.helmignore
new file mode 100644 (file)
index 0000000..50af031
--- /dev/null
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/Chart.yaml
new file mode 100644 (file)
index 0000000..c6b478b
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 Intel Corporation
+# #
+# # 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
+appVersion: "1.0"
+description: A Helm chart for Istio virtualservice
+name: m3db-istio-connectivity
+version: 0.1.0
diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/_helpers.tpl
new file mode 100644 (file)
index 0000000..5516ee4
--- /dev/null
@@ -0,0 +1,25 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+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 "fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/virtualservice.yaml
new file mode 100644 (file)
index 0000000..fdeba94
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2019 Intel Corporation, Inc
+#
+# 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: networking.istio.io/v1alpha3
+kind: VirtualService
+metadata:
+  name: {{ template "fullname" . }}
+spec:
+  hosts:
+  {{- range .Values.allowedhosts }}
+  - {{ . | quote }}
+  {{- end }}
+  gateways:
+  {{- range .Values.gateways }}
+  - {{ . | quote }}
+  {{- end }}
+  http:
+  - match:
+    - uri:
+        prefix: /
+    route:
+    - destination:
+        host: {{ .Values.destinationhost }}
+        port:
+          number: {{.Values.port }}
diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/values.yaml
new file mode 100644 (file)
index 0000000..efe76df
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2019 Intel Corporation
+#
+# 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.
+#
+# This file is a sample virtualservice format
+allowedhosts:
+- "m3db.training.k8s.com"
+gateways:
+- http-gateway
+destinationhost: m3coordinator-m3db-cluster
+port: 7201