Skip to content

For the complete documentation index, see llms.txt.

Manual Helm reference

This page describes the current worker chart, version 0.3.6. Helm values become environment variables in the worker. Start with Manually manage the analyzer for a complete values file.

Unless noted, Helm keys in this table are under pig. Environment-variable suffixes have the prefix PIG_.

Helm keyEnvironment-variable suffixMeaning
runtimeBaseUrlRUNTIME_BASE_URLOptional Promptless endpoint override; defaults to https://api.gopromptless.ai.
configHashCONFIG_HASHRegistered configuration hash from Promptless. Coordinate configuration changes with the team.
storageBackendSTORAGE_BACKENDpostgres_s3, postgres_azure_blob, or postgres_gcs.
traceObjectS3BucketTRACE_OBJECT_S3_BUCKETS3 bucket for raw ranges and canonical trace objects. Required for postgres_s3.
traceObjectS3PrefixTRACE_OBJECT_S3_PREFIXObject prefix; defaults to trace-objects. Acme uses acme/traces.
maxTraceBatchBytesMAX_TRACE_BATCH_BYTESMaximum decoded trace-batch size, in bytes. Default 268435456 (256 MiB); must be positive.
logLevelLOG_LEVELDEBUG, INFO, WARNING, ERROR, or CRITICAL. Default INFO.

The install token and PostgreSQL DSN are also required. They come from Secret references, described below. Keep the database, bucket, and prefix stable across restarts and upgrades. Changing a storage location does not migrate existing data.

The service listens on port 8080 by default. Use that value for service.workerPort and ingress routing in the current chart. The analysis repository mirror uses an ephemeral emptyDir; it can be rebuilt after a restart and does not require a persistent volume. Trace data and analysis state live in your object store and PostgreSQL.

Select one backend. Keep the relevant values under pig:

pig:
storageBackend: postgres_s3
traceObjectS3Bucket: acme-pig-traces
traceObjectS3Prefix: acme/traces

Grant the analyzer’s AWS identity access to the bucket and trace prefix. For EKS IRSA, annotate the existing ServiceAccount with eks.amazonaws.com/role-arn and bind its namespace and name in the role’s trust policy.

The SDK for the selected backend discovers credentials through workload identity. The chart does not accept storage access keys or arbitrary env and envFrom values.

Helm keyEnvironment-variable suffix
traceObjectAzureAccountUrlTRACE_OBJECT_AZURE_ACCOUNT_URL
traceObjectAzureContainerTRACE_OBJECT_AZURE_CONTAINER
traceObjectGcsBucketTRACE_OBJECT_GCS_BUCKET
traceObjectPrefixTRACE_OBJECT_PREFIX

These suffixes use the PIG_ prefix. traceObjectPrefix defaults to trace-objects and applies to Azure and GCS. S3 uses traceObjectS3Prefix.

The pre-install migration hook runs before Helm creates ordinary resources. Create its ServiceAccount, credential Secret, and CA ConfigMap in the release namespace before you install the chart. The analyzer and the migration Job both use the ServiceAccount named in serviceAccount.name.

Helm keyDefaultMeaning
serviceAccount.createfalseKeep false while migrationJob.enabled is true. The chart fails to render when both are true.
serviceAccount.namepig-analyzerExisting workload identity ServiceAccount for the analyzer and the migration Job.
migrationJob.enabledtrueRuns schema migrations in a pre-install and pre-upgrade hook Job.
podLabels{}Labels for the analyzer and migration Job pods, such as the Azure workload identity label.
nodeSelector{}Node labels for the analyzer and migration Job pods. On GKE Standard with workload identity, set iam.gke.io/gke-metadata-server-enabled: "true"; omit it on Autopilot.
pig.postgresCaConfigMapNameEmptyConfigMap with the trusted database CA bundle. When set, both workloads mount it at /etc/pig/postgres-ca/ca.pem and set PGSSLROOTCERT.
pig.postgresCaConfigMapKeyca.pemKey in that ConfigMap that holds the CA bundle.
image.repositoryghcr.io/promptless/pig-trace-analyzerWorker image repository.
image.digestSet by the published chartVerified worker image digest, in the form sha256:<64 lowercase hex characters>. A source checkout requires the digest from the matching release.

