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/bitflags/src/tests.rs | 135 ------------------------------------------- 1 file changed, 135 deletions(-) delete mode 100644 vendor/bitflags/src/tests.rs (limited to 'vendor/bitflags/src/tests.rs') diff --git a/vendor/bitflags/src/tests.rs b/vendor/bitflags/src/tests.rs deleted file mode 100644 index 0770e1b3..00000000 --- a/vendor/bitflags/src/tests.rs +++ /dev/null @@ -1,135 +0,0 @@ -mod all; -mod bitflags_match; -mod bits; -mod clear; -mod complement; -mod contains; -mod difference; -mod empty; -mod eq; -mod extend; -mod flags; -mod fmt; -mod from_bits; -mod from_bits_retain; -mod from_bits_truncate; -mod from_name; -mod insert; -mod intersection; -mod intersects; -mod is_all; -mod is_empty; -mod iter; -mod parser; -mod remove; -mod symmetric_difference; -mod truncate; -mod union; -mod unknown; - -bitflags! { - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestFlags: u8 { - /// 1 - const A = 1; - - /// 1 << 1 - const B = 1 << 1; - - /// 1 << 2 - const C = 1 << 2; - - /// 1 | (1 << 1) | (1 << 2) - const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits(); - } - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestFlagsInvert: u8 { - /// 1 | (1 << 1) | (1 << 2) - const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits(); - - /// 1 - const A = 1; - - /// 1 << 1 - const B = 1 << 1; - - /// 1 << 2 - const C = 1 << 2; - } - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestZero: u8 { - /// 0 - const ZERO = 0; - } - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestZeroOne: u8 { - /// 0 - const ZERO = 0; - - /// 1 - const ONE = 1; - } - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestUnicode: u8 { - /// 1 - const 一 = 1; - - /// 2 - const 二 = 1 << 1; - } - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestEmpty: u8 {} - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestOverlapping: u8 { - /// 1 | (1 << 1) - const AB = 1 | (1 << 1); - - /// (1 << 1) | (1 << 2) - const BC = (1 << 1) | (1 << 2); - } - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestOverlappingFull: u8 { - /// 1 - const A = 1; - - /// 1 - const B = 1; - - /// 1 - const C = 1; - - /// 2 - const D = 1 << 1; - } - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestExternal: u8 { - /// 1 - const A = 1; - - /// 1 << 1 - const B = 1 << 1; - - /// 1 << 2 - const C = 1 << 2; - - /// 1 | (1 << 1) | (1 << 2) - const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits(); - - /// External - const _ = !0; - } - - #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] - pub struct TestExternalFull: u8 { - /// External - const _ = !0; - } -} -- cgit v1.2.3