@ossy/domains
v3.20.1
Published
Domains feature package — managed domains, registration, and DNS onboarding
Readme
@ossy/domains
Domains feature package for the Ossy platform — schemas, UI, and the Host → workspace lookup for managed domains.
What's included
Pages
| File | Page id | Default paths |
|---|---|---|
| domains.page.jsx | domains/home | /domains (en), /domaner (sv) |
| register-domain.page.jsx | domains/register | /domains/register (en), /domaner/registrera (sv) |
The home page lists managed domain documents with the shared ListPanelLayout (ResourceList + ResourcePanel). New Domain opens the register page, which calls @ossy/domains/actions/register-domain. That action stores the hostname as both content.domain and the resource name.
Schemas (ADR 0006)
Document types are defined in *.schema.js files and discovered at build time.
| Schema | Id | Purpose |
|---|---|---|
| Managed Domain | @ossy/domains/schema/managed-domain | One hostname in content.domain. www.example.com and example.com are separate documents. |
| Domain DNS Setup | @ossy/domains/schema/dns-setup | DNS verification and routing records for domain activation |
Document instances are stored under /@ossy/domains/ (see the location export in locations.js).
Actions
| Action | Task | Access | Purpose |
|---|---|---|---|
| @ossy/domains/actions/register-domain | @ossy/domains/tasks/register-domain | workspace | Create a managed domain. The hostname is content.domain and the resource name. |
| @ossy/domains/actions/find-by-domain | @ossy/domains/tasks/find-by-domain | public | Workspace whose content.domain equals the hostname. |
Exports
| Export | Description |
|---|---|
| location | Workspace storage path (/@ossy/domains/) |
| Definition | Feature metadata for store/sidebar (status: ['beta'], entitlementRequired: false) |
Usage
npm install @ossy/domains
npm run build@ossy/app discovers pages automatically via "ossy": { "src": "./src" } in package.json. Schemas are picked up from *.schema.js files at build time.
Register a hostname from /domains (New Domain) or by invoking @ossy/domains/actions/register-domain with { domain }. POST /api/v0/apps/domains calls that action.
Migration from resource templates
This package migrated from *.resource.js to ADR 0006 schemas. Stored resource.type values and create-document query params changed:
| Before | After |
|---|---|
| @ossy/domain/managed | @ossy/domains/schema/managed-domain |
| @ossy/domain/dns-setup | @ossy/domains/schema/dns-setup |
| templateId query param | schemaId query param |
Dependencies
| Package | Role |
|---|---|
| @ossy/design-system | Page, layout primitives, and UI components |
| @ossy/resources | ListPanelLayout, ListResources, ResourceList, ResourcePanel |
| @ossy/router-react | Page routing |
| @ossy/sdk-react | Workspace data reads |
| react | UI |
