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/hex/src/error.rs | 59 ------------------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 vendor/hex/src/error.rs (limited to 'vendor/hex/src/error.rs') diff --git a/vendor/hex/src/error.rs b/vendor/hex/src/error.rs deleted file mode 100644 index ff7a3b5c..00000000 --- a/vendor/hex/src/error.rs +++ /dev/null @@ -1,59 +0,0 @@ -use core::fmt; - -/// The error type for decoding a hex string into `Vec` or `[u8; N]`. -#[derive(Debug, Clone, Copy, PartialEq)] -pub enum FromHexError { - /// An invalid character was found. Valid ones are: `0...9`, `a...f` - /// or `A...F`. - InvalidHexCharacter { c: char, index: usize }, - - /// A hex string's length needs to be even, as two digits correspond to - /// one byte. - OddLength, - - /// If the hex string is decoded into a fixed sized container, such as an - /// array, the hex string's length * 2 has to match the container's - /// length. - InvalidStringLength, -} - -#[cfg(feature = "std")] -impl std::error::Error for FromHexError {} - -impl fmt::Display for FromHexError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match *self { - FromHexError::InvalidHexCharacter { c, index } => { - write!(f, "Invalid character {:?} at position {}", c, index) - } - FromHexError::OddLength => write!(f, "Odd number of digits"), - FromHexError::InvalidStringLength => write!(f, "Invalid string length"), - } - } -} - -#[cfg(test)] -// this feature flag is here to suppress unused -// warnings of `super::*` and `pretty_assertions::assert_eq` -#[cfg(feature = "alloc")] -mod tests { - use super::*; - #[cfg(feature = "alloc")] - use alloc::string::ToString; - use pretty_assertions::assert_eq; - - #[test] - #[cfg(feature = "alloc")] - fn test_display() { - assert_eq!( - FromHexError::InvalidHexCharacter { c: '\n', index: 5 }.to_string(), - "Invalid character '\\n' at position 5" - ); - - assert_eq!(FromHexError::OddLength.to_string(), "Odd number of digits"); - assert_eq!( - FromHexError::InvalidStringLength.to_string(), - "Invalid string length" - ); - } -} -- cgit v1.2.3