Merge changes I86907081,Iccdbe2a2
[dcaegen2.git] / docs / sections / services / ves-http / installation-helm.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.\r
2 .. http://creativecommons.org/licenses/by/4.0\r
3 .. _ves-installation-helm:\r
4 \r
5 VES Collector Helm Installation\r
6 ===============================\r
7 \r
8 Authentication Support - Helm based deployment\r
9 ----------------------------------------------\r
10 \r
11 VES Collector support following authentication types\r
12 \r
13     * *auth.method=noAuth* - no security (http)\r
14     * *auth.method=certBasicAuth* - is used to enable mutual TLS authentication or/and basic HTTPs authentication\r
15 \r
16 Default ONAP deployed VESCollector is configured for "certBasicAuth".\r
17 \r
18 The default behavior can be changed by upgrading dcaegen2-services deployment with custom values:\r
19     .. code-block:: bash\r
20 \r
21         helm -n <namespace> upgrade <DEPLOYMENT_PREFIX>-dcaegen2-services --reuse-values --values <path to values> <path to dcaegen2-services helm charts>\r
22 \r
23 For example:\r
24     .. code-block:: bash\r
25 \r
26         helm -n onap upgrade dev-dcaegen2-services --reuse-values --values new-config.yaml oom/kubernetes/dcaegen2-services\r
27 \r
28 Where the contents of ``new-config.yaml`` file is:\r
29     .. code-block:: bash\r
30 \r
31         dcae-ves-collector:\r
32           applicationConfig:\r
33             auth.method: "noAuth"\r
34 \r
35 For small changes like this, it is also possible to inline the new value:\r
36     .. code-block:: bash\r
37 \r
38         helm -n onap upgrade dev-dcaegen2-services --reuse-values --set dcae-ves-collector.applicationConfig.auth.method="noAuth" oom/kubernetes/dcaegen2-services\r
39 \r
40 After the upgrade, the new auth method value should be visible inside dev-dcae-ves-collector-application-config-configmap Config-Map.\r
41 It can be verified by running:\r
42     .. code-block:: bash\r
43 \r
44         kubectl -n onap get cm <config map name> -o yaml\r
45 \r
46 For VES Collector:\r
47     .. code-block:: bash\r
48 \r
49         kubectl -n onap get cm dev-dcae-ves-collector-application-config-configmap -o yaml\r
50 \r
51 \r
52 .. _external-repo-schema-via-helm:\r
53 \r
54 External repository schema files integration with VES Collector\r
55 -------------------------------------------------------------------\r
56 In order to utilize the externalRepo openAPI schema files defined in `OOM <https://gerrit.onap.org/r/gitweb?p=oom.git;a=tree;f=kubernetes/dcaegen2-services/resources/external>`_ repository and installed with dcaegen2 module, follow below steps.\r
57 \r
58 1. Go to directory with dcaegen2-services helm charts (oom/kubernetes/dcaegen2-services). These charts should be located on RKE deployer node or server which is used to deploy and manage ONAP installation by Helm charts.\r
59 2. Create file with specific VES values-overrides:\r
60 \r
61 .. code-block:: yaml\r
62 \r
63   dcae-ves-collector:\r
64     externalVolumes:\r
65       - name: '<config map name with schema mapping file>'\r
66         type: configmap\r
67         mountPath: <path on VES collector container where externalRepo schema-map is expected>\r
68         optional: true\r
69       - name: '<config map name contains schemas>'\r
70         type: configmap\r
71         mountPath: <path on VES collector container where externalRepo openAPI files are stored>\r
72         optional: true\r
73 \r
74 E.g:\r
75 \r
76 .. code-block:: yaml\r
77 \r
78   dcae-ves-collector:\r
79     externalVolumes:\r
80       - name: 'dev-dcae-external-repo-configmap-schema-map'\r
81         type: configmap\r
82         mountPath: /opt/app/VESCollector/etc/externalRepo\r
83         optional: true\r
84       - name: 'dev-dcae-external-repo-configmap-sa91-rel16'\r
85         type: configmap\r
86         mountPath: /opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/Rel-16-SA-91/OpenAPI\r
87         optional: true\r
88 \r
89 If more than a single external schema is required add new config map to object 'externalVolumes' like in above example. Make sure that all external schemas (all openAPI files) are reflected in the schema-map file.\r
90 \r
91 3. Upgrade release using following command:\r
92 \r
93 .. code-block:: bash\r
94 \r
95   helm -n <namespace> upgrade <dcaegen2-services release name> --reuse-values -f <path to values.yaml file created in previous step> <path to dcaegen2-services helm chart>\r
96 \r
97 E.g:\r
98 \r
99 .. code-block:: bash\r
100 \r
101   helm -n onap upgrade dev-dcaegen2-services --reuse-values -f values.yaml .\r
102 \r
103 \r
104 Using external TLS certificates obtained using CMP v2 protocol\r
105 --------------------------------------------------------------\r
106 \r
107 In order to use the X.509 certificates obtained from the CMP v2 server (so called "operator`s certificates"), refer to the following description:\r
108 \r
109 :ref:`Enabling TLS with external x.509 certificates <external-tls-helm>`\r
110 \r
111 Example values for VES Collector:\r
112     .. code-block:: bash\r
113 \r
114         global:\r
115           cmpv2Enabled: true\r
116         dcae-ves-collector:\r
117           useCmpv2Certificates: true\r
118           certificates:\r
119           - mountPath: /opt/app/dcae-certificate/external\r
120             commonName: dcae-ves-collector\r
121             dnsNames:\r
122               - dcae-ves-collector\r
123               - ves-collector\r
124               - ves\r
125             keystore:\r
126               outputType:\r
127                 - jks\r
128               passwordSecretRef:\r
129                 name: ves-cmpv2-keystore-password\r
130                 key: password\r
131                 create: true\r
132 \r