Configuration
kxi
is configured using a configuration file ~/.insights/cli-config
Many commands require options that don't change often, such as the host that you're interacting with.
Run kxi configure
to create the ~/.insights/cli-config
configuration file.
The configuration file allows these values to be defaulted so you don't need to pass them every time.
Supported Settings
The supported settings are
Setting | Default | Description |
---|---|---|
hostname | Hostname for the kdb Insights Enterprise installation to interact with | |
namespace | kxi | Namespace for the kdb Insights Enterprise installation to interact with |
client.id | Name of the default client | |
client.secret | Default client secret used to request access tokens | |
license.secret | kxi-license | Secret containing kdb+ license |
license.as-env-var | False | Mount kdb+ license secret as an environment variable |
license.filepath | File path and file name of kdb+ license file | |
chart.repo.name | kx-insights | Name for chart repository |
chart.repo.url | https://nexus.dl.kx.com/repository/kx-insights-charts | Repository URL to pull charts from |
chart.repo.username | Username for the chart repository | |
chart.repo.password | Password for the chart repository | |
image.pullSecret | kxi-nexus-pull-secret | Secret containing credentials for the image repository |
image.repository | registry.dl.kx.com | Repository to pull images from |
image.repository.user | User name for image repository | |
image.repository.password | Password for image repository | |
keycloak.secret | kxi-keycloak | Secret containing Keycloak admin password |
keycloak.admin.password | Keycloak admin password | |
keycloak.management.password | Keycloak WildFly management password | |
keycloak.postgresqlSecret | kxi-postgresql | Secret containing Keycloak postgresql passwords |
postgresql.postgres.password | Postgresql postgres password | |
postgresql.user.password | Postgresql user password | |
keycloak.authURL | Auth URL for Keycloak | |
admin.user | user | Keycloak admin user used by the kxi user command |
admin.password | Keycloak admin password used by the kxi user command | |
realm | insights | Name of Keycloak realm |
ingress.cert.secret | kxi-ingress-cert | Secret containing self-managed TLS cert and key for the ingress |
ingress.certmanager.disabled | False | Flag to disable usage of TLS certmanager |
ingress.cert | File path to TLS certificate for the ingress | |
ingress.key | File path to TLS private key for the ingress | |
install.outputFile | values.yaml | Name for the generated values file |
assembly.backup.file | kxi-assembly-state.yaml | Filepath to store state of running assemblies |
release.name | insights | Release name for the install |
client.cert.secret | kxi-certificate | Secret containing TLS cert and key for client issuer |
guiClientSecret | Keycloak client secret for GUI service account | |
operatorClientSecret | Keycloak client secret for operator service account | |
install.filepath | Values file to install with | |
version | Version to install | |
operator.version | Version of the operator to install |
Override the default by explicitly passing the value, or by editing the ~/.insights/cli-config
file directly.
When a setting is omitted from the file, the default value is used.
Azure namespaces
If you deployed from the Azure Marketplace then your namespace must be "insights".
Profiles
kxi
has a global --profile
option to support multiple sets of configuration values.
Run kxi configure --profile <name of new profile>
to create a profile.
Use a profile with the --profile
option.
kxi --profile <name of new profile> <subcommand> [OPTIONS]
The values under the default
profile are used when you do not supply a --profile flag.
Each profile is independent of each other i.e. default
values are not used if you supply a --profile flag.
Example
An example configuration file:
~/.insights/cli-config
[default]
hostname = https://my-host.kx.com
client.id = my-publisher
client.secret = my-secret
[profile-1]
hostname = https://profile-1.kx.com
client.id = profile-1-publisher
client.secret = profile-1-secret