diff options
author | Eric Multanen <eric.w.multanen@intel.com> | 2020-06-23 12:39:26 -0700 |
---|---|---|
committer | Eric Multanen <eric.w.multanen@intel.com> | 2020-06-29 11:01:23 -0700 |
commit | 6e1234913019ef0dd03f8c9d1547fbe22058af6a (patch) | |
tree | 57907a9b1215e5d5d478460acd60ebdb7490a82b /kud/demo/composite-firewall/sink | |
parent | 7165b8294a820e00335067439086e792581e71a4 (diff) |
Add composite vFW demo
Add demonstration files and test scripts to show the vFW
use case as a composite application using network intents
and ovnaction intents to deploy to multiple clusters.
Issue-ID: MULTICLOUD-1095
Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Change-Id: I74b837f9f97747f1eefffbcd105a6630a7b3a374
Diffstat (limited to 'kud/demo/composite-firewall/sink')
7 files changed, 181 insertions, 0 deletions
diff --git a/kud/demo/composite-firewall/sink/.helmignore b/kud/demo/composite-firewall/sink/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/kud/demo/composite-firewall/sink/.helmignore @@ -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/kud/demo/composite-firewall/sink/Chart.yaml b/kud/demo/composite-firewall/sink/Chart.yaml new file mode 100644 index 00000000..f83182e5 --- /dev/null +++ b/kud/demo/composite-firewall/sink/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart to deploy sink for vFirewall +name: sink +version: 0.1.0 diff --git a/kud/demo/composite-firewall/sink/templates/_helpers.tpl b/kud/demo/composite-firewall/sink/templates/_helpers.tpl new file mode 100644 index 00000000..7d82d08d --- /dev/null +++ b/kud/demo/composite-firewall/sink/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "sink.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 "sink.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 -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "sink.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/kud/demo/composite-firewall/sink/templates/configmap.yaml b/kud/demo/composite-firewall/sink/templates/configmap.yaml new file mode 100644 index 00000000..89be1f77 --- /dev/null +++ b/kud/demo/composite-firewall/sink/templates/configmap.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "sink.name" .}}-configmap +data: + protected_net_gw: {{ .Values.global.protectedNetGwIp }} + protected_private_net_cidr: {{ .Values.global.protectedPrivateNetCidr }} diff --git a/kud/demo/composite-firewall/sink/templates/deployment.yaml b/kud/demo/composite-firewall/sink/templates/deployment.yaml new file mode 100644 index 00000000..f1f56b28 --- /dev/null +++ b/kud/demo/composite-firewall/sink/templates/deployment.yaml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "sink.fullname" . }} + labels: + release: {{ .Release.Name }} + app: {{ include "sink.name" . }} + chart: {{ .Chart.Name }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: {{ include "sink.name" . }} + release: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ include "sink.name" . }} + release: {{ .Release.Name }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.sinkrepo }}:{{ .Values.image.sinktag }}" + envFrom: + - configMapRef: + name: {{ include "sink.name" . }}-configmap + imagePullPolicy: {{ .Values.image.pullPolicy }} + tty: true + stdin: true + securityContext: + privileged: true + - name: darkstat + image: "{{ .Values.image.darkstatrepo }}:{{ .Values.image.darkstattag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + tty: true + stdin: true + ports: + - containerPort: {{ .Values.service.ports.port }} diff --git a/kud/demo/composite-firewall/sink/templates/service.yaml b/kud/demo/composite-firewall/sink/templates/service.yaml new file mode 100644 index 00000000..99da7de7 --- /dev/null +++ b/kud/demo/composite-firewall/sink/templates/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: sink-service + labels: + app: {{ include "sink.name" . }} + release: {{ .Release.Name }} + chart: {{ .Chart.Name }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.ports.port }} + nodePort: {{ .Values.service.ports.nodePort }} + selector: + app: {{ include "sink.name" . }} + release: {{ .Release.Name }} diff --git a/kud/demo/composite-firewall/sink/values.yaml b/kud/demo/composite-firewall/sink/values.yaml new file mode 100644 index 00000000..a6fa1c46 --- /dev/null +++ b/kud/demo/composite-firewall/sink/values.yaml @@ -0,0 +1,61 @@ +# Default values for sink. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + sinkrepo: rtsood/onap-vfw-demo-sink + sinktag: 0.2.0 + pullPolicy: IfNotPresent + darkstatrepo: electrocucaracha/darkstat + darkstattag: latest + +nameOverride: "" +fullnameOverride: "" + +service: +#serivce port value for sink service + type: NodePort + ports: + port: 667 + nodePort: 30667 + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +#global vars for parent and subcharts. +global: + + #Networks + unprotectedNetworkName: unprotected-private-net + protectedPrivateNetCidr: 192.168.10.0/24 + + emcoPrivateNetworkName: emco-private-net + + protectedNetworkName: protected-private-net + protectedNetCidr: 192.168.20.0/24 + protectedNetGwIp: 192.168.20.100 + protectedNetGw: 192.168.20.100/24 + + #vFirewall container + vfwPrivateIp0: 192.168.10.3 + vfwPrivateIp1: 192.168.20.2 + vfwPrivateIp2: 10.10.20.3 + + #Packetgen container + vpgPrivateIp0: 192.168.10.200 + vpgPrivateIp1: 10.10.20.200 + + #Sink container + vsnPrivateIp0: 192.168.20.3 + vsnPrivateIp1: 10.10.20.4 + + ######### + ovnMultusNetworkName: ovn-networkobj + demoArtifactsVersion: 1.5.0 + dcaeCollectorIp: 10.0.4.1 + dcaeCollectorPort: 8081 |