feat(symbolicator): Healthcheck command for self-hosted#1799
feat(symbolicator): Healthcheck command for self-hosted#1799Dav1dde merged 9 commits intogetsentry:masterfrom
Conversation
Similar work to getsentry/relay#5044 due to distroless migration
…on for `symbolicator-cleanup` This PR depends on getsentry/symbolicator#1799 Symbolicator changed to a distroless image: getsentry/symbolicator#1791 Therefore we'll be missing lots of regular Debian distro goodies, including healthcheck and cron.
Disclaimer: I can't build this locally on Fedora 43
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1799 +/- ##
==========================================
- Coverage 76.09% 73.61% -2.48%
==========================================
Files 101 114 +13
Lines 15262 16267 +1005
==========================================
+ Hits 11613 11975 +362
- Misses 3649 4292 +643 🚀 New features to boost your workflow:
|
|
Merge queue/auto-merge? |
| .with_timer(UtcTime::rfc_3339()) | ||
| .with_target(true); | ||
| .with_target(true) | ||
| .with_writer(std::io::stderr); |
There was a problem hiding this comment.
Will this cause problems anywhere? Are we collecting logs somewhere where we only consider stdout?
There was a problem hiding this comment.
Going to add a changelog entry for this! I think it's just a better default though and matches what we use in Relay.
| Command::Healthcheck { addr, timeout } => { | ||
| healthcheck::healthcheck(config, addr, timeout).context("healthcheck failed")? | ||
| } |
There was a problem hiding this comment.
Is there no other way to get a healthcheck command into a distroless image? E.g. ship the image with a second binary that we can use in multiple projects?
There was a problem hiding this comment.
It would be nice to have, a very simple curl, like binary.
But without setting up a proper pipeline to (re-)build base images, this is not great. The upside of doing it within symbolicator and relay is, the command can read the config and extract host/port from the config, meaning you can use the same command line args.
Since we already depend on reqwest anyways it's imo an acceptable trade-off.
There was a problem hiding this comment.
We could ship a simple curl-like program. I think it's better this way, it'll be lighter.
Similar work to getsentry/relay#5044 due to distroless migration
This works on relay and this is making CI's red right now.
Changes made:
healthchecksub-commandstderrto still allow for logging and parsing of the healthcheck output (Relay uses the same mechanism here)