Send Feedback
Skip to content

OneTick US Comp (US Consolidated Equities) Accelerator Quickstart Guide

This page provides a quickstart guide for the OneTick US Comp Accelerator, an FSI Accelerator package that comes with ready-made schemas and pipelines out of the box.

Introduction

The fsi-app-ot-uscomp kdb Insights Accelerator package provides ready-to-use OneTick US Comp schema definitions and ingestion pipelines. It is built to work with fsi-lib, which provides feature-rich query APIs out of the box. This package is designed to minimize configuration overhead, enabling rapid onboarding of OneTick US Comp data into kdb Insights Enterprise.

If you have access to an S3 bucket pre-populated with OneTick US Comp data in kdb+ partitioned HDB format, an additional setup package named ot-data-vol-prep is available. The ot-data-vol-prep package performs a one-time initialization of the S3 HDB.

Deploy and run ot-data-vol-prep to completion before deploying fsi-app-ot-uscomp for the first time, ensuring the Accelerator can access historic data immediately upon deployment.

Warning

The fsi-app-ot-uscomp Storage Manager fails to initialize if you start the Accelerator before the ot-data-vol-prep cpmpletes. Refer to Troubleshooting for more information.

Prerequisites

This quickstart guide is not intended to be a comprehensive kdb Insights Enterprise install guide. Refer to the kdb Insights Enterprise Installation guide for more details on installation.

This guide assumes the following pre-requisites:

  • kdb Insights Enterprise is installed, and
    • The following credentials have been obtained and configured for users:
      • Web Interface user
      • API Client
    • A KX Downloads Portal bearer token to download packages/charts (represented by BEARER in this guide).
  • Tools used:
    • Access to *nix command-line
    • kdb Insights CLI - kxi
    • Kubernetes tools:
      • kubectl
      • K9s
    • Helm installed and logged in to nexus

Quick Start Guide

Set package versions

Before you begin, set your Accelerator, volume prep and fsi-lib version, as shown below. This helps simplify the download and installation commands.

export ACCELVER=1.0.0
export VOLPREPVER=1.0.0
export FSILIBVER=1.3.8

Download the packages

To download the required FSI packages from the KX Downloads Portal, run the following:

# Download fsi-lib - the Core FSI Library
curl -s --fail-with-body -D /dev/stderr --oauth2-bearer ${BEARER} -L -OJ https://portal.dl.kx.com/assets/raw/kxi-accelerators/fsi/fsi-lib/packages/${FSILIBVER}/fsi-lib-${FSILIBVER}.kxi

# Download fsi-app-ot-uscomp - the OneTick US Comp Accelerator
curl -s --fail-with-body -D /dev/stderr --oauth2-bearer ${BEARER} -L -OJ https://portal.dl.kx.com/assets/raw/kxi-accelerators/fsi/fsi-ot-uscomp/packages/${ACCELVER}/fsi-app-ot-uscomp-${ACCELVER}.kxi

# Download ot-data-vol-prep - the volume prep package
curl -s --fail-with-body -D /dev/stderr --oauth2-bearer ${BEARER} -L -OJ https://portal.dl.kx.com/assets/raw/kxi-accelerators/ot-data-vol-prep/packages/${VOLPREPVER}/ot-data-vol-prep-${VOLPREPVER}.kxi

ot-data-vol-prep quickstart steps

The ot-data-vol-prep package prepares the HDB volume used by fsi-app-ot-uscomp so the database can initialize from an existing S3-backed HDB store.

It deploys a KDB-Workload that copies the sym file from your S3 bucket to a PVC for the fsi-app-ot-uscomp HDB. This is a one-time step required for the HDB to read data from the S3 bucket.

Warning

The fsi-app-ot-uscomp Storage Manager fails to initialize if you start the Accelerator before the ot-data-vol-prep completes. Refer to Troubleshooting for more information.

S3 Bucket HDB Object Storage setup

  1. Create your S3 bucket to act as an HDB storage tier.
  2. Copy kdb+ HDB format data provided by KX/OneTick from their S3 location to your bucket for the date partitions you are interested in. If necessary, reach out to KX for assistance.

ot-data-vol-prep configuration steps

The ot-data-vol-prep package must be configured with your specific environment values. To edit the package, unpack it using the following command:

kxi package unpack ot-data-vol-prep-${VOLPREPVER}.kxi

Once unpacked, update the required variables as outlined in the below table:

