Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add moodiycloud.com template #591

Closed
wants to merge 4 commits into from
Closed

Conversation

jgupta
Copy link

@jgupta jgupta commented Mar 1, 2025

Description

We would like to ease the process of adding DNS records required for setting custom domain or subdomain with MooDIYCloud.com services.

Type of change

Please mark options that are relevant.

  • 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

Example variable values

prefix: mkts1w1

Copy link

github-actions bot commented Mar 1, 2025

Linter error:

Linter result for moodiycloud.com.lms-apex-cname.json
Linter result for moodiycloud.com.lms-domain-cloudflare-cname.json
{"level":"error","template":"moodiycloud.com.lms-domain-cloudflare-cname.json","groupid":"","record":0,"type":"CNAME","code":"DCTL1012","dctl_note":"record host must not be @ when template hostRequired is false","time":1741010079}
Linter result for moodiycloud.com.lms-subdomain-cname.json

@jgupta jgupta marked this pull request as ready for review March 1, 2025 05:51
"variableDescription": "prefix completes the fully qualified domain name that the record will point to.",
"records":[
{
"type": "APEXCNAME",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK support for APEXCNAME among DNS provider is very low.
Template can be accepted, no prob, but you may face problems having them onboarded with DNS providers.
A/AAAA for APEX is a safe choice.
REDIR on www subdomain is also a possibility, a bit better adopted than APEXCNAME.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pawel-kow Thank you for your feedback. Yes, I am worried about that as well.

Cloudflare supports using CNAME at APEX (using CNAME flattening) and linter gave error while using APEXCNAME so I was confused if cloudflare will need APEXCNAME or CNAME.
https://github.com/Domain-Connect/dc-template-linter/wiki/DCTL5009
I had posted this question on slack as well.

We don't want to use A/AAAA because sometimes our IPs can change and it would not create a good experience. We essentially want to limit using domains (APEX) only if they could use APEXCNAME or CNAME flattening.

Do you have suggestions?

Copy link
Member

@pawel-kow pawel-kow Mar 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APEXCNAME / REDIR are non-standard so you will always face providers who would not support any of those.
Cloudflare's CNAME flattening is also non-standard.
So I guess you won't be able to work around A/AAAA if you want a template working with any provider. And this with or without considering Domain Connect. The limitation is on DNS layer.

What you can do is putting A/AAAA, APEXCNAME and maybe REDIR as options with GroupId and then activate the variant you know working with a given provider. The overhead for you would be to maintain a list of providers to know which path to activate.

For Cloudflare-related questions @kerolasa may help better.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kerolasa Do you know if Cloudflare will accept APEXCNAME and silently fall back to CNAME flattening?

If not and if we create a CNAME template, how do we handle hostRequired and use of '@' in host? I get error DCTL1012.
https://github.com/Domain-Connect/dc-template-linter/wiki/DCTL1012

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The warning code for Cloudflare handling about APEXCNAME is this one:
https://github.com/Domain-Connect/dc-template-linter/wiki/DCTL5009

And indeed, you do need to use CNAME instead combined with CNAME Flattening being enabled for the zones that get these sort of records.
https://developers.cloudflare.com/dns/cname-flattening/

p.s. There are bunch of other Cloudflare warnings that you may want to be aware if you request onboarding.

 $dc-template-linter --cloudflare ./moodiycloud.com.lms-*
2025-03-03T11:33:37Z INF code=DCTL5003 dctl_note="syncRedirectDomain is not supported" template=./moodiycloud.com.lms-apex-cname.json
2025-03-03T11:33:37Z INF code=DCTL5009 dctl_note="APEXCNAME is not supported" groupid= record=0 template=./moodiycloud.com.lms-apex-cname.json type=APEXCNAME
2025-03-03T11:33:37Z INF code=DCTL5011 dctl_note="essential is not supported" groupid= record=0 template=./moodiycloud.com.lms-apex-cname.json type=APEXCNAME
2025-03-03T11:33:37Z INF code=DCTL5011 dctl_note="essential is not supported" groupid= record=1 template=./moodiycloud.com.lms-apex-cname.json type=CNAME
2025-03-03T11:33:37Z INF code=DCTL5003 dctl_note="syncRedirectDomain is not supported" template=./moodiycloud.com.lms-subdomain-cname.json
2025-03-03T11:33:37Z INF code=DCTL5006 dctl_note="hostRequired is not supported" template=./moodiycloud.com.lms-subdomain-cname.json
2025-03-03T11:33:37Z INF code=DCTL5007 dctl_note="domains must use Cloudflares CNAME flattening setting" groupid= record=0 template=./moodiycloud.com.lms-subdomain-cname.json type=CNAME
2025-03-03T11:33:37Z INF code=DCTL5011 dctl_note="essential is not supported" groupid= record=0 template=./moodiycloud.com.lms-subdomain-cname.json type=CNAME

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@moodiycloud moodiycloud closed this by deleting the head repository Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants