Release passenger-datadog 2.0.0 - #1
Merged
Merged
Conversation
Publish the gem under the passenger-datadog name as a continuation of the abandoned passenger_datadog gem, maintained by IronCloud. - Require Ruby >= 3.3 and Passenger >= 6.0 - Upgrade dogstatsd-ruby to 5.x (single-threaded client, no sender threads) - Replace daemons daemonization with a foreground process and a systemd unit - Replace Travis CI with GitHub Actions - Upgrade RuboCop to 1.x - Move development dependencies from the gemspec into the Gemfile - Add a Passenger 6.1 fixture and matching spec - Rebrand authorship and license to IronCloud; rename LICENSE.txt to LICENSE
Replace the static packaging/passenger-datadog.service with an install-service subcommand that generates the unit from the live environment, and add the repository documentation. - Add lib/service_installer.rb: absolute RbConfig.ruby in ExecStart, with PATH/GEM_HOME/GEM_PATH baked in since systemd inherits none of them; passenger-status resolved beside the executable so it survives sudo - Add install-service / uninstall-service subcommands with --dry-run, --force, --enable-now, --user/--group, and --passenger-status options - Fix sd_notify: NOTIFY_SOCKET is SOCK_DGRAM, so Type=notify now works - Warn instead of returning silently on empty passenger-status output - Drop packaging/ from the repo and the gemspec files list; constrain passenger to ~> 6.0 so gem build emits no warnings - Add docs/ (systemd guide, passenger-status XML reference) and CLAUDE.md; keep local-only files ignored - Specs for unit rendering, dry-run, root check, and overwrite guard
The suite covered the happy path per Passenger version and nothing else, which is where both defects found on a live host came from. Reviewing against that pattern surfaced a third: the Passenger 4 header strip drops a fixed three lines, so any shorter non-XML output — such as the one-line error passenger-status prints when it cannot run — made [3..] nil and raised out of the collection loop, which Restart=on-failure turns into a restart loop. - Locate the XML declaration instead of dropping three lines; warn and skip when there is no XML at all - Close the Datadog client from an ensure so a send failure part way through a run cannot leak a socket per run - Skip whitespace-only elements rather than sending a bogus zero - Add spec/cli_spec.rb: bin/passenger-datadog run as a subprocess for argument dispatch, --dry-run, the root check, and a real sd_notify handshake over filesystem and abstract-namespace sockets - Add spec/parsers/base_spec.rb for the defensive-lookup contract, and pin supergroup normalization including the digit-stripping collision - Add spec/packaging_spec.rb so an un-git-added runtime file fails CI - Add fixtures captured from live Passenger 6.1.8: a group with no processes, and the instance list passenger-status prints when more than one instance is running - Extend the installer specs: gem environment, service_path ordering and dedup, which() guards, uninstall disable/reload/root paths - Add a gem build job to CI and drop the uninitialized $RS from the gemspec files split, which that job now catches
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Publish the gem under the passenger-datadog name as a continuation of the abandoned passenger_datadog gem, maintained by IronCloud.