RANPM - Update to latest image versions
[nonrtric/plt/ranpm.git] / install / README.md
1 ## License
2
3 Copyright (C) 2023 Nordix Foundation. All rights reserved.
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8      http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 ## Prerequisites
17
18 The ranpm setup works on linux/MacOS or on windows via WSL using a local or remote kubernetes cluster.
19
20 - local kubectl
21 - kubernetes cluster
22 - local docker for building images
23
24 It is recommended to run the ranpm on a kubernetes cluster instead of local docker-desktop etc as the setup requires a fair amount of computer resouces.
25
26 # Requirement on kubernetes
27
28 The demo set can be run on local or remote kubernetes.
29 Kubectl must be configured to point to the applicable kubernetes instance.
30 Nodeports exposed by the kubernetes instance must be accessible by the local machine - basically the kubernetes control plane IP needs to be accessible from the local machine.
31
32 - Latest version of istio installed
33
34 # Other requirements
35 - helm3
36 - bash
37 - cmd 'envsubst' must be installed (check by cmd: 'type envsubst' )
38 - cmd 'jq' must be installed (check by cmd: 'type jq' )
39 - keytool
40 - openssl
41
42
43 ## Before installation
44 The following images need to be built manually. If remote or multi node cluster is used, then an image repo needs to be available to push the built images to.
45 If external repo is used, use the same repo for all built images and configure the reponame in `helm/global-values.yaml` (the parameter value of extimagerepo shall have a trailing `/`)
46
47 Build the following images (build instruction in each dir)
48 - ranpm/https-server
49 - pm-rapp
50
51
52 ## Installation
53
54 The installation is made by a few scripts.
55 The main part of the ranpm is installed by a single script. Then, additional parts can be added on top. All installations in kubernetes is made by helm charts.
56
57 The following scripts are provided for installing (install-nrt.sh mush be installed first):
58
59 - install-nrt.sh : Installs the main parts of the ranpm setup
60 - install-pm-log.sh : Installs the producer for influx db
61 - install-pm-influx-job.sh : Sets up an alternative job to produce data stored in influx db.
62 - install-pm-rapp.sh : Installs a rapp that subscribe and print out received data
63
64 ## Uninstallation
65
66 There is a corresponding uninstall script for each install script. However, it is enough to just run `uninstall-nrt.sh` and `uninstall-pm-rapp.sh´.
67
68 ## Exposed ports to APIs
69 All exposed APIs on individual port numbers (nodeports) on the address of the kubernetes control plane.
70
71 ### Keycloak API
72 Keycloak API accessed via proxy (proxy is needed to make keycloak issue token with the internal address of keycloak).
73 - nodeport: 31784
74
75 ### OPA rules bundle server
76 Server for posting updated OPA rules.
77 - nodeport: 32201
78
79 ### Information coordinator Service
80 Direct access to ICS API.
81 -nodeports (http and https): 31823, 31824
82
83 ### Ves-Collector
84 Direct access to the Ves-Collector
85 - nodeports (http and https): 31760, 31761
86
87 ## Exposed ports to admin tools
88 As part of the ranpm installation, a number of admin tools are installed.
89 The tools are accessed via a browser on individual port numbers (nodeports) on the address of the kubernetes control plane.
90
91 ### Keycload admin console
92 Admin tool for keycloak.
93 - nodeport : 31788
94 - user: admin
95 - password: admin
96
97 ### Redpanda consule
98 With this tool the topics, consumer etc can be viewed.
99 - nodeport: 31767
100
101 ### Minio web
102 Browser for minio filestore.
103 - nodeport: 31768
104 - user: admin
105 - password: adminadmin
106
107 ### Influx db
108 Browser for influx db.
109 - nodeport: 31812
110 - user: admin
111 - password: mySuP3rS3cr3tT0keN