Initial CDS blueprint for vFW CNF demo
[demo.git] / heat / vFW_CNF_CDS / templates / helm / vfw / templates / deployment.yaml
1 apiVersion: apps/v1
2 kind: Deployment
3 metadata:
4   name: {{ .Values.vfw_name_0 }}
5   labels:
6     release: {{ .Release.Name }}
7     app: {{ .Values.vfw_name_0 }}
8     chart: {{ .Chart.Name }}
9     vnf-name: {{ .Values.vnf_name }}
10 spec:
11   replicas: {{ .Values.replicaCount }}
12   selector:
13     matchLabels:
14       app: {{ .Values.vfw_name_0 }}
15       release: {{ .Release.Name }}
16   template:
17     metadata:
18       labels:
19         app: {{ .Values.vfw_name_0 }}
20         release: {{ .Release.Name }}
21         vnf-name: {{ .Values.vnf_name }}
22       annotations:
23         VirtletLibvirtCPUSetting: |
24           mode: host-model
25         VirtletCloudInitUserData: |
26           ssh_pwauth: True
27           users:
28           - name: admin
29             gecos: User
30             primary-group: admin
31             groups: users
32             sudo: ALL=(ALL) NOPASSWD:ALL
33             # Password is "testuser"
34             passwd: "$6$rounds=4096$D6cf92nq$cgBveQHTP7IK3CIYTNkVJyzd0Vze6l1QlV9sWSXiTma2hOCTl7bFSh4nvK5qPMvNlnDtlIm03arG5Uh866E9w."
35             lock_passwd: False
36           runcmd:
37             - wget -O firewall.sh https://git.onap.org/multicloud/k8s/plain/kud/tests/vFW/firewall
38             - bash -c 'set -a; . /etc/cloud/environment; bash firewall.sh'
39         VirtletRootVolumeSize: 5Gi
40         k8s.v1.cni.cncf.io/networks: "{{ .Values.vnf_name }}-ovn-attachment"
41         k8s.plugin.opnfv.org/nfn-network: | 
42             { "type": "ovn4nfv",
43               "interface": [
44                 { "name": {{ .Values.int_private1_net_id | quote }},
45                   "ipAddress": {{ .Values.vfw_int_private1_ip_0 | quote }},
46                   "interface": "eth1",
47                   "defaultGateway": "false" },
48                 { "name": {{ .Values.int_private2_net_id | quote }},
49                   "ipAddress": {{ .Values.vfw_int_private2_ip_0 | quote }},
50                   "interface": "eth2",
51                   "defaultGateway": "false" },
52                 { "name": {{ .Values.onap_private_net_id | quote }},
53                   "ipAddress": {{ .Values.vfw_onap_private_ip_0 | quote }},
54                   "interface": "eth3",
55                   "defaultGateway": "false" }
56               ]
57             }
58         kubernetes.io/target-runtime: virtlet.cloud
59     spec:
60       affinity:
61         nodeAffinity:
62           requiredDuringSchedulingIgnoredDuringExecution:
63             nodeSelectorTerms:
64             - matchExpressions:
65               - key: extraRuntime
66                 operator: In
67                 values:
68                 - virtlet
69       containers:
70       - name: {{ .Chart.Name }}
71         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
72         imagePullPolicy: {{ .Values.image.pullPolicy }}
73         tty: true
74         stdin: true
75         envFrom:
76         - configMapRef:
77             name: {{ .Values.vfw_name_0 }}-configmap
78         resources:
79           limits:
80             memory: {{ .Values.resources.limits.memory }}