Skip to content

Replace deprecated Promtail with Grafana Alloy#30

Open
ZPascal wants to merge 2 commits into
mainfrom
replace-promtail-with-alloy
Open

Replace deprecated Promtail with Grafana Alloy#30
ZPascal wants to merge 2 commits into
mainfrom
replace-promtail-with-alloy

Conversation

@ZPascal
Copy link
Copy Markdown
Collaborator

@ZPascal ZPascal commented Mar 31, 2026

Summary

Promtail is deprecated and no longer shipped by Grafana. This PR replaces the promtail BOSH job and package with Grafana Alloy, preserving the same syslog ingestion functionality.

Changes

New: jobs/alloy

  • Alloy HCL config template (config.alloy.erb) with:
    • loki.source.syslog component (TCP + UDP receiver, replaces Promtail's syslog scrape config)
    • loki.write component pointing at the Loki HTTP push API
    • Optional TLS for HTTP listener, syslog receiver and Loki write endpoint
  • Control script (alloy_ctl) and Monit config
  • TLS certificate templates (http, syslog, loki)

Removed: jobs/promtail + packages/promtail

  • Entire job directory and package deleted

Updated

File Change
packages/alloy/ New packaging script + spec targeting Grafana Alloy binary
manifests/loki.yml Uses alloy job; idle_timeout fixed to duration string (300s)
config/blobs.yml References Alloy binary blob
scripts/update-the-blobs.sh Downloads from grafana/alloy GitHub releases
scripts/ssl/ Cert configs and create-tls-certs.sh updated for Alloy
.final_builds/ Indexes renamed from promtail to alloy
.github/workflows/ CI workflow updated for Alloy
README.md Documentation updated

Functional Equivalence

Promtail feature Alloy equivalent
scrape_configs[].syslog listener loki.source.syslog component
clients[].url (Loki push) loki.write component
TLS on HTTP port http { tls { } } block in loki.source.syslog
mTLS to Loki tls_config in loki.write
Syslog TCP/UDP both configured via listener blocks

fix: #29

ZPascal added 2 commits March 31, 2026 17:40
Promtail is deprecated and no longer shipped by Grafana. This commit
replaces the promtail job and package with Grafana Alloy, which provides
the same syslog ingestion functionality via its native loki.source.syslog
and loki.write components.

Changes:
- Add jobs/alloy: monit, spec, control script and Alloy HCL config template
  with syslog receiver (TCP/UDP) and loki.write pipeline
- Add packages/alloy: packaging script and spec
- Remove jobs/promtail and packages/promtail entirely
- Update manifests/loki.yml to use the alloy job; fix idle_timeout to
  use duration string (300s) instead of bare integer
- Update .final_builds indexes for job and package (promtail -> alloy)
- Update config/blobs.yml to reference the Alloy binary blob
- Update scripts/update-the-blobs.sh to download Alloy releases from
  GitHub (grafana/alloy) instead of Promtail
- Update scripts/ssl/ cert configs and create-tls-certs.sh for Alloy
- Update .github/workflows/version_bump_and_new_release.yml for Alloy
- Update README.md to reflect Alloy instead of Promtail
@ZPascal ZPascal requested a review from chombium March 31, 2026 20:17
Copy link
Copy Markdown
Collaborator

@chombium chombium left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Nice work @ZPascal

@ZPascal ZPascal added enhancement New feature or request do-not-merge-yet labels Apr 1, 2026
@ZPascal ZPascal self-assigned this Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge-yet enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants