Note: Automatic collector management and manual deployment use different workflows. With automatic management, the Sawmills remote operator applies collector upgrades. With manual deployment, Sawmills provides the chart version and values artifacts, and your deployment system applies them.
Choose the Values Format
Set the manual deployment format in the collector setup flow or on the collector page.| Format | Use this when | What Sawmills provides |
|---|---|---|
| Direct chart | You install sawmills-collector-chart as its own Helm release | Chart, version, release, namespace, values files, and a Helm command |
| Umbrella chart | You embed the Sawmills collector chart as a dependency in a larger chart | Chart, version, values root key, resource base name, and values files |
| Umbrella chart with Helmsman | You embed the chart and Helmsman processes the values files | Same as umbrella chart, with ${...} expressions escaped for Helmsman |
Generated Files
Each manual deployment creates values artifacts you can download from the deployment UI.| File | Owner | Purpose |
|---|---|---|
sawmills-generated.values.yaml | Sawmills | Generated collector configuration for the deployed pipelines. Do not edit this file manually. |
sawmills-customer-overrides.yaml | Customer | Customer-owned Helm overrides such as scheduling, resources, service annotations, and extra environment variables. Keep this file after the generated file when applying values. |
sawmillsCollector, generated values are nested like this:
Values Root Key
The values root key is the top-level key used by your umbrella chart for the embedded Sawmills collector dependency. Direct chart installs do not use a values root key. Use the same key in:- your umbrella chart dependency alias
sawmills-generated.values.yamlsawmills-customer-overrides.yaml- any parent chart values that override Sawmills collector settings
Resource Base Name
resourceBaseName controls the Kubernetes base name used by the collector resources. Set it when your parent chart release name differs from the collector resource names you want Sawmills to manage.
The default base name is sawmills-collector. With that default:
| Mode | Resource | Name |
|---|---|---|
| No load balancer | Collector service | sawmills-collector |
| No load balancer | Collector headless service | sawmills-collector-headless |
| Load balancer enabled | Source-facing load balancer service | sawmills-collector |
| Load balancer enabled | Load balancer workload | sawmills-collector-lb |
| Load balancer enabled | Backend collector service | sawmills-collector-backend |
| Load balancer enabled | Backend collector headless service | sawmills-collector-backend-headless |
| KEDA external scaler | KEDA scaler service | sawmills-collector-keda-otel-scaler |
Warning: Changing resourceBaseName on an existing release changes rendered Kubernetes resource names. Use it on a fresh install or plan a rename migration.
S3 Config Files
Manual deployments can write Sawmills-generated collector config files in two modes:| Mode | Behavior |
|---|---|
| Changing S3 config files | Each deployment gets new encrypted S3 config file paths. Use this when your release process expects immutable generated inputs. |
| Static S3 config files | Sawmills reuses the same S3 config file paths after the first apply. Use this when your release process needs stable paths. |
KEDA and Load Balancer Routing
If load balancing is enabled, telemetry sources should send data to the source-facing load balancer service, not directly to backend collectors. The load balancer routes to backend collectors through the backend headless service. If KEDA external scaling is enabled, the chart derives the scaler address from the release namespace and generated scaler service name. You normally do not need to hardcodescalerAddress; keep the chart default unless Sawmills Support asks you to override it.
When using Helmsman, choose Umbrella chart with Helmsman so Sawmills escapes ${...} expressions before Helmsman processes the values file.