Make apps uniform

This commit is contained in:
Loic Nageleisen 2024-05-22 16:36:51 +02:00
parent de989153e4
commit cfba5211d0
Signed by: lloeki
GPG key ID: D05DAEE6889F94C2
6 changed files with 127 additions and 13 deletions

28
grape.rb Normal file → Executable file
View file

@ -1,3 +1,5 @@
#!/usr/bin/env ruby
begin
require "bundler/inline"
rescue LoadError => e
@ -21,15 +23,17 @@ end.tap do |m|
end.first
server = ARGV[1] || 'thin'
gems = match.fetch('gem', {})
gemfile(true) do
source "https://rubygems.org"
ruby match['ruby']
gem 'grape', "~> #{version}.0"
gem server
gem server unless gems.key?(server)
gem 'ddtrace'
match.fetch('gem', []).each do |name, requirement|
gems.each do |name, requirement|
gem name, requirement
end
end
@ -59,6 +63,9 @@ class API < Grape::API
end
App = Rack::Builder.new do
use Datadog::Tracing::Contrib::Rack::TraceMiddleware
use Datadog::AppSec::Contrib::Rack::RequestMiddleware
# precompile routes
API.compile!
@ -69,5 +76,22 @@ App = Rack::Builder.new do
# run Rack::Cascade.new [Web, API]
end
require 'ddtrace'
Datadog.configure do |c|
c.diagnostics.debug = true
c.telemetry.enabled = true
c.remote.enabled = true
c.tracing.enabled = true
c.tracing.instrument :rack
c.tracing.instrument :grape
c.appsec.enabled = true
c.appsec.instrument :rack
end
Rack::Server.new(app: App, Host: '0.0.0.0', Port: 3000).start