Purpose Where Key / path Default Notes
S3 HDB sym file location ot-data-vol-prep/workload.yaml spec.instances.ot-vol-prep.envOT_HDB_S3_BUCKET s3://<INSERT_BUCKET_NAME>/<INSERT_PATH_TO_SYM_FILE>/sym Location of the sym file in your S3 HDB. Note: this must be a fully-qualified path to the file.
AWS region ot-data-vol-prep/workload.yaml spec.instances.ot-vol-prep.envAWS_REGION <INSERT_OT_HDB_S3_BUCKET_REGION> Must match the bucket region.
HDB PVC name ot-data-vol-prep/workload.yaml spec.storage.name fsi-app-ot-uscomp-hdb Must match the volume name used by fsi-app-ot-uscomp. Must be changed if you plan on deploying a package with a custom name other than fsi-app-ot-uscomp.
HDB PVC size ot-data-vol-prep/workload.yaml spec.storage.size 20Gi Increase / decrease depending on your needs.
Storage class ot-data-vol-prep/workload.yaml spec.storage.storageClass rook-cephfs Adjust if your cluster uses a different default or required storage class.
AWS credentials Cluster Secret ot-data-s3 Create the secret; no default. Required secret keys: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, optionally AWS_SESSION_TOKEN.

See the example below.

AWS credentials example

Example command to create the secret with these values:

kubectl create secret generic ot-data-s3 -n <namespace> --from-literal=AWS_REGION=<region> --from-literal=AWS_ACCESS_KEY_ID=<access-key-id> --from-literal=AWS_SECRET_ACCESS_KEY=<secret-access-key>

If using AWS_SESSION_TOKEN, uncomment the relevant section in ot-data-vol-prep/workload.yaml.

Once configuration has been updated you can validate, push and deploy the volume prep package:

# Validate package contents
kxi package validate ot-data-vol-prep
# Push package to Insights Enterprise
kxi pm push ot-data-vol-prep
# Deploy package to Insights Enterprise
kxi pm deploy ot-data-vol-prep

To view package status:

kxi pm list

# More detailed status
kxi pm list deployment

To view logs:

kxi obs logs --workload ot-data-vol-prep -w

The volume preparation must complete successfully before you deploy fsi-app-ot-uscomp. Confirm that the workload logs contain:

