Reporting and Data Analytics
This installation guide provides details on how to install Reporting and Data Analytics (RDA).
System Requirements
Before installing RDA, you must have the following:
- Helm For installation instructions, refer to Installing Helm.
- Kubectl For installation instructions, refer to Installing kubectl.
Other prerequisites
- Domain mapped to the ingress controller load balancer. For example,
df.example.com - SSL certificates for the domain
- Certificate (
.crtorcert) - Key (
.key) - Keystore (
.p12)
- Certificate (
- Registry credentials to access the Dockerhub
- AWS S3 bucket and credentials
- AWS load balancer for Dremio
Configuration requirements
Generate p12 certificates from the SSL/TLS certificate
You should also have a valid certificate for the DNS. To generate the p12 and encoded values, follow these steps:
-
Generate a p12 certificate from the DNS certificate by running the following command.
Ensure to replace the following with valid values:
tls.crtis the full chain certificate, andtls.keyis the certificate key.
openssl pkcs12 -export -in tls.crt -inkey tls.key -out keystore.p12 -
Generate an encoded value for the certificates.
kubectl create secret generic subdomain-certificate \ --from-file=tls.crt=tls.crt \ --from-file=tls.key=tls.key \ --from-file=keystore.p12=keystore.p12 \ --namespace="$NAMESPACE"
Initialize the database
- Create a databasethat will hold the data of RDA.
- Restore
app.sqlin the database.
Install RDA
To install RDA, follow these steps:
-
Create a
values-override.yamlfile.global: rda: enabled: true image: imagePullSecrets: - name: regcred database: DB_HOST: somerds.clsnsx0duv8h.us-east-1.rds.amazonaws.com DB_PORT: "5432" DB_NAME: dbname DB_USERNAME: postgres DB_PASSWORD: postgrespassword framework: fw-ssologin: ingress: enabled: true className: "nginx" annotations: nginx.ingress.kubernetes.io/proxy-send-timeout: 300s hosts: - host: df.riaapps.com paths: - path: / pathType: Prefix tls: - hosts: - df.riaapps.com secretName: subdomain-certificate rda: enabled: true dremio_v2: # Dist storage for Dremio distStorage: type: "aws" aws: bucketName: "bucket name" path: "/" authentication: "accessKeySecret" credentials: accessKey: "ACCESS KEY" secret: "SECRET" superset: ingress: enabled: true ingressClassName: nginx annotations: nginx.ingress.kubernetes.io/proxy-body-size: 32m path: / pathType: ImplementationSpecific hosts: - superset.example.com tls: - hosts: - superset.example.com secretName: superset-tls -
Create registry credentials.
kubectl create secret docker-registry regcred \ --docker-username="riaadvisory1" \ --docker-password="$DOCKER_PASSWORD" \ --namespace="$NAMESPACE" -
Install RDA.
helm install riaapps ./ -n namespaceIf you need to use an environment-specific value, specify the filepath.
helm install riaapps ./ -n namespace -f values.yaml
Upgrade an existing RDA version
If you need to upgrade your RDA to the latest version, run:
helm upgrade riaapps ./ -n namespace
If you need to use an environment-specific value, specify the filepath.
helm upgrade riaapps ./ -n namespace -f values.yaml
Enable or disable components
You can modify the values of subcharts directly or override them during installation or upgrade. To do this, you can edit the values.yaml file of the riaapps directly and set the enabled parameters to either true or false.
Each subchart, such as riaapps/framework, also has its own values.yaml file that contains options for enabling or disabling its components.
Subcharts
The riaapps chart is an umbrella chart containing several subcharts under charts:
| Subchart | Description / Components |
|---|---|
| framework |
Core platform framework that includes shared foundational services such as:
|
| hazelcast | Distributed in-memory data grid providing caching, data synchronization, and high-speed access for real-time applications. |
| kafka | Distributed messaging and event streaming platform used for real-time data pipelines, communication between microservices, and event-driven architecture. |
| rda |
Analytics and reporting stack composed of:
|