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
8 http://www.apache.org/licenses/LICENSE-2.0
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.
18 The ranpm setup works on linux/MacOS or on windows via WSL using a local or remote kubernetes cluster.
22 - local docker for building images
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 resources.
26 # Requirement on kubernetes
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.
32 - Latest version of istio installed
37 - cmd 'envsubst' must be installed (check by cmd: 'type envsubst' )
38 - cmd 'jq' must be installed (check by cmd: 'type jq' )
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`
47 Build the following images (build instruction in each dir)
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.
57 The following scripts are provided for installing (install-nrt.sh mush be installed first):
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
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´.
68 ## Exposed ports to APIs
69 All exposed APIs on individual port numbers (nodeports) on the address of the kubernetes control plane.
72 Keycloak API accessed via proxy (proxy is needed to make keycloak issue token with the internal address of keycloak).
75 ### OPA rules bundle server
76 Server for posting updated OPA rules.
79 ### Information coordinator Service
80 Direct access to ICS API.
81 -nodeports (http and https): 31823, 31824
84 Direct access to the Ves-Collector
85 - nodeports (http and https): 31760, 31761
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.
91 ### Keycload admin console
92 Admin tool for keycloak.
98 With this tool the topics, consumer etc can be viewed.
102 Browser for minio filestore.
105 - password: adminadmin
108 Browser for influx db.
111 - password: mySuP3rS3cr3tT0keN