From 45df4d0d9b577fecee798d672695fe24ff57fb1b Mon Sep 17 00:00:00 2001 From: mo khan Date: Tue, 15 Jul 2025 16:37:08 -0600 Subject: feat: migrate from Cedar to SpiceDB authorization system This is a major architectural change that replaces the Cedar policy-based authorization system with SpiceDB's relation-based authorization. Key changes: - Migrate from Rust to Go implementation - Replace Cedar policies with SpiceDB schema and relationships - Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks - Update build system and dependencies for Go ecosystem - Maintain Envoy integration for external authorization This change enables more flexible permission modeling through SpiceDB's Google Zanzibar inspired relation-based system, supporting complex hierarchical permissions that were difficult to express in Cedar. Breaking change: Existing Cedar policies and Rust-based configuration will no longer work and need to be migrated to SpiceDB schema. --- vendor/http/src/convert.rs | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 vendor/http/src/convert.rs (limited to 'vendor/http/src/convert.rs') diff --git a/vendor/http/src/convert.rs b/vendor/http/src/convert.rs deleted file mode 100644 index 682e0ed5..00000000 --- a/vendor/http/src/convert.rs +++ /dev/null @@ -1,17 +0,0 @@ -macro_rules! if_downcast_into { - ($in_ty:ty, $out_ty:ty, $val:ident, $body:expr) => {{ - if std::any::TypeId::of::<$in_ty>() == std::any::TypeId::of::<$out_ty>() { - // Store the value in an `Option` so we can `take` - // it after casting to `&mut dyn Any`. - let mut slot = Some($val); - // Re-write the `$val` ident with the downcasted value. - let $val = (&mut slot as &mut dyn std::any::Any) - .downcast_mut::>() - .unwrap() - .take() - .unwrap(); - // Run the $body in scope of the replaced val. - $body - } - }}; -} -- cgit v1.2.3