Reports-server has multiple methods for installation: YAML manifest and Helm Chart.YAML manifest is the recommended method to install reports server when kyverno or policy reports CRDs are already installed in the cluster. Helm chart is the most flexible method as it offers a wide range of configurations.
There are three configuration to install reports server:
- Reports server with managed postgres: Use a centralised postgres database outside of the cluster
- Reports server with incluster postgres: Create a postgres instance in the cluster
- Reports server with inmemory reports store: Store reports in the memory of reports server pod
Reports server can be configured to work with any postgres instance in an out of the cluster. You can install reports server with a postgres instance outside of the cluster with helm as follows.
Get the values for hostname, dbname, postgres username and postgres password from managed postgres and fill the values in helm values
Install the reports-server chart:
helm install reports-server -n reports-server --create-namespace --wait ./charts/reports-server/ \
--set postgresql.enabled=false \
--set config.db.host=<HOST_NAME> \
--set config.db.name=<DB_NAME> \
--set config.db.user=<POSTGRES_USERNAME> \
--set config.db.password=<POSTGRES_PASSWORD> \
--set config.db.sslmode=<SSL_MODE>
Reports server default install creates a postgres instance by default, but for production, it is recommended to use an postgres operator such as CloudNativePG. Reports-server can be installed along side CloudNativePG as follows:
In order to install reports-server with Helm, first add the Reports-server Helm repository:
helm repo add reports-server https://nirmata.github.io/reports-server
Scan the new repository for charts:
helm repo update
Optionally, show all available chart versions for reports-server.
helm search repo reports-server --devel
Install the reports-server chart:
helm install reports-server -n reports-server --create-namespace --wait reports-server/reports-server \
--set config.etcd.enabled=false \
--set postgresql.enabled=true
Reports server can be installed with embedded etcd as well. In this case, reports will be stored in an HA etcd instance. You can install reports-server with etcd database as follows:
Install the reports-server chart:
helm install reports-server --namespace reports-server --create-namespace --wait ./charts/reports-server
To install Reports-server on a kind cluster for testing, run the following commands:
Create a local kind cluster
make kind-create
Build docker images, load images in kind cluster, and deploy helm chart
make kind-install
See DBCONFIG.md