Tracetest On-Prem Helm Charts
This repository contains the Helm Charts for the Tracetest installation on-premises (i.e. in your infrastructure).
Usage
Helm must be installed to use the charts. Please refer to Helm’s documentation to get started.
The main chart for this repository is called tracetest-onprem
and contains all components necessary to run Tracetest on-premises on a cluster that fits the prerequisites.
You will need to have a license key to install Tracetest On-prem. If you don’t have one, you can request a trial license key here.
After you have a cluster that fits the prerequisites, you can install Tracetest On-prem by running the following command:
helm repo add tracetestcloud https://kubeshop.github.io/tracetest-cloud-charts --force-update
helm install my-tracetest tracetestcloud/tracetest-onprem \
--set global.licenseKey=YOUR-TRACETEST-LICENSE \
--values values.yaml
Here are the detailed instructions to install Tracetest On-prem in your cluster:
Configuration (values file specification)
You can see the main configurable parameters of the Tracetest On-prem chart and their default values here: values.yaml.
Default values.yaml
```yaml
global:
# License Key provided by Tracetest team to run this instance. Default: `""`
licenseKey: ""
# This value defines if clients should expect a valid SSL certificate from the server. If you are using a self-signed certificate, you should set this to false. Default: `true`
validCertificate: true
# Pull secrets name used to fetch images from a private registry if needed. If set empty, this chart will use the public registry. For more details see: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ Default: `""`
imagePullSecret: ""
# Registry name used to fetch images. If set empty, this chart will use the public registry. For more details see: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ Default: `""`
tracetestImageRegistry: ""
sso:
google:
# Google OAuth2 client ID. You can get these from the Google Developer Console. Default: `""`
clientID: ""
# Google OAuth2 secret. You can get these from the Google Developer Console. Default: `""`
clientSecret: ""
github:
# Github OAuth2 client ID. You can get these from the Github Developer Console. Default: `"example client ID"`
clientID: "Ov23li8WMwQlvjFNNiCy"
# Github OAuth2 secret. You can get these from the Github Developer Console. Default: `"example client secret"`
clientSecret: "e317c15e43909757d1e75e78373d130c374f6601"
# If you don't want to use the default NATS server, you can specify your own NATS server here
# natsEndpointOverride: "://nats:4222"
postgresql:
auth:
# Postgres host address. Default: `""`
host: ""
# Postgres username that Tracetest APIs will use. Default: `""`
username: ""
# Postgres password that Tracetest APIs will use. Default: `""`
password: ""
# Postgres database name for Tracetest OnPrem. Default: `"tracetest"`
database: "tracetest"
# Postgres port. Default: `"5432"`
port: "5432"
mongodb:
auth:
# MongoDB connection protocol. Default: `"mongodb"`
protocol: "mongodb"
# MongoDB host address. Default: `""`
host: ""
# MongoDB username that Tracetest APIs will use. Default: `""`
username: ""
# MongoDB password that Tracetest APIs will use. Default: `""`
password: ""
# MongoDB database name for Tracetest OnPrem. Default: `"tracetest"`
database: ""
# MongoDB connection options as a key-value object. Default: `"{}"`
options: {}
# URLs section with addresses used by clients to connect to the Tracetest OnPrem instance
urls:
protocol: &protocol "https"
port: &port "30000"
rootDomain: &rootDomain "tracetest.localdev"
cookieDomain: *rootDomain
web:
protocol: *protocol
hostname: *rootDomain
port: *port
path: "/"
api:
protocol: *protocol
hostname: *rootDomain
port: *port
path: "/api"
auth:
protocol: *protocol
hostname: *rootDomain
port: *port
path: "/auth"
agents:
domain: *rootDomain
port: *port
controlPlane:
protocol: *protocol
hostname: *rootDomain
port: *port
path: "/"
nats:
enabled: true
config:
jetstream:
enabled: true
fileStore:
enabled: true
dir: /data
pvc:
enabled: true
size: 10Gi
memoryStore:
enabled: true
maxSize: 1Gi
natsBox:
container:
env:
# different from k8s units, suffix must be B, KiB, MiB, GiB, or TiB
# should be ~90% of memory limit
GOMEMLIMIT: 900MiB
merge:
# recommended limit is at least 2 CPU cores and 8Gi Memory for production JetStream clusters
resources:
requests:
cpu: 250m # one entire CPU
memory: 1Gi
limits:
memory: 1Gi
```
Examples
Basic values.yaml with SSO and Database defined
```yaml
global:
validCertificate: false # defines if the certificate is generated by an external issuer of if the self-signed issuer is used
urls:
protocol: &protocol "https"
port: &port "30000"
rootDomain: &rootDomain "tracetest.mydomain.com" # DNS that the users will use to access the Tracetest
cookieDomain: *rootDomain
web:
protocol: *protocol
hostname: *rootDomain
port: *port
api:
protocol: *protocol
hostname: *rootDomain
port: *port
auth:
protocol: *protocol
hostname: *rootDomain
port: *port
agents:
domain: *rootDomain
port: *port
controlPlane:
protocol: *protocol
hostname: *rootDomain
port: *port
postgresql:
auth:
host: "path.to.my.postgres.instance"
username: "some-pg-user"
password: "some-pg-password"
database: "tracetest"
mongodb:
auth:
protocol: "mongodb"
host: "path.to.my.mongodb.instance"
username: "some-mongo-user"
password: "some-mongo-password"
database: "tracetest"
options:
retryWrites: "true"
authSource: admin
```
Cluster Sizing
Depending on the size of your organization, your deployment might require different sizes. We provide a small
and large
deployment sizing examples.
Use the following commands to select the size for your deployment:
# large cluster
helm install my-tracetest tracetestcloud/tracetest-onprem \
--set global.licenseKey=YOUR-TRACETEST-LICENSE \
--values <your-values.yaml> \
--values https://raw.githubusercontent.com/kubeshop/tracetest-cloud-charts/main/values-cluster-large.yaml
# small cluster
helm install my-tracetest tracetestcloud/tracetest-onprem \
--set global.licenseKey=YOUR-TRACETEST-LICENSE \
--values <your-values.yaml> \
--values https://raw.githubusercontent.com/kubeshop/tracetest-cloud-charts/main/values-cluster-small.yaml
Questions
Feel free to contact us at our Slack if you have any questions.
License
Tracetest Community License