INFO: Using license file [/opt/kx/lic/k4.lic]
recieved args [ `package`initFile!`ot-data-vol-prep`src/init.q ]
setting active directory [ /opt/kx/deps/ot-data-vol-prep ]
loading packaged script src/init.q
2026.06.19D16:43:58.644601487 info PID[21] HOST[ot-data-vol-prep-ot-vol-prep-0] Launching ot volume prep
2026.06.19D16:43:58.644770549 info PID[21] HOST[ot-data-vol-prep-ot-vol-prep-0] Will get sym file from S3 Bucket in Region = [ eu-west-1 ]
2026.06.19D16:43:58.644805483 info PID[21] HOST[ot-data-vol-prep-ot-vol-prep-0] Will get sym file from S3 Bucket at URI = [ s3://bucket/path/to/sym ]
2026.06.19D16:43:58.658632479 info PID[21] HOST[ot-data-vol-prep-ot-vol-prep-0] Registering AWS credentials.
2026.06.19D16:43:58.658722404 info PID[21] HOST[ot-data-vol-prep-ot-vol-prep-0] Downloading sym file from [ https://bucket.s3.region.amazonaws.com/path/to/sym ]
2026.06.19D16:43:58.818826163 info PID[21] HOST[ot-data-vol-prep-ot-vol-prep-0] sym file downloaded
2026.06.19D16:43:58.825746885 info PID[21] HOST[ot-data-vol-prep-ot-vol-prep-0] sym file written to data/sym

Once complete the workload can be torn down:

kxi pm teardown ot-data-vol-prep

Note

See the OneTick Data Volume Prep documentation for more details on how to configure and troubleshoot the ot-data-vol-pre package.

fsi-app-ot-uscomp quickstart steps

Note

If you have existing OneTick US Comp data on an S3 bucket in kdb+ partitioned format and want to mount it to the fsi-app-ot-uscomp database you must first configure and deploy the ot-data-vol-prep package. Complete the ot-data-vol-prep quickstart steps before deploying fsi-app-ot-uscomp.

Warning

The fsi-app-ot-uscomp Storage Manager fails to initialize if you start the Accelerator before the ot-data-vol-prep completes. Refer to Troubleshooting for more information.

To configure your fsi-app-ot-uscomp package you must first unpack it using:

kxi package unpack fsi-app-ot-uscomp-${ACCELVER}.kxi

Configure fsi-app-ot-uscomp to access data in S3

After completing the ot-data-vol-prep quickstart steps, update the HDB object storage tier section of the Storage Manager configuration in fsi-app-ot-uscomp/databases/fsi-core-db/shards/fsi-core-db-shard.yaml to point to your S3 location. Set this to the full path to the directory containing the date partitions of your S3 HDB:

- mount: hdb
  name: hdbobj
  store: s3://<INSERT_BUCKET_NAME>/<INSERT_PATH_TO_S3_HDB_DATE_PARTITIONS>/

For more details on using an object store tier, see the object store tier documentation.

As mentioned in ot-data-vol-prep configuration steps, the Storage Manager and DAPs read AWS_REGION, AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY values from the Kubernetes secret ot-data-s3. If you need the Storage Manager and DAPs to use different credentials then edit the database yaml file accordingly.

By default the local HDB tier has a retain value of 90 days (tiersmount: hdbretain.time in fsi-app-ot-uscomp/databases/fsi-core-db/shards/fsi-core-db-shard.yaml). This means data is retained on local disk for 90 days before being moved to S3. Edit this value if required.

name: hdb
retain:
  time: 90 days

Install Accelerator packages

Run the command below to install the FSI packages:

kxi pm push fsi-lib-${FSILIBVER}.kxi
kxi pm push fsi-app-ot-uscomp

Deploy the database

Run the command below to deploy the database:

kxi pm deploy fsi-app-ot-uscomp --db fsi-core-db

Info

At this point, you should be able to see the data access point (DAPs) in k9s or by using the kdb Insights Enterprise web interface.

The first time you deploy the database, the Storage Manager runs a one-time validation on the S3 store to confirm the data schemas conform to the schema definitions in fsi-app-ot-uscomp. This validation can take several hours depending on the volume of data in your S3 bucket. For more information and configuration options, see the database validation documentation.

Deploy the pipelines

Historic Data Loader Pipeline

The otdataloader pipeline watches an S3 bucket, monitoring for new kdb date partitions to ingest. When it finds a new completed date partition it triggers copy and ingest of that partition into the fsi-app-ot-uscomp database.

Run the command below to deploy otdataloader

# First Set Environment Variables to be used by pipeline
OT_DATA_LOADER_S3_URI='s3://<BUCKET_NAME>/<PREFIX>/'
START_DATE=<INSERT_START_DATE_FOR_SP_INGESTION_FROM_S3>
DATE_LIMIT=2
AWS_REGION=<INSERT_REGION>
AWS_ACCESS_KEY_ID=<INSERT_AWS_ACCESS_KEY_ID>
AWS_SECRET_ACCESS_KEY=<INSERT_AWS_SECRET_ACCESS_KEY>
AWS_SESSION_TOKEN=<INSERT_AWS_SESSION_TOKEN>
# Note: Variables `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and `AWS_SESSION_TOKEN` can be quickly set using the command `eval $(aws configure export-credentials --format env)`

# Command to deploy the SP pipeline
kxi pm deploy fsi-app-ot-uscomp --pipeline otdataloader --env otdataloader:OT_DATA_LOADER_S3_URI=$OT_DATA_LOADER_S3_URI --env otdataloader:OT_DATA_LOADER_REGION=$AWS_REGION --env otdataloader:AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID --env otdataloader:AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY --env otdataloader:AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN --env otdataloader:START_DATE=$START_DATE --env otdataloader:DATE_LIMIT=$DATE_LIMIT

Note

See the OneTick Historic Pipeline documentation for more details on how to use the otdataloader pipeline.

Realtime Pipeline

The otrealtime pipeline ingests real time data from the Activ data feed, via a rt-activ-pub feed handler, into kdb Insights Enterprise.

Run the command below to deploy the real time pipeline:

kxi pm deploy fsi-app-ot-uscomp --pipeline otrealtime

Note

See the OneTick Realtime Pipeline documentation for more details on how to use the otrealtime pipeline.

Configure and deploy the feed handler

Unpack the Accelerator package to get the feed handler configuration file template:

kxi package unpack fsi-app-ot-uscomp-${ACCELVER}.kxi

Update the example Activ Feedhandler configuration file to include your credentials and preferences.

vi fsi-app-ot-uscomp/config/feed/ot-activ-feed-values.yaml

Note

The configuration file contains a lot of commonly pre-populated default values. Any values that are expected to require updating on a per-deployment base have been marked with a TODO comment.

The values of active.host, active.userId and active.pass in particular should be updated before deploying the feedhandler.

Add the KX helm repository from the KX Downloads Portal:

helm repo add kx https://portal.dl.kx.com/assets/helm --username <INSERT_EMAIL> --password <INSERT_BEARER_TOKEN>

Tip

For information on how to set up your downloads bearer token, refer to https://portal.dl.kx.com/auth/token.

Download the Activ Feedhandler from helm:

helm fetch kx/rt-activ-pub --version 1.14.0 --untar

To create a secret for the Helm chart to pull the feed image, use the following command:

kubectl create secret docker-registry "docker-pull" --docker-server=portal.dl.kx.com --docker-username=<INSERT_EMAIL> --docker-password=<INSERT_BEARER_TOKEN> --docker-email=<INSERT_EMAIL> -n <INSERT_YOUR_NAMESPACE>

Copy fsi-app-ot-uscomp specific config files to the feedhandler:

# Copy the `schema.xml` file from the Accelerator to the Activ Feedhandler
cp fsi-app-ot-uscomp/config/feed/files/activ/schema.xml rt-activ-pub/config/

# Copy the `eventToTable.json` file from the Accelerator to the Activ Feedhandler:
cp fsi-app-ot-uscomp/config/feed/files/activ/eventToTable.json rt-activ-pub/config/

To specify the subscription list of instruments, use one of the following approaches:

  • Update the subscription field in rt-activ-pub/values.yaml with the required subscriptions:

    vi rt-activ-pub/values.yaml
    
  • To use a file for the subscription list instead, remove or comment out the subscription field in rt-activ-pub/values.yaml, copy an example file from the Accelerator to the feed handler, and rename it SymbolHJ.txt:

    cp fsi-app-ot-uscomp/config/feed/files/activ/SymbolHJTEST.txt rt-activ-pub/config/SymbolHJ.txt
    

    Then update SymbolHJ.txt with the required instrument list.

Install the Activ Feedhandler Helm Chart using your updated config file:

helm install rt-activ-pub ./rt-activ-pub -f fsi-app-ot-uscomp/config/feed/ot-activ-feed-values.yaml -n <INSERT_YOUR_NAMESPACE>

Verify the Activ FH is running using kubectl:

kubectl describe pod rt-activ-pub-0

Expected output from above command on successful install:

Events:
  Type    Reason                  Age   From                     Message
  ----    ------                  ----  ----                     -------
  Normal  Created                 24s   kubelet                  Created container rt-activ-pub
  Normal  Started                 24s   kubelet                  Started container rt-activ-pub

Troubleshooting

Accelerator deployed before ot-data-vol-prep runs to completion.

If you deploy the Accelerator before ot-data-vol-prep completes, the Storage Manager gets stuck at the "Initializing" stage. Confirm this by checking the logs for the following:

{"time":"2026-06-22T16:25:00.392z","component":"GENDB","level":"INFO","message":"[eoi] Completed kdb+ database validation, path=:s3://kx-ot-integration-demo/kh-mount-test/US_COMP/hdb","service":"eoi"}
{"time":"2026-06-22T16:25:00.494z","component":"GENDB","level":"INFO","message":"[eoi] Checking initial-import database, dir=:/data/db/hdb/data","service":"eoi"}
{"time":"2026-06-22T16:25:00.494z","component":"MSVC","level":"ERROR","message":"[eoi] Assertion failed: No sym file found at path: `:/data/db/hdb/data/sym","service":"eoi"}
{"time":"2026-06-22T16:25:00.494z","component":"LOG","level":"ERROR","message":"[eoi] .kxdepexec.run Error executing fn=.smeoi.init2\nError: No sym file found at path: `:/data/db/hdb/data/sym\nStack:\n  [11] (.msvc.assert)\n\n  [10] (.gendb.genHDB)\n\n  [9]  (.gendb.genDB)\n\n  [8]  (.smeoi.init2)\n\n  [7]  (.Q.trp)\n\n  [6]  (.pe.e.ats)\n\n  [5]  (.kxdepexec.pRun)\n\n  [4]  (.Q.trp)\n\n  [3]  (.pe.e.atsr)\n\n  [2]  (.tm.tmexec)\n\n  [1]  (.tm.run)\n\n  [0]  (.com_kx_util.addcb@)\n\n","service":"eoi"}

To resolve this issue, tear down the accelerator and delete associated data using:

kxi pm rm fsi-app-ot-uscomp --rm-data --teardown

Warning

This command deletes any data that has been ingested by the fsi-app-ot-uscomp Accelerator. Confirm you are willing to lose this data before running the command.

Alternatively, you can wipe the PVC by tearing down the package and cleaning up resources in the web interface.

After the teardown, follow the quickstart steps again, ensuring each stage completes before moving to the next.

Next steps

Back to top