From d43580c5f44a439e11a3052ae9d08771e618d158 Mon Sep 17 00:00:00 2001 From: Robbie McKinstry Date: Fri, 19 Dec 2025 23:03:19 -0500 Subject: [PATCH] Add Vercel Monitor skeleton code. --- src/adapters/monitors/mod.rs | 1 + src/adapters/monitors/vercel.rs | 57 +++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 src/adapters/monitors/vercel.rs diff --git a/src/adapters/monitors/mod.rs b/src/adapters/monitors/mod.rs index 812c471..f0be888 100644 --- a/src/adapters/monitors/mod.rs +++ b/src/adapters/monitors/mod.rs @@ -60,3 +60,4 @@ pub trait Monitor: Shutdownable { mod cloudflare; mod cloudwatch; +mod vercel; diff --git a/src/adapters/monitors/vercel.rs b/src/adapters/monitors/vercel.rs new file mode 100644 index 0000000..ee83da2 --- /dev/null +++ b/src/adapters/monitors/vercel.rs @@ -0,0 +1,57 @@ +#![allow(dead_code)] +// This code won't be dead once we incorporate it into the flow. + +use async_trait::async_trait; +use derive_getters::Getters; + +use crate::{ + Shutdownable, adapters::backend::MonitorConfig, metrics::ResponseStatusCode, + stats::CategoricalObservation, subsystems::ShutdownResult, +}; +use miette::Result; + +use super::Monitor; + +type VercelClient = (); + +#[derive(Getters)] +pub struct Vercel { + client: VercelClient, +} + +impl Vercel { + pub fn new(client: VercelClient) -> Self { + Self { client } + } +} + +#[async_trait] +impl Monitor for Vercel { + type Item = CategoricalObservation<5, ResponseStatusCode>; + + fn get_config(&self) -> MonitorConfig { + todo!(); + } + + async fn query(&mut self) -> Result> { + todo!(); + } + + async fn set_canary_version_id(&mut self, canary_version_id: String) -> Result<()> { + let _ = canary_version_id; + todo!(); + } + + // TODO: standardize naming to baseline when working outside of statistics packages + async fn set_baseline_version_id(&mut self, baseline_version_id: String) -> Result<()> { + let _ = baseline_version_id; + todo!(); + } +} + +#[async_trait] +impl Shutdownable for Vercel { + async fn shutdown(&mut self) -> ShutdownResult { + todo!(); + } +}