Building registrar extensions
Write a domain-registrar extension: the manifest, the stateless driver contract, capabilities, credentials, testing, publishing and the trust model.
A registrar extension is code only — one PHP driver plus a salieno.json manifest — that registers, transfers, renews and manages domains. Search stays registrar-free.
Build a minimal but working domain-registrar extension from scratch — two files, register and renew — then grow it capability by capability.
Every field in a registrar's salieno.json manifest, key by key — the schema Core validates, the capabilities that gate the UI, and the credentials that render the config form.
Every method your registrar driver implements, with the exact array shape Core reads back — register, transfer, renew, nameservers, contacts, sync and the rest.
A registrar's declared capabilities decide which controls Core draws — at checkout, in the client domain manager and admin page. Declare one to show it; omit it to hide it.
A registrar's driver and connection profile are separate — declare credential fields in the manifest, read them safely per call, and verify them with a Test connection probe.
Unit-test your stateless registrar driver against canned API responses: fake HTTP, use the sandbox, and prove capability honesty and fail-closed errors before you submit.
Package a registrar driver as a signed marketplace extension, get it approved, and ship updates that never lose a domain or re-charge the operator.
Registrars move real domains with the operator's credentials, so Core enforces trust rather than assuming it — the signing scheme, hardened install, and the three-gate load.