Documentation Index
Fetch the complete documentation index at: https://docs.sawmills.ai/llms.txt
Use this file to discover all available pages before exploring further.
Use manual deployment when Sawmills should generate collector configuration, but your team applies the Helm changes in your own release process. This is common when the Sawmills collector chart is embedded in an umbrella chart, monochart, or Helmsman-managed deployment.
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.
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 |
For umbrella and Helmsman formats, add the Sawmills collector chart dependency to your chart and apply the generated values files through your existing release process. The UI intentionally does not show a standalone Helm command for those formats because the release name, namespace, and install command belong to your parent chart.
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. |
For direct chart installs, apply the generated file first and the customer override file second:
helm upgrade --install sawmills-collector \
oci://public.ecr.aws/s7a5m1b4/sawmills-collector-chart \
--version <chart-version-from-ui> \
--namespace <namespace> \
-f sawmills-generated.values.yaml \
-f sawmills-customer-overrides.yaml \
--wait \
--timeout 10m
For umbrella chart installs, place the Sawmills collector chart under the dependency key shown as Values root in the UI. For example, if the values root is sawmillsCollector, generated values are nested like this:
sawmillsCollector:
resourceBaseName: sawmills-collector
# Sawmills-generated collector values continue here.
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.yaml
sawmills-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 hardcode scalerAddress; 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.