From 50a06dfdc0e92ede025afa3a6a0f282bfba465e0 Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Fri, 24 Jul 2026 14:04:52 +0100 Subject: [PATCH] refactor(site): rename Organisation to Instance The signup form now posts instance_name, matching sitesvc. Also restores site/next-env.d.ts. Its /// directives had been stripped, which removed the Next.js type environment and failed the build with "Cannot find name 'Promise'". Same cause as the agent's missing build constraint. --- site/app/page.tsx | 8 ++++---- site/app/platform/page.tsx | 8 ++++---- site/app/pricing/page.tsx | 2 +- site/app/start/page.tsx | 12 ++++++------ .../{OrgForm.tsx => InstanceForm.tsx} | 18 +++++++++--------- site/lib/submit.ts | 2 +- site/next-env.d.ts | 10 +++++----- 7 files changed, 30 insertions(+), 30 deletions(-) rename site/components/{OrgForm.tsx => InstanceForm.tsx} (82%) diff --git a/site/app/page.tsx b/site/app/page.tsx index 36f806a..7cc3110 100644 --- a/site/app/page.tsx +++ b/site/app/page.tsx @@ -14,7 +14,7 @@ export default function OverviewPage() {

- Create your organisation + Create your instance What it does @@ -133,8 +133,8 @@ export default function OverviewPage() {
FIRST -

Create an organisation

-

You become the owner. Everything inside is invisible to every other organisation.

+

Create an instance

+

You become the owner. Everything inside is invisible to every other instance.

THEN @@ -168,7 +168,7 @@ export default function OverviewPage() {

Three servers, free, no card.

-

Create an organisation, install one agent, and watch a key land on a real box.

+

Create an instance, install one agent, and watch a key land on a real box.

Get started diff --git a/site/app/platform/page.tsx b/site/app/platform/page.tsx index 763e1d4..4c1cfcc 100644 --- a/site/app/platform/page.tsx +++ b/site/app/platform/page.tsx @@ -82,13 +82,13 @@ export default function PlatformPage() {
Tenancy and identity -

Organisations are the boundary.

+

Instances are the boundary.

Isolation

Scoped at the query

- Every server, key, workflow, monitor and secret belongs to an organisation, and every lookup is filtered by it. Uniqueness constraints are enforced by the database, not by + Every server, key, workflow, monitor and secret belongs to an instance, and every lookup is filtered by it. Uniqueness constraints are enforced by the database, not by application logic.

@@ -99,8 +99,8 @@ export default function PlatformPage() {
Identity -

Local or OIDC, per organisation

-

Sign in with email and password, or connect your own provider. Each organisation configures its own issuer and client.

+

Local or OIDC, per instance

+

Sign in with email and password, or connect your own provider. Each instance configures its own issuer and client.

Sessions diff --git a/site/app/pricing/page.tsx b/site/app/pricing/page.tsx index 720a807..e39733d 100644 --- a/site/app/pricing/page.tsx +++ b/site/app/pricing/page.tsx @@ -45,7 +45,7 @@ export default function PricingPage() {
  • Up to 3 servers
  • Keys, workflows and monitors
  • -
  • One member, one organisation
  • +
  • One member, one instance
  • Community support
diff --git a/site/app/start/page.tsx b/site/app/start/page.tsx index 8f3e2e0..269ca44 100644 --- a/site/app/start/page.tsx +++ b/site/app/start/page.tsx @@ -1,9 +1,9 @@ import type { Metadata } from "next"; -import { OrgForm } from "@/components/OrgForm"; +import { InstanceForm } from "@/components/InstanceForm"; export const metadata: Metadata = { title: "Vantage Cloud", - description: "An organisation owns its servers, keys, workflows, monitors and secrets. Free for three servers, hosted or self-hosted.", + description: "An instance owns its servers, keys, workflows, monitors and secrets. Free for three servers, hosted or self-hosted.", }; export default function StartPage() { @@ -12,14 +12,14 @@ export default function StartPage() {
Vantage Cloud -

Set up your organisation.

+

Set up your instance.

- An organisation owns its servers, keys, workflows, monitors and secrets. Nothing inside it is visible to any other organisation. Confirm your email and it is created with you + An instance owns its servers, keys, workflows, monitors and secrets. Nothing inside it is visible to any other instance. Confirm your email and it is created with you as its owner.

- +
@@ -30,7 +30,7 @@ export default function StartPage() { FIRST

Confirm your email

-

We send a link that works once. Your organisation is created when you open it, not before.

+

We send a link that works once. Your instance is created when you open it, not before.

diff --git a/site/components/OrgForm.tsx b/site/components/InstanceForm.tsx similarity index 82% rename from site/components/OrgForm.tsx rename to site/components/InstanceForm.tsx index b03b47b..c736dc7 100644 --- a/site/components/OrgForm.tsx +++ b/site/components/InstanceForm.tsx @@ -14,7 +14,7 @@ function slugify(value: string) { .replace(/^-|-$/g, ""); } -export function OrgForm() { +export function InstanceForm() { const [slug, setSlug] = useState(""); const [result, setResult] = useState({ state: "idle" }); const sending = result.state === "sending"; @@ -25,7 +25,7 @@ export function OrgForm() { setResult({ state: "sending" }); setResult( await submitSignup({ - org_name: String(data.get("org_name") ?? ""), + instance_name: String(data.get("instance_name") ?? ""), email: String(data.get("email") ?? ""), password: String(data.get("password") ?? ""), website: String(data.get("website") ?? ""), @@ -38,7 +38,7 @@ export function OrgForm() {

Check your email.

- We sent a confirmation link. Open it and {slug || "your organisation"} is created with you as its owner. The link works once and expires in 24 hours. + We sent a confirmation link. Open it and {slug || "your instance"} is created with you as its owner. The link works once and expires in 24 hours.

Nothing exists until you confirm if the email does not arrive, start again or contact support@hostxtra.co.uk. @@ -54,14 +54,14 @@ export function OrgForm() {

- - setSlug(slugify(e.target.value))} aria-describedby="o-org-err" /> + + setSlug(slugify(e.target.value))} aria-describedby="o-instance-err" /> - {slug || "your-org"}.vantage.hostxtra.co.uk + {slug || "your-instance"}.vantage.hostxtra.co.uk - {fieldError("org_name") && ( - - {fieldError("org_name")} + {fieldError("instance_name") && ( + + {fieldError("instance_name")} )}
diff --git a/site/lib/submit.ts b/site/lib/submit.ts index 328134e..bfc5537 100644 --- a/site/lib/submit.ts +++ b/site/lib/submit.ts @@ -56,7 +56,7 @@ export async function submitContact(fields: { name: string; email: string; serve return post(`${SITE_API}/api/contact`, fields); } -export async function submitSignup(fields: { org_name: string; email: string; password: string; website: string }): Promise { +export async function submitSignup(fields: { instance_name: string; email: string; password: string; website: string }): Promise { if (!SITE_API) { return { state: "error", diff --git a/site/next-env.d.ts b/site/next-env.d.ts index 9fd409f..9edff1c 100644 --- a/site/next-env.d.ts +++ b/site/next-env.d.ts @@ -1,6 +1,6 @@ -/ -/ -import "./.next/dev/types/routes.d.ts"; - - +/// +/// +import "./.next/types/routes.d.ts"; +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.