3 Copyright (C) 2023 Nordix Foundation. All rights reserved.
4 Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
9 http://www.apache.org/licenses/LICENSE-2.0
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
19 The ranpm setup works on linux/MacOS or on windows via WSL using a local or remote kubernetes cluster.
23 - local docker for building images
25 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 resources.
27 # Requirement on kubernetes
29 The demo set can be run on local or remote kubernetes.
30 Kubectl must be configured to point to the applicable kubernetes instance.
31 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.
33 - Latest version of istio installed
38 - cmd 'envsubst' must be installed (check by cmd: 'type envsubst' )
39 - cmd 'jq' must be installed (check by cmd: 'type jq' )
44 ## Before installation
45 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.
46 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 /.
48 Build the following images (build instruction in each dir)
55 The installation is made by a few scripts.
56 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.
58 The following scripts are provided for installing (install-nrt.sh mush be installed first):
60 - install-nrt.sh : Installs the main parts of the ranpm setup
61 - install-pm-log.sh : Installs the producer for influx db
62 - install-pm-influx-job.sh : Sets up an alternative job to produce data stored in influx db.
63 - install-pm-rapp.sh : Installs a rapp that subscribe and print out received data
67 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´.
69 ## Exposed ports to APIs
70 All exposed APIs on individual port numbers (nodeports) on the address of the kubernetes control plane.
73 Keycloak API accessed via proxy (proxy is needed to make keycloak issue token with the internal address of keycloak).
76 ### OPA rules bundle server
77 Server for posting updated OPA rules.
80 ### Information coordinator Service
81 Direct access to ICS API.
82 -nodeports (http and https): 31823, 31824
85 Direct access to the Ves-Collector
86 - nodeports (http and https): 31760, 31761
88 ## Exposed ports to admin tools
89 As part of the ranpm installation, a number of admin tools are installed.
90 The tools are accessed via a browser on individual port numbers (nodeports) on the address of the kubernetes control plane.
92 ### Keycload admin console
93 Admin tool for keycloak.
99 With this tool the topics, consumer etc can be viewed.
103 Browser for minio filestore.
106 - password: adminadmin
109 Browser for influx db.
112 - password: mySuP3rS3cr3tT0keN
115 Browser for control-panel \
116 browser: `<host ip>:30091/ei-coordinator`