@@ -20,7 +20,7 @@ import Layout from '../layouts/Layout.astro';
2020
2121 <p class =" text-lg sm:text-xl text-foreground-muted max-w-2xl mx-auto mb-10" >
2222 Stop maintaining two sources of truth. Barbacane uses your OpenAPI and AsyncAPI
23- specifications as the single source of truth for routing, validation, authentication, and event bridging.
23+ specifications as the single source of truth for routing, validation, authentication, authorization, and event bridging.
2424 </p >
2525
2626 <div class =" flex flex-col sm:flex-row gap-4 justify-center" >
@@ -150,8 +150,8 @@ import Layout from '../layouts/Layout.astro';
150150 </div >
151151 <h3 class =" text-xl font-semibold mb-2" >Request Validation</h3 >
152152 <p class =" text-foreground-muted" >
153- Automatic JSON Schema validation for bodies, parameters, and headers.
154- Invalid requests never reach your backend.
153+ Automatic JSON Schema validation for bodies, parameters, and headers
154+ with built-in < code class = " text-primary " >$ref</ code > resolution. Invalid requests never reach your backend.
155155 </p >
156156 </div >
157157
@@ -163,8 +163,8 @@ import Layout from '../layouts/Layout.astro';
163163 </div >
164164 <h3 class =" text-xl font-semibold mb-2" >Authentication</h3 >
165165 <p class =" text-foreground-muted" >
166- Built -in JWT, API Key, and OAuth2 authentication. Configured directly
167- in your OpenAPI security schemes.
166+ Five built -in auth plugins: JWT, OIDC, OAuth2, API Key, and Basic Auth.
167+ Configured directly in your OpenAPI security schemes.
168168 </p >
169169 </div >
170170
@@ -187,10 +187,10 @@ import Layout from '../layouts/Layout.astro';
187187 <path stroke-linecap =" round" stroke-linejoin =" round" stroke-width =" 2" d =" M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z" ></path >
188188 </svg >
189189 </div >
190- <h3 class =" text-xl font-semibold mb-2" >WASM Plugins</h3 >
190+ <h3 class =" text-xl font-semibold mb-2" >24 WASM Plugins</h3 >
191191 <p class =" text-foreground-muted" >
192- Extend functionality with WebAssembly plugins. Sandboxed execution means
193- plugins can't crash your gateway.
192+ 24 official plugins covering auth, security, traffic control, transformations, and observability.
193+ Sandboxed WebAssembly execution means plugins can't crash your gateway.
194194 </p >
195195 </div >
196196
@@ -241,8 +241,8 @@ import Layout from '../layouts/Layout.astro';
241241 </div >
242242 <h3 class =" text-xl font-semibold mb-2" >Web UI</h3 >
243243 <p class =" text-foreground-muted" >
244- Visual control plane for managing projects, specs, plugins, and deployments.
245- No YAML wrestling required .
244+ Visual control plane with syntax-highlighted spec viewer, drag- and-drop uploads,
245+ build logs, data plane health monitoring, and one-click deployments .
246246 </p >
247247 </div >
248248
@@ -258,6 +258,45 @@ import Layout from '../layouts/Layout.astro';
258258 cloud, on-prem, edge locations, or embedded devices.
259259 </p >
260260 </div >
261+
262+ <div class =" card" >
263+ <div class =" w-12 h-12 rounded-lg bg-primary-subtle flex items-center justify-center mb-4" >
264+ <svg class =" w-6 h-6 text-primary" fill =" none" stroke =" currentColor" viewBox =" 0 0 24 24" >
265+ <path stroke-linecap =" round" stroke-linejoin =" round" stroke-width =" 2" d =" M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" ></path >
266+ </svg >
267+ </div >
268+ <h3 class =" text-xl font-semibold mb-2" >Authorization</h3 >
269+ <p class =" text-foreground-muted" >
270+ Policy-driven access control with inline CEL expressions, Open Policy Agent integration,
271+ and consumer-based ACLs. Zero-trust at the gateway.
272+ </p >
273+ </div >
274+
275+ <div class =" card" >
276+ <div class =" w-12 h-12 rounded-lg bg-secondary-subtle flex items-center justify-center mb-4" >
277+ <svg class =" w-6 h-6 text-secondary" fill =" none" stroke =" currentColor" viewBox =" 0 0 24 24" >
278+ <path stroke-linecap =" round" stroke-linejoin =" round" stroke-width =" 2" d =" M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4" ></path >
279+ </svg >
280+ </div >
281+ <h3 class =" text-xl font-semibold mb-2" >Request Transformation</h3 >
282+ <p class =" text-foreground-muted" >
283+ Declarative transformations for headers, query params, paths, and JSON bodies
284+ before reaching your upstream. Variable interpolation with capture groups.
285+ </p >
286+ </div >
287+
288+ <div class =" card" >
289+ <div class =" w-12 h-12 rounded-lg bg-accent-subtle flex items-center justify-center mb-4" >
290+ <svg class =" w-6 h-6 text-accent" fill =" none" stroke =" currentColor" viewBox =" 0 0 24 24" >
291+ <path stroke-linecap =" round" stroke-linejoin =" round" stroke-width =" 2" d =" M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4" ></path >
292+ </svg >
293+ </div >
294+ <h3 class =" text-xl font-semibold mb-2" >S3 Storage Proxy</h3 >
295+ <p class =" text-foreground-muted" >
296+ Proxy requests to AWS S3 or S3-compatible storage (MinIO, RustFS, Ceph) with
297+ SigV4 signing. Single-bucket CDN or multi-bucket routing.
298+ </p >
299+ </div >
261300 </div >
262301 </div >
263302 </section >
@@ -499,11 +538,12 @@ import Layout from '../layouts/Layout.astro';
499538
500539 <div class =" code-block rounded-lg p-4 mb-8 max-w-xl mx-auto" >
501540 <code class =" text-sm sm:text-base font-mono" >
502- <span class =" text-foreground-muted" ># Install Barbacane</span ><br >
503- <span class =" text-primary" >cargo</span > install barbacane<br ><br >
504- <span class =" text-foreground-muted" ># Compile your spec</span ><br >
505- <span class =" text-primary" >barbacane</span > compile --spec api.yaml --manifest barbacane.yaml --output api.bca<br ><br >
506- <span class =" text-foreground-muted" ># Run the gateway</span ><br >
541+ <span class =" text-foreground-muted" ># Try the playground with Docker</span ><br >
542+ <span class =" text-primary" >git</span > clone https://github.com/barbacane-dev/playground<br >
543+ <span class =" text-primary" >cd</span > playground && <span class =" text-primary" >docker-compose</span > up -d<br ><br >
544+ <span class =" text-foreground-muted" ># Or install from source</span ><br >
545+ <span class =" text-primary" >cargo</span > install barbacane<br >
546+ <span class =" text-primary" >barbacane</span > compile --spec api.yaml --manifest barbacane.yaml --output api.bca<br >
507547 <span class =" text-primary" >barbacane</span > serve --artifact api.bca
508548 </code >
509549 </div >
0 commit comments