Kyre Developer Docs

Last updated:

What Is Kyre?

Kyre is a high-performance, multi-tenant platform built for creators and developers. It lets you deploy fast, secure websites and apps using modern tooling like Cloudflare Workers, AstroJS, and SolidJS — with first-class support for per-tenant configuration, edge caching, scoped content delivery, and more.

javascript
      export default async function handleRequest(request: Request) {
  const tenant = getTenantFromRequest(request);
  const page = await fetchTenantPage(tenant, request.url);
  return new Response(page.content, {
    headers: { 'Content-Type': 'text/html' }
  });
}
    

Why Kyre Is Built On The Edge

Unlike traditional frameworks that run from a central server, Kyre deploys to Cloudflare’s global edge. Every tenant's route is scoped, cached, and rendered as close to the user as possible — often delivering full HTML in under 50ms. Cold starts? Gone. Latency? Minimized.

javascript
      ---
import Layout from '../components/Layout.astro';
const { tenant } = Astro.props;
const page = await getPageContent(tenant);
---

<Layout title={page.title}>
  <article>
    <h1>{page.heading}</h1>
    <p>{page.description}</p>
  </article>
</Layout>
    

Theme Configuration (Per Tenant)

Each tenant can define their own styles, colors, and layout options — which you can inject dynamically at runtime.

javascript
      {
  "theme": {
    "background": "#0f172a",
    "accent": "#8b5cf6",
    "font": "Inter",
    "logo": "/assets/logo-white.svg"
  },
  "features": ["blog", "cms", "analytics"]
}
    

API Endpoint: Fetch Pages

Your custom Cloudflare Worker can use Kyre’s internal API to fetch tenant-specific pages and render them at the edge.

javascript
      const response = await fetch(`https://worker.kyre.io/api/slug/${slug}`, {
  method: 'GET',
  headers: { 'X-Tenant-ID': tenantId }
});

const { page } = await response.json();
    

Custom Component Example

You can register your own blocks using Astro or Solid components and drop them into JSON content using the `type: 'component'` key.

javascript
      export default function HeroSection({ title, subtitle }) {
  return (
    <div class="text-center p-8">
      <h1 class="text-4xl font-bold">{title}</h1>
      <p class="text-lg text-gray-300">{subtitle}</p>
    </div>
  );
}
    

Security Built In

Kyre injects nonce-based CSP headers, edge-auth scopes, rate limiting, and origin-level access control — all tenant-specific. You control what gets cached, what gets gated, and what gets tracked.

javascript
      response.headers.set(
  'Content-Security-Policy',
  `script-src 'nonce-${nonce}' 'strict-dynamic'; object-src 'none'; base-uri 'none';`
);
    

Ready To Build?

Kyre lets you ship fast without sacrificing power. Whether you’re launching a blog, product site, or full SaaS — your code stays yours, your tenants stay scoped, and your stack stays lean.