For example, to use an existing pig-analyzer ServiceAccount and a postgres-ca ConfigMap:

serviceAccount:
create: false
name: pig-analyzer
pig:
postgresCaConfigMapName: postgres-ca
postgresCaConfigMapKey: ca.pem

Use sslmode=verify-full in the DSN. See PostgreSQL requirements for TLS and schema permissions.

The chart configures these Kubernetes probes for the analyzer:

ProbePathBehavior
Readiness/readyzGates upload and analysis traffic on recent database and object-storage checks. A storage failure removes the analyzer from Service endpoints until storage recovers.
Liveness/healthzFails when the worker’s background tasks stop, or when a storage check or canonical-object repair makes no progress for 180 seconds. Kubernetes then restarts the analyzer.
Startup/healthzAllows up to 180 seconds for storage to become ready before the liveness probe applies.

A database or object-storage outage that the analyzer detects makes it unready but keeps it live. The chart’s optional Ingress, enabled with gateway.enabled, exposes /healthz for load-balancer health checks; /readyz stays inside the cluster. The analyzer’s terminationGracePeriodSeconds is 120 seconds, so in-flight work settles during a rollout.

All Helm keys below are under pig.analysis. The environment-variable suffixes have the prefix PIG_ANALYSIS_.

Helm keyEnvironment-variable suffixMeaning
activationAtACTIVATION_ATTimezone-aware ISO timestamp for enabling analysis. Empty leaves trace analysis inactive.
quietWindowHoursQUIET_WINDOW_HOURSPositive quiet period before a session is eligible; default 0.5 hours.
mirrorRootMIRROR_ROOTDefault /var/lib/pig/analysis-mirrors. Keep the default to use the chart’s mounted mirror storage.

When activationAt is nonempty, configure all model fields below. The worker validates those settings together and refuses partial analysis configuration. Changing the quiet window does not enable analysis by itself.

An organization administrator selects the instruction repositories the analyzer reads in PIG Settings. The analyzer receives GitHub App tokens scoped to Contents read for those repositories from Promptless. The analyzer reads GitHub repositories with a main branch; GitLab publishing support in the hub toolchain does not imply GitLab analyzer or remediation support. See Supported agents and platforms for the separate compatibility boundaries.

These Helm keys are under pig.analysis.modelApi:

Helm keyWorker environment variableMeaning
providerPIG_ANALYSIS_MODEL_PROVIDERopenai, azure_openai, or aws_bedrock.
authenticationPIG_ANALYSIS_MODEL_AUTHENTICATIONapi_key, or aws_sigv4 for Bedrock only.
baseUrlPIG_ANALYSIS_MODEL_BASE_URLSupported HTTPS Responses API endpoint.
modelPIG_ANALYSIS_MODEL_NAMEModel or deployment name available through that endpoint. Select it explicitly for your account.
ProviderAccepted endpoint shapeAuthentication
openaihttps://api.openai.com/v1API key.
azure_openaihttps://RESOURCE.openai.azure.com/openai/v1 or https://RESOURCE.services.ai.azure.com/openai/v1API key.
aws_bedrockhttps://bedrock-mantle.REGION.api.aws/v1 or the same host with /openai/v1API key or AWS SigV4.

Replace RESOURCE and REGION. URLs must not contain embedded credentials, an explicit port, query parameters, or a fragment. Ordinary Bedrock Runtime URLs and arbitrary OpenAI-compatible endpoints do not pass the current provider validation. GKE deployments can use one of the supported providers; there is no Vertex AI provider option.

For api_key, supply analysis-model-api-key in the worker Secret. For aws_sigv4, select aws_bedrock, omit the model API key, and grant the worker’s AWS identity access to the selected model. S3 and model authorization are separate permissions even when they use one identity.

The analyzer sends session content and relevant instruction context to this provider. Choose its region and data-handling terms accordingly; see Trust and data model.

Use secrets.existingSecretName to reference a Secret in the worker namespace. The chart defaults to these keys:

Helm mappingDefault Secret keyWorker environment variable
secrets.installTokenKeyinstall-tokenPIG_INSTALL_TOKEN
secrets.customerPostgresDsnKeycustomer-postgres-dsnPIG_CUSTOMER_POSTGRES_DSN
secrets.analysisModelApiKeyKeyanalysis-model-api-keyPIG_ANALYSIS_MODEL_API_KEY
secrets.migrationPostgresDsnKeynone (unset by default)PIG_MIGRATION_POSTGRES_DSN

The model key is referenced when an activation time is configured with api_key. The analyzer receives GitHub App tokens for the selected instruction repositories from Promptless, so the worker Secret holds no repository credential.

Set secrets.migrationPostgresDsnKey to run schema migrations with a separate migration credential. The chart injects PIG_MIGRATION_POSTGRES_DSN into the migration Job only; the serving analyzer never receives it. Both credentials must reach the same database over sslmode=verify-full. Leaving this key unset runs migrations with customer-postgres-dsn.

The chart also supports creating a Secret from values, but an existing Secret keeps credential values out of your GitOps configuration. Use your secret-management system to rotate credentials. Restart the worker after updating environment-backed Secret values so the process receives them.

Sentry uses a separate Secret reference. See Sentry error-reporting values.

Use these values when your cluster already runs a Datadog Agent that accepts APM traffic. The Helm keys are under observability.datadog:

Helm keyDefaultMeaning
enabledfalseTurns on Datadog tracing and adds log-discovery annotations to the analyzer and migration Job pods.
envlocalSets DD_ENV and the tags.datadoghq.com/env label.
servicepig-trace-analyzerSets DD_SERVICE, the tags.datadoghq.com/service label, and the service in log discovery.
agentUrlhttp://datadog-agent.datadog:8126Sets DD_TRACE_AGENT_URL. Starts with http:// or https://.
sitedatadoghq.comSets DD_SITE.

For example, with your installation’s Agent URL and site:

observability-values.yaml
observability:
environment: production
datadog:
enabled: true
env: production
service: acme-pig-worker
agentUrl: http://datadog-agent.datadog:8126
site: datadoghq.com

When Datadog is enabled, the chart also sets DD_TRACE_ENABLED, DD_TRACE_ANALYTICS_ENABLED, and DD_VERSION on the analyzer and the migration Job. The chart sets only these DD_* variables. Configure the Agent’s container-log collection and network access separately.

Analysis tracing can include LLM observability data. Review your telemetry collection and retention settings before enabling it for sensitive sessions.

The Helm keys are under observability:

Helm keyDefaultMeaning
environmentlocalSets SENTRY_ENVIRONMENT.
sentry.enabledfalseTurns on Sentry error reporting.
sentry.existingSecretNameEmptySecret in the release namespace that holds the Sentry DSN. Required when Sentry is enabled.
sentry.dsnKeySENTRY_DSNKey in that Secret that holds the DSN.

Create the Secret with your secret-management system. For example, with a Secret named acme-pig-sentry that holds the DSN under SENTRY_DSN:

sentry-values.yaml
observability:
environment: production
sentry:
enabled: true
existingSecretName: acme-pig-sentry
dsnKey: SENTRY_DSN

The chart supplies SENTRY_DSN, SENTRY_ENVIRONMENT, and SENTRY_RELEASE to the analyzer and the migration Job. The worker reports errors to Sentry; Sentry performance tracing is off in the worker’s current setup.

Render the chart with your values and review the generated references and endpoints. Apply the change through the deployment’s owner: your Helm workflow or its GitOps controller. Don’t let a supervisor manage the same worker resources. Manually manage the analyzer shows the render and install commands.

After rollout, repeat the complete-session verification. Configuration validation and a healthy pod don’t prove that credentials can access the database, bucket, or model.