mdp-studio/Cloudflare DNS + Netlify Custom Domain
Register a custom domain in Netlify and create/update a matching Cloudflare CNAME record. Idempotent.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| subdomain | Subdomain to create (e.g., "myapp" -> myapp.<domain>). Must match ^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$. | yes | — |
| domain | Apex domain. Defaults to mdpstudio.com.au. | no | mdpstudio.com.au |
| netlify-site-id | Netlify site API ID (Site settings -> General -> Site details -> Site ID). | yes | — |
| netlify-auth-token | Netlify personal access token. Treat as highly sensitive. | yes | — |
| cf-zone-id | Cloudflare Zone ID for the apex domain (32 hex chars). | yes | — |
| cf-api-token | Cloudflare API token scoped to Zone -> DNS -> Edit on the target zone only. | yes | — |
| proxied | Enable Cloudflare proxying (orange cloud). Default false; orange cloud breaks Netlify LE HTTP-01 cert issuance. | no | false |
| create-only | If true, fails instead of updating an existing record that points somewhere else. | no | false |
| dry-run | If true, logs intended changes but performs no writes. | no | false |
| wait-for-cert | If true, poll Netlify SSL endpoint until cert is provisioned before returning. Useful when downstream steps hit the FQDN over HTTPS. | no | false |
| cert-timeout-seconds | Max seconds to wait for SSL provisioning. Ignored unless wait-for-cert=true. Range 10-900, default 300. | no | 300 |
Outputs
| name | description |
|---|---|
| fqdn | Fully-qualified domain name (e.g., myapp.mdpstudio.com.au). |
| cf-record-id | Cloudflare DNS record ID (empty on dry-run if record does not exist). |
| cf-action | One of: created | updated | noop | skipped. |
| netlify-action | One of: attached | already-attached | skipped. |
| netlify-url | The <site>.netlify.app URL for the target Netlify site. |
| ssl-state | Final SSL cert state (e.g., "provisioned", "provisioning"). Empty unless wait-for-cert=true. |
| ssl-provisioned | true/false — whether SSL was provisioned within the timeout. Empty unless wait-for-cert=true. |