Install configuration
KX Nexus
The KX Nexus repository will be sunsetted in the future. Nexus links on this page are provided as a temporary alternative to the KX Downloads Portal for existing users. The KX Downloads Portal is the preferred repository for all use cases and KX Nexus links will be removed once the KX Nexus repository is decommissioned.
A small amount of configuration is required to deploy kdb Insights Enterprise. The kdb Insights CLI provides a wizard to simplify this process and setup the required parameters. In addition you can apply more advanced configurations using the values file it produces.
What is a values file?
kdb Insights Enterprise is deployed as a Helm chart and is configured using a values file. This is a YAML formatted file used to set chart parameters. Helm values
The required parameters for kdb Insights Enterprise involve setting up chart and image repositories, TLS certificates, credentials and similar configs. A sample values file looks something like below. The CLI creates some resources in Kubernetes and the values below reference those.
global:
image:
repository: portal.dl.kx.com
imagePullSecrets:
- name: kx-image-pull-secret
license:
secretName: kxi-license
caIssuer:
name: kxi-certificate
secretName: kxi-certificate
ingress:
host: "sample.kxi.example.com"
keycloak:
auth:
existingSecret: kxi-keycloak
postgresql:
auth:
existingSecret: kxi-postgresql
Existing users can use the KX Nexus repository until Nexus is removed in the future. The following is the equivalent command to the above example, using the KX Nexus repository instead of the KX Downloads Portal:
global:
image:
repository: registry.dl.kx.com
imagePullSecrets:
- name: kx-insights-nexus
license:
secretName: kxi-license
caIssuer:
name: kxi-certificate
secretName: kxi-certificate
ingress:
host: "sample.kxi.example.com"
keycloak:
auth:
existingSecret: kxi-keycloak
postgresql:
auth:
existingSecret: kxi-postgresql
Global values
Some configuration options can be applied globally across all components. Helm
has special handling for the global
key. For example the global.image.repository
key in the example above sets the image registry for all components of kdb Insights Enterprise.
In the following pages, config options will be flagged as global as it applies to them.
Conversely, the keycloak
object defines configuration for the Keycloak component of the application.
The following pages cover the available configuration by area, highlighting what they are used for, their default values and example usages.
YAML indexing notation
As explained above configuration consists of YAML objects. The documentation here
will use .
indexing to indicate values in a nested YAML object. For example, the
repository
object in the block below would be represented by global.image.repository
.
global:
image:
repository: portal.dl.kx.com
The following is the equivalent command to the above example, using KX Nexus instead of the KX Downloads Portal:
global:
image:
repository: registry.dl.kx.com
Applying configuration changes
When you have configuration changes to apply to your deployment, you must update your values file with those changes.
-
Generate a values file.
There are a number of ways to generate a values file:
- If your system is currently deployed, you can run
kxi install get-values
to output it - If you previously deployed, the CLI would have saved a
values.yaml
file to the machine and directory you installed from - If your system is not yet deployed, you can generate one using
kxi install setup
- If your system is currently deployed, you can run
-
Once you have a values file, merge your desired changes into that file.
As an example, assuming you are using the default values from the top of this page and you want to increase the resources of the Keycloak component. This would require merging the values below with the existing ones.
For existing users, to use the KX Nexus repository in the following examples, replace the
global/image/repository
value withregistry.dl.kx.com
and theglobal/imagePullSecrets
value withkx-insights-nexus
.global: image: repository: portal.dl.kx.com imagePullSecrets: - name: kx-image-pull-secrets license: secretName: kxi-license caIssuer: name: kxi-certificate secretName: kxi-certificate ingress: host: "sample.kxi.example.com" keycloak: auth: existingSecret: kxi-keycloak postgresql: auth: existingSecret: kxi-postgresql
keycloak: resources: requests: cpu: 100m memory: 1024Mi limits: cpu: 500m memory: 3072Mi
global: image: repository: portal.dl.kx.com imagePullSecrets: - name: kx-image-pull-secrets license: secretName: kxi-license caIssuer: name: kxi-certificate secretName: kxi-certificate ingress: host: "sample.kxi.example.com" keycloak: auth: existingSecret: kxi-keycloak postgresql: auth: existingSecret: kxi-postgresql resources: requests: cpu: 100m memory: 1024Mi limits: cpu: 500m memory: 3072Mi
Note how the two top-level
keycloak
objects have been merged together. -
You can apply the updated values to the deployment by referencing it as part of the install or upgrade CLI command.
-
If the system is not running, you should install.
kxi install run --filepath values.yaml
-
If it is running, you should upgrade.
kxi install upgrade --filepath values.yaml --version $INSIGHTS_VERSION
Duplicate keys
Be careful not to introduce duplicate objects in your values as only the last one will be actioned and this can result in broken configuration.
In the example below, the first
keycloak:
block containing authentication secrets will not be included in the deployment values.keycloak: auth: existingSecret: kxi-keycloak postgresql: auth: existingSecret: kxi-postgresql .. keycloak: resources: requests: cpu: 100m memory: 1024Mi ..
-