basic bluesky monitoring infra

This commit is contained in:
Dylan Knutson
2025-08-05 20:51:40 +00:00
parent 3512c3f32e
commit 9efeedd1ff
12 changed files with 1954 additions and 14 deletions

View File

@@ -3,8 +3,38 @@
T.bind(self, T.all(Rake::DSL, Object))
namespace :bluesky do
desc "Start the Firehose monitor for Bluesky"
desc "Start the Bluesky monitor"
task monitor: :environment do
Tasks::Bluesky::FirehoseMonitor.new.run
Tasks::Bluesky::Monitor.new.run
end
def resolve_did(handle)
DIDKit::Resolver.new.resolve_handle(handle).did
end
desc "Add a DID to the Bluesky monitor"
task add: :environment do
if (handle = ENV["handle"])
did = resolve_did(handle)
puts "resolved did: #{did}"
else
did = ENV["did"]
end
raise "did is required" if did.blank?
Bluesky::MonitoredDid.create!(did: did)
end
desc "Remove a DID from the Bluesky monitor"
task remove: :environment do
if (handle = ENV["handle"])
did = resolve_did(handle)
puts "resolved did: #{did}"
else
did = ENV["did"]
end
raise "did is required" if did.blank?
Bluesky::MonitoredDid.find_by(did: did)&.destroy!
end
end