Commit Graph
869 Commits
Author SHA1 Message Date
breken 64ae230d23 fix(rules): decode percent-encoded PATH rule patterns before matching
isPathAllowed decodes the incoming request path (and Badger already sends
Go's decoded req.URL.Path), but compared it against the rule pattern as raw
text. isValidUrlGlobPattern rejects raw spaces and non-ASCII and only accepts
them percent-encoded, so a PATH rule such as `/my%20docs/*` or `/caf%C3%A9`
was stored as `my%20docs` / `caf%C3%A9` and compared against `my docs` /
`café`, and could therefore never match any request.

Run the pattern through the same decodeAndResolvePath normalisation as the
request path so both sides are compared in decoded form.

Claude-Session: https://claude.ai/code/session_0134ujLF81GyXsCByibLcYsz
2026-09-13 19:00:59 -07:00
Owen 9d19195089 Configurable tab title and disable flag for keys 2026-09-04 09:20:20 -04:00
Owen 1bc5fbbf0f Always pull all of the users for the blueprints 2026-09-03 12:02:41 -04:00
Owen be0dd65557 Update imports 2026-09-03 11:35:28 -04:00
Owen e0937a3afa Add validation for health check hostname
Fixes #3677
2026-09-02 10:42:59 -04:00
miloschwartz 2f013335f9 make user lookup deterministic in blueprints by sorting 2026-09-01 15:36:39 -04:00
miloschwartz dd0a5a359a check for namespace domain before blocking org check 2026-08-31 10:59:50 -04:00
Alejandro Argueta 7cda28d685 Update RuleSchema to allow COUNTRY_IS_NOT rules to be created via blueprints as well. 2026-08-27 14:18:48 -07:00
Owen 60bc74c4df Add AI provider and usage metrics to telemetry data collection 2026-08-27 16:54:04 -04:00
Owen a02d16fd58 Handle compression of ai session logs 2026-08-26 11:28:14 -04:00
Owen e57826d6e0 Session logs and usage logs should use seconds not ms 2026-08-26 10:50:16 -04:00
miloschwartz 906099d1e1 fix org domain access check so unmapped domains are rejected 2026-08-26 09:55:40 -04:00
Owen 23764feb4f Move the messaging out of the transaction 2026-08-25 09:27:02 -04:00
Owen 9b0e049a21 Scope exit node creation to orgs 2026-08-24 10:44:54 -04:00
Owen 442cefda84 Dont allow clients to connect to remote nodes quite yet 2026-08-21 12:25:14 -04:00
Owen 2e87927b83 Remove unused use_subdomain 2026-08-21 10:21:21 -04:00
Owen e65a79cc48 Rename to v1_models and use with openai as well 2026-08-20 16:01:07 -04:00
Owen 365a905e69 Add more data to the models catalog list 2026-08-20 15:17:48 -04:00
Owen bafbf6e096 Add anthropic_models capability 2026-08-20 14:28:19 -04:00
Owen c1caa30cb9 Move session logs to private 2026-08-19 17:25:32 -04:00
Owen 114592add8 Show a warning if the logs are disabled to reduce confusion 2026-08-19 16:16:05 -04:00
Owen ef051c2f8c Dont count usage when the response was not successful 2026-08-19 15:59:01 -04:00
Owen 437ec50019 Update the usage records to use logs db 2026-08-19 12:03:30 -04:00
miloschwartz bdd7f40688 batch identity key emails 2026-08-18 16:00:07 -04:00
Owen 7a61b182e0 Deduplicate inference resources by fullDomain to prevent duplicate routers 2026-08-17 17:13:22 -04:00
Owen 91b697b80b Track public inference domains to avoid duplicate routers for siteResource aliases 2026-08-17 17:06:37 -04:00
miloschwartz 313f777e44 rename routes from inference to ai-gateway 2026-08-17 15:38:43 -04:00
miloschwartz 697bea814e bump version 2026-08-17 15:00:18 -04:00
Owen 87a3e5ceea Generate the cert properly 2026-08-17 13:45:51 -04:00
Owen 555b36e13e Fix target pulling still being private 2026-08-17 13:40:09 -04:00
Owen af515f1072 Pass 2 bring over browser resources and http resource cert gen 2026-08-17 12:00:12 -04:00
Owen c90c67eab3 Pass 1 of pulling traefik config into functions 2026-08-17 12:00:12 -04:00
Owen 11daf4f927 Move certificates 2026-08-17 12:00:12 -04:00
Owen 58195b5959 Move the acme cert sync 2026-08-17 12:00:12 -04:00
Owen b51aecf45a Remove advanced resources paywall 2026-08-17 12:00:12 -04:00
miloschwartz 53b1d8a9f3 option to send identity keys in email 2026-08-14 17:37:17 -04:00
miloschwartz a3dfb30a42 send email upon generate virtual api key 2026-08-14 16:51:27 -04:00
Owen 3a18a3994f Fix private resource ssl when applying through blueprints 2026-08-14 14:21:00 -04:00
Owen 193f6da8d1 Handle the list of models without allow/block 2026-08-14 12:23:20 -04:00
Owen 954dc8d1d9 Handle overlapping fullDomain properly 2026-08-14 12:23:20 -04:00
Owen 234819f8f2 Dont load private resource inference without a exit node loaded 2026-08-14 12:23:20 -04:00
Owen c8f170d197 Allow budgets to be set on the resources 2026-08-14 11:43:01 -04:00
Owen 4989d1e31a Allow overlapping domains on public inference resources 2026-08-14 11:43:01 -04:00
Owen 574ae8f5f9 Include inference support in blueprints 2026-08-14 10:51:59 -04:00
Owen 03118f1ede Support labels on blueprints
Ref https://github.com/orgs/fosrl/discussions/2849
2026-08-14 09:16:50 -04:00
miloschwartz 9b10292e02 add model picker to create provider wizard 2026-08-13 15:08:10 -04:00
miloschwartz e21c9eec31 Merge branch 'aig' of https://github.com/fosrl/pangolin into aig 2026-08-13 09:29:02 -04:00
miloschwartz a9f32102b5 format custom error codes according to capability 2026-08-13 09:26:58 -04:00
Owen 7291628f86 optionally stamp ip header for downstream use 2026-08-13 09:14:37 -04:00
Owen 5fbb205044 search the right resource 2026-08-12 17:52:39 -04:00