@@ -745,6 +745,8 @@ fn main() -> anyhow::Result<()> {
745745 log:: info!( "Spinning up full HTTP server" ) ;
746746 HttpServer :: new ( move || {
747747 let project_auth = HttpAuthentication :: bearer ( auth:: project_validator) ;
748+ let project_ingestion_auth =
749+ HttpAuthentication :: bearer ( auth:: project_ingestion_validator) ;
748750
749751 App :: new ( )
750752 . wrap ( ErrorHandlers :: new ( ) . handler (
@@ -768,27 +770,40 @@ fn main() -> anyhow::Result<()> {
768770 . app_data ( web:: Data :: new ( connection_for_health. clone ( ) ) )
769771 . app_data ( web:: Data :: new ( query_engine. clone ( ) ) )
770772 . app_data ( web:: Data :: new ( sse_connections_for_http. clone ( ) ) )
773+ // Ingestion endpoints allow both default and ingest-only keys
771774 . service (
772775 web:: scope ( "/v1/browser-sessions" ) . service (
773776 web:: scope ( "" )
774- . wrap ( project_auth . clone ( ) )
777+ . wrap ( project_ingestion_auth . clone ( ) )
775778 . service ( api:: v1:: browser_sessions:: create_session_event) ,
776779 ) ,
777780 )
781+ . service (
782+ web:: scope ( "/v1/traces" )
783+ . wrap ( project_ingestion_auth. clone ( ) )
784+ . service ( api:: v1:: traces:: process_traces) ,
785+ )
786+ . service (
787+ web:: scope ( "/v1/metrics" )
788+ . wrap ( project_ingestion_auth. clone ( ) )
789+ . service ( api:: v1:: metrics:: process_metrics) ,
790+ )
791+ // Default endpoints block ingest-only keys
792+ . service (
793+ web:: scope ( "/v1/tag" )
794+ . wrap ( project_auth. clone ( ) )
795+ . service ( api:: v1:: tag:: tag_trace) ,
796+ )
778797 . service (
779798 web:: scope ( "/v1" )
780799 . wrap ( project_auth. clone ( ) )
781- . service ( api:: v1:: traces:: process_traces)
782800 . service ( api:: v1:: datasets:: get_datapoints)
783801 . service ( api:: v1:: datasets:: create_datapoints)
784802 . service ( api:: v1:: datasets:: get_parquet)
785- . service ( api:: v1:: metrics:: process_metrics)
786- . service ( api:: v1:: browser_sessions:: create_session_event)
787803 . service ( api:: v1:: evals:: init_eval)
788804 . service ( api:: v1:: evals:: save_eval_datapoints)
789805 . service ( api:: v1:: evals:: update_eval_datapoint)
790806 . service ( api:: v1:: evaluators:: create_evaluator_score)
791- . service ( api:: v1:: tag:: tag_trace)
792807 . service ( api:: v1:: sql:: execute_sql_query)
793808 . service ( api:: v1:: payloads:: get_payload) ,
794809 )
0 commit comments