Skip to content

Latest commit

 

History

History
187 lines (145 loc) · 11.7 KB

README.md

File metadata and controls

187 lines (145 loc) · 11.7 KB

Helm Chart for qryn

This Helm chart provides Kubernetes deployment configurations for qryn a polyglot, lighweight, multi-standard observability framework for Logs, Metrics and Traces, designed to be drop-in compatible with Loki, Prometheus, Tempo and Opentelemetry.


Table of Contents


Prerequisites

  • Kubernetes 1.19+
  • Helm 3.7+
  • A running ClickHouse server (optional but recommended)

Installation

Get Repository Info

helm repo add qryn-helm https://metrico.github.io/qryn-helm/
helm repo update

See helm repository for command documentation.

Install Chart To deploy qryn using this Helm chart, use the following command:

helm repo add qryn-helm https://metrico.github.io/qryn-helm/
helm install [RELEASE_NAME] qryn-helm/qryn-helm --version 0.1.4

See helm install for command documentation.

For customization, you can provide a values.yaml file or use --set flags to override specific configurations during installation.

Feel free to modify the configurations based on your requirements and environment.


Parameters

Global Parameters

Key Default Description
kubernetesClusterDomain cluster.local Kubernetes cluster DNS domain.

Image Parameters

Key Default Description
image.repository qxip/qryn Qryn image repository.
image.tag "" Qryn image tag (default: latest).
imagePullSecrets [] Secrets for pulling images.
imageCredentials {} Custom image registry credentials.

Deployment Parameters

Key Default Description
replicaCount 1 Number of replicas.
podAnnotations {} Annotations for pods.
podLabels {} Labels for pods.
resources See values.yaml Resource requests and limits.

Service Parameters

Key Default Description
service.type ClusterIP Service type (e.g., ClusterIP, NodePort, LoadBalancer).
service.port 3100 Service port.

Probes

Key Default Description
livenessProbe.enabled false Enable liveness probe.
livenessProbe.endpoint /metrics Endpoint for liveness probe.

Ingress Parameters

Key Default Description
ingress.enabled false Enable ingress.
ingress.className "" Ingress class name.
ingress.annotations {} Annotations for ingress.
ingress.hosts See values.yaml Hosts configuration.
ingress.tls [] TLS configuration.

Autoscaling Parameters

Key Default Description
autoscaling.enabled false Enable Horizontal Pod Autoscaler.
autoscaling.minReplicas 1 Minimum number of replicas.
autoscaling.maxReplicas 5 Maximum number of replicas.
autoscaling.targetCPUUtilizationPercentage 80 Target CPU utilization percentage.
autoscaling.targetMemoryUtilizationPercentage 80 Target memory utilization percentage.

Environment Variables

Key Default Description
env.CLICKHOUSE_SERVER localhost ClickHouse server address.
env.CLICKHOUSE_PORT 8123 ClickHouse server port.
env.CLICKHOUSE_DB qryn ClickHouse database name.
env.CLICKHOUSE_AUTH default: ClickHouse authentication credentials.

Security and Service Account

Key Default Description
serviceAccount.create true Create a ServiceAccount.
serviceAccount.automount false Automount API credentials.
serviceAccount.name "" Custom service account name.

Node Affinity and Tolerations

Key Default Description
nodeSelector {} Node selection constraints.
tolerations [] Toleration rules.
affinity {} Affinity rules.

Qryn image parameters

Environment Variable Default Usage
CLICKHOUSE_SERVER localhost Clickhouse Server address
CLICKHOUSE_PORT 8123 Clickhouse Server port
CLICKHOUSE_DB qryn Clickhouse Database Name
CLICKHOUSE_AUTH default: Clickhouse Authentication (user:password)
CLICKHOUSE_PROTO http Clickhouse Protocol (http, https)
CLICKHOUSE_TIMEFIELD record_datetime Clickhouse DateTime column for native queries
CLUSTER_NAME undefined Clickhouse Cluster name
BULK_MAXAGE 2000 Max Age for Bulk Inserts
BULK_MAXSIZE 5000 Max Size for Bulk Inserts
BULK_MAXCACHE 50000 Max Labels in Memory Cache
LABELS_DAYS 7 Max Days before Label rotation
SAMPLES_DAYS 7 Max Days before Timeseries rotation
HOST 0.0.0.0 HTTP API IP
PORT 3100 HTTP API PORT
QRYN_LOGIN undefined Basic HTTP Username
QRYN_PASSWORD undefined Basic HTTP Password
READONLY false Readonly Mode, no DB Init
OMIT_CREATE_TABLES false Omit database provisioning on startup. Dangerous.
FASTIFY_BODYLIMIT 5242880 API Maximum payload size in bytes
FASTIFY_REQUESTTIMEOUT 0 API Maximum Request Timeout in ms
FASTIFY_MAXREQUESTS 0 API Maximum Requests per socket
FASTIFY_METRICS false API /metrics exporter
ADVANCED_PROMETHEUS_MAX_SAMPLES 5000000 Max samples per a promql request
CORS_ALLOW_ORIGIN * CORS Allow Origin, default to any
TEMPO_SPAN 24 Default span for Tempo queries in hours
TEMPO_TAGTRACE false Optional tagging of TraceID (expensive)
DEBUG false Debug Mode (for backwards compatibility)
LOG_LEVEL info Log Level
HASH xxhash64 Hash function using for fingerprints. Currently supported short-hash and xxhash64 (xxhash64 function)
ALERTMAN_URL false Alertmanager API URL, i.e., http://my_alertmanager_url:1234
ADVANCED_SAMPLES_ORDERING timestamp_ns Specify the 'ORDER BY' your samples table should use (for multiple use comma-separated list fingerprint,timestamp_ns)

ENV Settings

For more information about qryn environment variables, visit qryn Environments.


Contributing

Whether it's code, documentation or grammar, we ❤️ all contributions. Not sure where to get started?

  • Join our Matrix Channel, and ask us any questions.
  • Have a PR or idea? Request a session / code walkthrough with our team for guidance.


License

©️ QXIP BV, released under the GNU Affero General Public License v3.0. See LICENSE for details.