From e2b6075c965e3384429a8ec897cce97af2e6355a Mon Sep 17 00:00:00 2001 From: JLbenito Date: Wed, 20 May 2026 16:09:37 +0800 Subject: [PATCH] Add StoryPages (storypages.ai) templates for site and email DNS --- storypages.ai.email.json | 33 +++++++++++++++++++++++++++++++ storypages.ai.site-root-www.json | 27 +++++++++++++++++++++++++ storypages.ai.site-root.json | 21 ++++++++++++++++++++ storypages.ai.site-subdomain.json | 22 +++++++++++++++++++++ 4 files changed, 103 insertions(+) create mode 100644 storypages.ai.email.json create mode 100644 storypages.ai.site-root-www.json create mode 100644 storypages.ai.site-root.json create mode 100644 storypages.ai.site-subdomain.json diff --git a/storypages.ai.email.json b/storypages.ai.email.json new file mode 100644 index 00000000..fc548fb3 --- /dev/null +++ b/storypages.ai.email.json @@ -0,0 +1,33 @@ +{ + "providerId": "storypages.ai", + "providerName": "StoryPages", + "version": 1, + "logoUrl": "https://platform.storypages.ai/_next/static/media/storypages-logo.2dfb6f9c.png", + "syncPubKeyDomain": "storypages.ai", + "syncRedirectDomain": "storypages.ai,api.storypages.ai,platform.storypages.ai", + "syncBlock": false, + "serviceId": "email", + "serviceName": "StoryPages Email Authentication", + "description": "Adds SendGrid email authentication CNAMEs (mail branding + DKIM) for sending branded email through StoryPages.", + "variableDescription": "%emHost%: SendGrid mail branding label; %sendgridMailTarget%: mail CNAME target; %sendgridDkim1Target%: DKIM s1; %sendgridDkim2Target%: DKIM s2", + "records": [ + { + "type": "CNAME", + "host": "%emHost%", + "pointsTo": "%sendgridMailTarget%", + "ttl": 3600 + }, + { + "type": "CNAME", + "host": "s1._domainkey", + "pointsTo": "%sendgridDkim1Target%", + "ttl": 3600 + }, + { + "type": "CNAME", + "host": "s2._domainkey", + "pointsTo": "%sendgridDkim2Target%", + "ttl": 3600 + } + ] +} diff --git a/storypages.ai.site-root-www.json b/storypages.ai.site-root-www.json new file mode 100644 index 00000000..48fb0b34 --- /dev/null +++ b/storypages.ai.site-root-www.json @@ -0,0 +1,27 @@ +{ + "providerId": "storypages.ai", + "providerName": "StoryPages", + "version": 1, + "logoUrl": "https://platform.storypages.ai/_next/static/media/storypages-logo.2dfb6f9c.png", + "syncPubKeyDomain": "storypages.ai", + "syncRedirectDomain": "storypages.ai,api.storypages.ai,platform.storypages.ai", + "syncBlock": false, + "serviceId": "site-root-www", + "serviceName": "StoryPages Website (apex + www)", + "description": "Points the apex domain (A record) and www (CNAME) to a StoryPages site hosted on Vercel.", + "variableDescription": "%vercelApexTarget%: Vercel A-record IP for the apex domain; %vercelCnameTarget%: Vercel CNAME target for www", + "records": [ + { + "type": "A", + "host": "@", + "pointsTo": "%vercelApexTarget%", + "ttl": 3600 + }, + { + "type": "CNAME", + "host": "www", + "pointsTo": "%vercelCnameTarget%", + "ttl": 3600 + } + ] +} diff --git a/storypages.ai.site-root.json b/storypages.ai.site-root.json new file mode 100644 index 00000000..abfbf4c3 --- /dev/null +++ b/storypages.ai.site-root.json @@ -0,0 +1,21 @@ +{ + "providerId": "storypages.ai", + "providerName": "StoryPages", + "version": 1, + "logoUrl": "https://platform.storypages.ai/_next/static/media/storypages-logo.2dfb6f9c.png", + "syncPubKeyDomain": "storypages.ai", + "syncRedirectDomain": "storypages.ai,api.storypages.ai,platform.storypages.ai", + "syncBlock": false, + "serviceId": "site-root", + "serviceName": "StoryPages Website (apex only)", + "description": "Points the apex domain (A record) to a StoryPages site hosted on Vercel. Does not create a www record.", + "variableDescription": "%vercelApexTarget%: Vercel A-record IP for the apex domain", + "records": [ + { + "type": "A", + "host": "@", + "pointsTo": "%vercelApexTarget%", + "ttl": 3600 + } + ] +} diff --git a/storypages.ai.site-subdomain.json b/storypages.ai.site-subdomain.json new file mode 100644 index 00000000..84728166 --- /dev/null +++ b/storypages.ai.site-subdomain.json @@ -0,0 +1,22 @@ +{ + "providerId": "storypages.ai", + "providerName": "StoryPages", + "version": 1, + "logoUrl": "https://platform.storypages.ai/_next/static/media/storypages-logo.2dfb6f9c.png", + "syncPubKeyDomain": "storypages.ai", + "syncRedirectDomain": "storypages.ai,api.storypages.ai,platform.storypages.ai", + "syncBlock": false, + "serviceId": "site-subdomain", + "serviceName": "StoryPages Website (subdomain)", + "description": "Points a subdomain (CNAME) to a StoryPages site hosted on Vercel. The subdomain is specified via the host parameter in the apply URL.", + "variableDescription": "%vercelCnameTarget%: Vercel CNAME target for the subdomain", + "hostRequired": true, + "records": [ + { + "type": "CNAME", + "host": "@", + "pointsTo": "%vercelCnameTarget%", + "ttl": 3600 + } + ] +}