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/tinyvec/tests/debugger_visualizer.rs | 91 ----------------------------- 1 file changed, 91 deletions(-) delete mode 100644 vendor/tinyvec/tests/debugger_visualizer.rs (limited to 'vendor/tinyvec/tests/debugger_visualizer.rs') diff --git a/vendor/tinyvec/tests/debugger_visualizer.rs b/vendor/tinyvec/tests/debugger_visualizer.rs deleted file mode 100644 index de7cf71e..00000000 --- a/vendor/tinyvec/tests/debugger_visualizer.rs +++ /dev/null @@ -1,91 +0,0 @@ -use debugger_test::debugger_test; -use tinyvec::*; - -#[inline(never)] -fn __break() { - println!("breakpoint hit"); -} - -#[debugger_test( - debugger = "cdb", - commands = r#" -dx strings -dx inline_tv -dx inline_tv.__0 -g -dx slice_vec -g -dx strings -"#, - expected_statements = r#" -pattern:strings : \{ len=0x3 \} \[Type: tinyvec::arrayvec::ArrayVec >\] -pattern:\[\] \[Type: tinyvec::arrayvec::ArrayVec >\] -pattern:\[len\] : 0x3 \[Type: unsigned short\] -pattern:\[capacity\] : 7 -pattern:\[0\] : "a" \[Type: .*str.*\] -pattern:\[1\] : "b" \[Type: .*str.*\] -pattern:\[2\] : "c" \[Type: .*str.*\] - -inline_tv : Inline [Type: enum2$ > >] - [] [Type: enum2$ > >] - [+0x004] __0 : { len=0x4 } [Type: tinyvec::arrayvec::ArrayVec >] - -inline_tv.__0 : { len=0x4 } [Type: tinyvec::arrayvec::ArrayVec >] - [] [Type: tinyvec::arrayvec::ArrayVec >] - [len] : 0x4 [Type: unsigned short] - [capacity] : 4 - [0] : 1 [Type: i32] - [1] : 2 [Type: i32] - [2] : 3 [Type: i32] - [3] : 4 [Type: i32] - -pattern:slice_vec : \{ len=0x3 \} \[Type: tinyvec::slicevec::SliceVec<.*str.*>\] -pattern:\[\] \[Type: tinyvec::slicevec::SliceVec<.*str.*>\] -pattern:\[len\] : 0x3 \[Type: unsigned __int64\] -pattern:\[0\] : "a" \[Type: .*str.*\] -pattern:\[1\] : "b" \[Type: .*str.*\] -pattern:\[2\] : "d" \[Type: .*str.*\] - -pattern:strings : \{ len=0x6 \} \[Type: tinyvec::arrayvec::ArrayVec >\] -pattern:\[\] \[Type: tinyvec::arrayvec::ArrayVec >\] -pattern:\[len\] : 0x6 \[Type: unsigned short\] -pattern:\[capacity\] : 7 -pattern:\[0\] : "a" \[Type: .*str.*\] -pattern:\[1\] : "b" \[Type: .*str.*\] -pattern:\[2\] : "d" \[Type: .*str.*\] -pattern:\[3\] : "e" \[Type: .*str.*\] -pattern:\[4\] : "f" \[Type: .*str.*\] -pattern:\[5\] : "g" \[Type: .*str.*\] -"# -)] -#[inline(never)] -fn test_debugger_visualizer() { - let mut strings = ArrayVec::<[&str; 7]>::default(); - strings.push("a"); - strings.push("b"); - strings.push("c"); - assert_eq!(["a", "b", "c"], &strings[..]); - - let mut inline_tv = tiny_vec!([i32; 4] => 1, 2, 3); - assert!(inline_tv.is_inline()); - - inline_tv.push(4); - __break(); - - { - let mut slice_vec = SliceVec::from(strings.as_mut_slice()); - assert_eq!(3, slice_vec.capacity()); - assert_eq!("c", slice_vec.remove(2)); - slice_vec.push("d"); - println!("{:?}", slice_vec); - __break(); - - assert_eq!(["a", "b", "d"], &slice_vec[..]); - } - - strings.push("e"); - strings.push("f"); - strings.push("g"); - assert_eq!(["a", "b", "d", "e", "f", "g"], &strings[..]); - __break(); -} -- cgit v1.2.3