Validation clusters per request
Give requesters a dedicated place to deploy before anyone talks production. Scoped credentials, your cluster, your rules—reviewers meet the real app.
Self-hosted · Apache 2.0
Foyre is your organization’s front door for new AI systems. Collect the right answers up front, score risk with clear rules, and—when you’re ready—give each request its own isolated Kubernetes environment (vcluster) so teams deploy real workloads, click ready for review, and reviewers inspect what’s actually in the cluster.
You stay in control of production: intake is structured, repeatable, and grounded in something tangible—not a slide deck.
Chatbots, RAG, agents, and inference APIs show up from every direction. Generic tickets weren’t built for model egress, vector stores, or agent side effects—so platform and security teams hear about the risky parts late, every review looks different, and work slips outside the process you thought you had.
Surprises after the fact
External APIs, regulated data, and cluster behavior surface once teams are already invested—harder to steer calmly.
Reviews without proof
A written description isn’t a deployment. Without something running, reviewers guess at networking, images, and config.
Shadow paths
When the official door feels slow or vague, teams route around it—and you lose one place to see what’s in flight.
Foyre keeps the workflow small on purpose: submit, classify, optionally validate in a real cluster, then approve or reject. Validation is optional per environment, but it’s what turns “we promise” into “we deployed it—come look.”
One structured form captures workload type, data sensitivity, APIs, vector DBs, agents, GPUs, and egress—only what applies to that request.
Deterministic Python rules label each request low, medium, high, or unknown—with reasons your reviewers can read. No mystery scores and no ML black box.
Where Foyre differs
On your host Kubernetes, requesters spin up a dedicated virtual cluster, download a scoped kubeconfig, and
ship with kubectl or Helm. When it’s running, they
mark the request ready for review. Foyre orchestrates the
sandbox—your org runs the workloads.
Reviewers read answers, risk notes, and comments—and inspect what’s live. Approve, reject, or send back. Every step lands in the history with who did it.
Requester
Intake +risk score
Isolatedvcluster
Approvedor rejected
Everything below ships in the open-source project—focused on intake, evidence, and review, not feature sprawl.
Give requesters a dedicated place to deploy before anyone talks production. Scoped credentials, your cluster, your rules—reviewers meet the real app.
Drafts, validation on submit, and fields that appear only when relevant—so teams aren’t punished with blank paperwork.
Examples teams recognize: regulated data plus an external model API rates higher; agents acting for users rates higher; gaps in answers surface as unknown until someone fills them in.
Requesters, reviewers, architects, and admins share one simple status flow—from draft to submitted, ready for review, under review, then approved or rejected.
Comments, status changes, risk runs, and validation lifecycle events stay on the request—lightweight traceability without pretending to be a full compliance suite.
Bcrypt-backed passwords, rotation for admin-created accounts, Fernet-encrypted kubeconfigs at rest, SQLite out of the box with a path to Postgres when you need it.
Mid-sized and larger organizations that already take AI seriously—and want one disciplined door before production.
Foyre is internal tooling you self-host—not a consumer app and not a hosted SaaS. Today you sign in with local accounts (LDAP, AD, and OIDC are future extension points, not shipped yet). There are no native integrations for ServiceNow, Jira, Slack, email, or Teams; plan to bridge those yourself if you need them.
Each deployment is aimed at one organization. Backup and DR are whatever you already practice for SQLite or Postgres.
Apache 2.0 means you can run, inspect, and adapt Foyre without a vendor in the middle. Intake data, credentials, and validation clusters stay inside the boundaries you already trust.
You’ll need Python 3.11+ and Node.js 18+. Kubernetes is optional: skip it to try intake and review locally; add a host cluster when you want validation environments.
git clone https://github.com/foyre/foyre.git
cd foyre
make install
make env
Set APP_SECRET_KEY in
backend/.env to a Fernet key (encrypts kubeconfigs at rest):
python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
make seed
Credentials live in backend/.env—change them before you share a network.
# Terminal A — API (e.g. http://localhost:8000)
make run
# Terminal B — UI dev server (e.g. http://localhost:5173)
make front-install
make front
APP_SECRET_KEY. Requester kubeconfigs are shown once when minted—handle them like any other secret.