
Security News
New Website “Is It Really FOSS?” Tracks Transparency in Open Source Distribution Models
A new site reviews software projects to reveal if they’re truly FOSS, making complex licensing and distribution models easy to understand.
Notifications gem
This is the first iteration for making notifications easy to use from all services. This is only a stop gap with a centralized service planned to manage credentials and to keep from duplicating efforts.
Credentials are passed in a URL structure, for example, here is what a scheme for Campfire might look like:
campfire://<api_key>:X@blossom.campfirenow.com/Test%20Room
The schema name maps to the service name, the rest we pass to the service to deal with.
Routes allow the user to create aliases for contacting one or more services for a specific event. An event is one of 'notice', 'alert' or 'resolve'. Routes should be named according to their function, and initially are not stored longer than a session, but will eventually be created and reside on the server.
It is our intention to start developing usage patterns consistent with our defined design goals.
The examples below show how routes are created.
Messages should be one of three types, 'notice', 'alert', 'resolve'.
Messages are datum's that contain three pieces of information:
The 'source' is where this message originates, for example, "nagios". The 'message_id' should be a unique identifier for this message, and for certain services should be used on alert/resolve messages to easily resolve them (i.e. PagerDuty).
Each service should define three methods, one for each type of message:
These provide the common interface between all of the services.
Add this line to your application's Gemfile:
gem 'comsat'
And then execute:
$ bundle
Or install it yourself as:
$ gem install comsat
client = Comsat::Client.new
client.create_route("notify_on_exception", "notice", ["campfire://<api_key>:X@blossom.campfirenow.com/Test%20Room"])
client.notify("notify_on_exception", {
:message => "Exception reached in #function",
:source => "my_app",
:message_id => "exception-#{rand(1_000)}"
})
Or you can specify routes without an 'event_type', instead specifying it in the payload:
client = Comsat::Client.new
client.create_route("notify_on_exception", ["campfire://<api_key>:X@blossom.campfirenow.com/Test%20Room"])
client.notify("notify_on_exception", {
:message => "Exception reached in #function",
:source => "my_app",
:message_id => "exception-#{rand(1_000)}",
:message_type => "notice"
})
You can also instrument Comsat with your favorite logger (which should be Scrolls by now :)):
require "scrolls"
require "comsat"
module MyLogger
def self.log(data, &blk)
Scrolls.log(data, &blk)
end
end
Comsat.instrument_with(MyLogger.method(:log))
git checkout -b my-new-feature
)git commit -am 'Added some feature'
)git push origin my-new-feature
)FAQs
Unknown package
We found that comsat demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A new site reviews software projects to reveal if they’re truly FOSS, making complex licensing and distribution models easy to understand.
Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.