Skip to content

Commit 9636607

Browse files
authored
Add new Domain Connect template for Blink.new (#704)
# Description This pull request introduces a new Domain Connect template for the Blink service, enabling automated DNS configuration for website hosting, subdomains, email, and domain verification. The template defines all required DNS records and variables for seamless integration ## Type of change Please mark options that are relevant. - [x] New template - [ ] Bug fix (non-breaking change which fixes an issue in the template) - [ ] New feature (non-breaking change which adds functionality to the template) - [ ] Breaking change (fix or feature that would cause existing template behavior to be not backward compatible) # How Has This Been Tested? Please mark the following checks done - [x] Schema validated using JSON Schema [template.schema](./template.schema) - [x] Template functionality checked using [Online Editor](https://domainconnect.paulonet.eu/dc/free/templateedit) - [x] Template is checked using [template linter](https://github.com/Domain-Connect/dc-template-linter) - [x] Template file name follows the pattern `<providerId>.<serviceId>.json` - [x] resource URL provided with `logoUrl` is actually served by a webserver # Example variable values ## Use Case 1: Apex Domain Setup (Website Hosting) ``` verification: abc123def456ghi789 ip1: 75.2.60.5 ip2: 99.83.231.61 target: proxy.blink.new ``` **Resulting Records:** - TXT `_blink` → `blink-verify=abc123def456ghi789` - A `@` → `75.2.60.5` - A `@` → `99.83.231.61` - CNAME `www` → `proxy.blink.new` ## Use Case 2: Subdomain Setup ``` verification: xyz789uvw456rst123 host: app target: proxy.blink.new ``` **Resulting Records:** - TXT `_blink` → `blink-verify=xyz789uvw456rst123` - CNAME `app` → `proxy.blink.new` ## Use Case 3: SSL Certificate Validation (ACM) ``` acm_host: _abc123.example.com acm_target: _abc123.acm-validations.aws ``` **Resulting Records:** - CNAME `_abc123.example.com` → `_abc123.acm-validations.aws` ## Use Case 4: Email Setup (Full Configuration) ``` mx1: mx1.mailprovider.com mx2: mx2.mailprovider.com spf: mailprovider.com dkim_selector: blink dkim_value: v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA... dmarc_email: [email protected] ``` **Resulting Records:** - MX `@` → `mx1.mailprovider.com` (priority 10) - MX `@` → `mx2.mailprovider.com` (priority 20) - SPFM `@` → `include:mailprovider.com` - TXT `blink._domainkey` → `v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...` - TXT `_dmarc` → `v=DMARC1; p=quarantine; rua=mailto:[email protected]` ## Complete Test Data Object ```json "testData": { "apex-domain": { "variables": { "verification": "abc123def456ghi789", "ip1": "75.2.60.5", "ip2": "99.83.231.61", "target": "proxy.blink.new" }, "results": [ { "type": "TXT", "host": "_blink", "ttl": 600, "data": "blink-verify=abc123def456ghi789" }, { "type": "A", "host": "@", "ttl": 600, "pointsTo": "75.2.60.5" }, { "type": "A", "host": "@", "ttl": 600, "pointsTo": "99.83.231.61" }, { "type": "CNAME", "host": "www", "ttl": 600, "pointsTo": "proxy.blink.new" } ] }, "subdomain": { "variables": { "verification": "xyz789uvw456rst123", "host": "app", "target": "proxy.blink.new" }, "results": [ { "type": "TXT", "host": "_blink", "ttl": 600, "data": "blink-verify=xyz789uvw456rst123" }, { "type": "CNAME", "host": "app", "ttl": 600, "pointsTo": "proxy.blink.new" } ] }, "acm-validation": { "variables": { "acm_host": "_abc123", "acm_target": "_abc123.acm-validations.aws" }, "results": [ { "type": "CNAME", "host": "_abc123", "ttl": 600, "pointsTo": "_abc123.acm-validations.aws" } ] }, "email-setup": { "variables": { "mx1": "mx1.mailprovider.com", "mx2": "mx2.mailprovider.com", "spf": "mailprovider.com", "dkim_selector": "blink", "dkim_value": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA", "dmarc_email": "[email protected]" }, "results": [ { "type": "MX", "host": "@", "ttl": 600, "pointsTo": "mx1.mailprovider.com", "priority": 10 }, { "type": "MX", "host": "@", "ttl": 600, "pointsTo": "mx2.mailprovider.com", "priority": 20 }, { "type": "SPFM", "host": "@", "spfRules": "include:mailprovider.com" }, { "type": "TXT", "host": "blink._domainkey", "ttl": 600, "data": "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA" }, { "type": "TXT", "host": "_dmarc", "ttl": 600, "data": "v=DMARC1; p=quarantine; rua=mailto:[email protected]" } ] } } ```
1 parent 9c7b86c commit 9636607

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

blink.new.domain-connect.json

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
{
2+
"providerId": "blink.new",
3+
"providerName": "Blink",
4+
"serviceId": "domain-connect",
5+
"serviceName": "Blink Domain Connect",
6+
"version": 1,
7+
"logoUrl": "https://blink.new/blink/blink-logo-icon--dark.svg",
8+
"description": "Connect your domain to Blink for website hosting, subdomains, and email services",
9+
"variableDescription": "ip: primary A record IP. ip2: secondary A record IP (optional). subdomain: subdomain name. target: CNAME destination. verification: domain verification token. acm_host/acm_target: SSL validation CNAME. mx1/mx2: MX record servers. spf: SPF include rule. dkim_selector/dkim_value: DKIM key.",
10+
"syncPubKeyDomain": "domainconnect.blink.new",
11+
"syncRedirectDomain": "blink.new,api.blink.new,app.blink.new",
12+
"hostRequired": false,
13+
"syncBlock": false,
14+
"records": [
15+
{
16+
"groupId": "verification",
17+
"type": "TXT",
18+
"host": "_blink",
19+
"data": "blink-verify=%verification%",
20+
"ttl": 600
21+
},
22+
{
23+
"groupId": "apex",
24+
"type": "A",
25+
"host": "@",
26+
"pointsTo": "%ip%",
27+
"ttl": 600
28+
},
29+
{
30+
"groupId": "apex-redundant",
31+
"type": "A",
32+
"host": "@",
33+
"pointsTo": "%ip2%",
34+
"ttl": 600
35+
},
36+
{
37+
"groupId": "www",
38+
"type": "CNAME",
39+
"host": "www",
40+
"pointsTo": "%target%",
41+
"ttl": 600
42+
},
43+
{
44+
"groupId": "subdomain",
45+
"type": "CNAME",
46+
"host": "%subdomain%",
47+
"pointsTo": "%target%",
48+
"ttl": 600
49+
},
50+
{
51+
"groupId": "acm-validation",
52+
"type": "CNAME",
53+
"host": "%acm_host%",
54+
"pointsTo": "%acm_target%",
55+
"ttl": 600
56+
},
57+
{
58+
"groupId": "mx-primary",
59+
"type": "MX",
60+
"host": "@",
61+
"pointsTo": "%mx1%",
62+
"priority": 10,
63+
"ttl": 600
64+
},
65+
{
66+
"groupId": "mx-secondary",
67+
"type": "MX",
68+
"host": "@",
69+
"pointsTo": "%mx2%",
70+
"priority": 20,
71+
"ttl": 600
72+
},
73+
{
74+
"groupId": "email-spf",
75+
"type": "SPFM",
76+
"host": "@",
77+
"spfRules": "include:%spf%"
78+
},
79+
{
80+
"groupId": "email-dkim",
81+
"type": "TXT",
82+
"host": "%dkim_selector%._domainkey",
83+
"data": "%dkim_value%",
84+
"ttl": 600
85+
},
86+
{
87+
"groupId": "email-dmarc",
88+
"type": "TXT",
89+
"host": "_dmarc",
90+
"data": "v=DMARC1; p=quarantine; rua=mailto:%dmarc_email%",
91+
"ttl": 600,
92+
"txtConflictMatchingMode": "All",
93+
"essential": "OnApply"
94+
}
95+
]
96+
}

0 commit comments

Comments
 (0)