feat: complete Epic 1 production foundation
This commit is contained in:
@@ -9,8 +9,8 @@ use crate::labels::{
|
||||
pub const METRIC_SCHEMA_VERSION: u32 = 1;
|
||||
pub const MAX_METRIC_FAMILIES: usize = 128;
|
||||
pub const MAX_PRODUCT_LABELS_PER_FAMILY: usize = 4;
|
||||
pub const MAX_LOGICAL_SERIES_PER_PROCESS: usize = 5_000;
|
||||
pub const MAX_RENDERED_SERIES_PER_PROCESS: usize = 15_000;
|
||||
pub const MAX_LOGICAL_SERIES_PER_PROCESS: usize = 5_250;
|
||||
pub const MAX_RENDERED_SERIES_PER_PROCESS: usize = 16_750;
|
||||
pub const MAX_EXPOSITION_BYTES: usize = 8 * 1024 * 1024;
|
||||
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
@@ -167,13 +167,19 @@ pub const HTTP_ROUTE_DOMAIN: &[&str] = &[
|
||||
"/health",
|
||||
"/ready",
|
||||
"/api/auth/login",
|
||||
"/api/auth/bootstrap/status",
|
||||
"/api/auth/bootstrap/complete",
|
||||
"/api/auth/logout",
|
||||
"/api/auth/session",
|
||||
"/api/auth/session/csrf",
|
||||
"/api/auth/profile",
|
||||
"/api/auth/password",
|
||||
"/api/admin/capabilities",
|
||||
"/api/admin/workspaces",
|
||||
"/api/admin/workspaces/{workspace_id}",
|
||||
"/api/admin/workspaces/{workspace_id}/onboarding",
|
||||
"/api/admin/workspaces/{workspace_id}/onboarding/events",
|
||||
"/api/admin/workspaces/{workspace_id}/onboarding/reset-selection",
|
||||
"/api/admin/workspaces/{workspace_id}/operations",
|
||||
"/api/admin/workspaces/{workspace_id}/imports/openapi/preview",
|
||||
"/api/admin/workspaces/{workspace_id}/imports/openapi/{job_id}/create",
|
||||
@@ -209,10 +215,14 @@ pub const HTTP_ROUTE_DOMAIN: &[&str] = &[
|
||||
"/api/admin/workspaces/{workspace_id}/secrets/{secret_id}/rotate",
|
||||
"/api/admin/workspaces/{workspace_id}/export",
|
||||
"/api/admin/workspaces/{workspace_id}/logs",
|
||||
"/api/admin/workspaces/{workspace_id}/logs/export.csv",
|
||||
"/api/admin/workspaces/{workspace_id}/logs/{log_id}",
|
||||
"/api/admin/workspaces/{workspace_id}/approvals",
|
||||
"/api/admin/workspaces/{workspace_id}/approvals/{approval_id}",
|
||||
"/api/admin/workspaces/{workspace_id}/approvals/{approval_id}/approve",
|
||||
"/api/admin/workspaces/{workspace_id}/approvals/{approval_id}/deny",
|
||||
"/api/admin/workspaces/{workspace_id}/usage",
|
||||
"/api/admin/workspaces/{workspace_id}/usage/export.csv",
|
||||
"/api/admin/workspaces/{workspace_id}/usage/operations/{operation_id}",
|
||||
"/api/admin/workspaces/{workspace_id}/usage/agents/{agent_id}",
|
||||
"/v1/{workspace_slug}/{agent_slug}",
|
||||
@@ -294,7 +304,7 @@ const METRIC_SCHEMA: &[MetricDefinition] = &[
|
||||
],
|
||||
&[],
|
||||
BOTH,
|
||||
57 * 10 * 6,
|
||||
67 * 10 * 6,
|
||||
"Total HTTP requests.",
|
||||
),
|
||||
metric(
|
||||
@@ -308,7 +318,7 @@ const METRIC_SCHEMA: &[MetricDefinition] = &[
|
||||
],
|
||||
DURATION_BUCKETS_SECONDS,
|
||||
BOTH,
|
||||
57 * 10,
|
||||
67 * 10,
|
||||
"HTTP request duration in seconds.",
|
||||
),
|
||||
metric(
|
||||
|
||||
@@ -46,16 +46,16 @@ fn schema_v1_is_complete_deterministic_and_inside_the_frozen_budget() {
|
||||
|
||||
#[test]
|
||||
fn frozen_budget_edges_are_exact() {
|
||||
assert!(validate_budget(4_999, 14_999).is_ok());
|
||||
assert!(validate_budget(5_000, 15_000).is_ok());
|
||||
assert!(validate_budget(5_001, 15_000).is_err());
|
||||
assert!(validate_budget(5_000, 15_001).is_err());
|
||||
assert_eq!(crank_metrics::max_exemplar_slots(), 9_170);
|
||||
assert!(validate_budget(5_249, 16_749).is_ok());
|
||||
assert!(validate_budget(5_250, 16_750).is_ok());
|
||||
assert!(validate_budget(5_251, 16_000).is_err());
|
||||
assert!(validate_budget(5_200, 16_751).is_err());
|
||||
assert_eq!(crank_metrics::max_exemplar_slots(), 10_570);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn every_registered_route_round_trips_without_dynamic_segments() {
|
||||
assert_eq!(HTTP_ROUTE_DOMAIN.len(), 57);
|
||||
assert_eq!(HTTP_ROUTE_DOMAIN.len(), 67);
|
||||
for route in HTTP_ROUTE_DOMAIN {
|
||||
assert_eq!(HttpRoute::from_matched_path(route).as_str(), *route);
|
||||
assert!(!route.contains("trace_id"));
|
||||
@@ -68,8 +68,8 @@ fn canonical_schema_validation_reports_its_category() {
|
||||
assert_eq!(
|
||||
schema_budget(),
|
||||
Ok(crank_metrics::SchemaBudget {
|
||||
logical_series: 4_513,
|
||||
rendered_series: 14_338
|
||||
logical_series: 5_213,
|
||||
rendered_series: 16_538
|
||||
})
|
||||
);
|
||||
}
|
||||
@@ -146,7 +146,16 @@ fn process_projection_excludes_mcp_only_metrics_from_admin() {
|
||||
fn registered_admin_and_mcp_routes_are_exactly_the_schema_domain() {
|
||||
let admin_source = include_str!("../../../apps/admin-api/src/app.rs");
|
||||
let mcp_source = include_str!("../../crank-community-mcp/src/app.rs");
|
||||
let auth = ["/login", "/logout", "/session", "/profile", "/password"];
|
||||
let auth = [
|
||||
"/bootstrap/status",
|
||||
"/bootstrap/complete",
|
||||
"/login",
|
||||
"/logout",
|
||||
"/session",
|
||||
"/session/csrf",
|
||||
"/profile",
|
||||
"/password",
|
||||
];
|
||||
let admin_root = ["/capabilities", "/workspaces", "/workspaces/{workspace_id}"];
|
||||
let mut actual = BTreeSet::from(["unmatched".to_owned()]);
|
||||
for route in route_literals(admin_source) {
|
||||
|
||||
Reference in New Issue
Block a user