update link to upper-constraints.txt
[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 .. note:: \r
59   For more information on generating schema files, see `External-schema-repo-generator (OOM Utils repository) <https://gerrit.onap.org/r/gitweb?p=oom/utils.git;a=tree;f=external-schema-repo-generator>`_\r
60   \r
61   Default ONAP deployment for Istanbul release makes available the SA88-Rel16 OpenAPI schema files; optionally SA99-Rel16 files can be loaded using the `Generator script <https://gerrit.onap.org/r/gitweb?p=oom/utils.git;a=blob;f=external-schema-repo-generator/generator/generate.sh>`_ based on the steps documented in `README <https://git.onap.org/oom/utils/tree/external-schema-repo-generator/README.md>`_\r
62 \r
63 \r
64 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
65 2. Create file with specific VES values-overrides:\r
66 \r
67 .. code-block:: yaml\r
68 \r
69   dcae-ves-collector:\r
70     externalVolumes:\r
71       - name: '<config map name with schema mapping file>'\r
72         type: configmap\r
73         mountPath: <path on VES collector container where externalRepo schema-map is expected>\r
74         optional: true\r
75       - name: '<config map name contains schemas>'\r
76         type: configmap\r
77         mountPath: <path on VES collector container where externalRepo openAPI files are stored>\r
78         optional: true\r
79 \r
80 E.g:\r
81 \r
82 .. code-block:: yaml\r
83 \r
84   dcae-ves-collector:\r
85     externalVolumes:\r
86       - name: 'dev-dcae-external-repo-configmap-schema-map'\r
87         type: configmap\r
88         mountPath: /opt/app/VESCollector/etc/externalRepo\r
89         optional: true\r
90       - name: 'dev-dcae-external-repo-configmap-sa88-rel16'\r
91         type: configmap\r
92         mountPath: /opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI \r
93         optional: true\r
94 \r
95 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
96 \r
97 3. Upgrade release using following command:\r
98 \r
99 .. code-block:: bash\r
100 \r
101   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
102 \r
103 E.g:\r
104 \r
105 .. code-block:: bash\r
106 \r
107   helm -n onap upgrade dev-dcaegen2-services --reuse-values -f values.yaml .\r
108 \r
109 \r
110 Using external TLS certificates obtained using CMP v2 protocol\r
111 --------------------------------------------------------------\r
112 \r
113 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
114 \r
115 :ref:`Enabling TLS with external x.509 certificates <external-tls-helm>`\r
116 \r
117 Example values for VES Collector:\r
118     .. code-block:: bash\r
119 \r
120         global:\r
121           cmpv2Enabled: true\r
122         dcae-ves-collector:\r
123           useCmpv2Certificates: true\r
124           certificates:\r
125           - mountPath: /opt/app/dcae-certificate/external\r
126             commonName: dcae-ves-collector\r
127             dnsNames:\r
128               - dcae-ves-collector\r
129               - ves-collector\r
130               - ves\r
131             keystore:\r
132               outputType:\r
133                 - jks\r
134               passwordSecretRef:\r
135                 name: ves-cmpv2-keystore-password\r
136                 key: password\r
137                 create: true\r
138 \r