Girish Ramakrishnan
43e426ab9f
Revert "Add no-use-before-define linter rule"
...
This reverts commit fdcc5d68a2 .
Unfortunately, this requires us to move exports to the bottom.
This in turn causes circular dep issues and also access of
exports.GLOBAL_VAR in the global context
2025-10-08 21:17:52 +02:00
Girish Ramakrishnan
01d7d41c17
domains: remove SECRET_PLACEHOLDER from responses
2025-10-08 14:32:24 +02:00
Girish Ramakrishnan
12e073e8cf
use node: prefix for requires
...
mostly because code is being autogenerated by all the AI stuff using
this prefix. it's also used in the stack trace.
2025-08-14 12:55:35 +05:30
Girish Ramakrishnan
6aca198428
domains: add option to set custom/vanity nameservers
...
this flag skips the NS name validation when a custom nameserver is set
i.e not to the provider's NS but uses the provider's API.
2025-03-02 09:52:08 +01:00
Girish Ramakrishnan
dd5e4adc73
replace underscore with our own
...
we only need like 5 simple functions
2025-02-13 14:14:34 +01:00
Girish Ramakrishnan
7322006455
test: fix route53 tests
2025-02-11 11:29:43 +01:00
Girish Ramakrishnan
58fcca58fc
domains: migrate route53 to aws sdk v3
2025-02-10 17:42:56 +01:00
Girish Ramakrishnan
37ed87f9c1
route53: retry on rate limit
...
route53 has a limit of 5 req/sec/region - https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-requests
see https://forum.cloudron.io/topic/10656/improve-dns-updates-to-avoid-rate-limits/
2023-12-27 12:23:09 +01:00
Girish Ramakrishnan
ceb908bee7
Use constants.TEST
2023-10-01 13:52:19 +05:30
Girish Ramakrishnan
4a1cdd4ef1
Update aws-sdk and suppress maintenance mode message
...
https://github.com/aws/aws-sdk-js/issues/4354
2023-05-11 22:18:00 +02:00
Girish Ramakrishnan
b70572a6e9
dns: fqdn only needs domain string
...
This is from the caas days, when we had hyphenated subdomains flag
2022-11-28 21:56:25 +01:00
Girish Ramakrishnan
5afa7345a5
route53: check permissions to perform route53:ListResourceRecordSets
...
otherwise, at install time we see "DNS credentials for xx are invalid. Update it in Domains & Certs view"
the exact error from route 53 is:
User: arn:aws:iam::xx:user/yy is not authorized to perform: route53:ListResourceRecordSets on resource: arn:aws:route53:::hostedzone/zz because no identity-based policy allows the route53:ListResourceRecordSets action
2022-03-02 10:44:52 -08:00
Girish Ramakrishnan
e1db45ef81
remove callback asserts
2022-02-04 15:47:38 -08:00
Girish Ramakrishnan
ee0cbb0e42
make route53 async
2022-02-04 15:20:49 -08:00
Girish Ramakrishnan
0373fb70d5
make waitForDns async
...
cloudflare is partly broken
2022-02-03 17:35:45 -08:00
Girish Ramakrishnan
bf51bc25e9
dnsConfig -> domainConfig
...
this prepares for the incoming settings.getDnsConfig()
2022-01-05 22:56:10 -08:00
Girish Ramakrishnan
5bcf1bc47b
merge domaindb.js into domains.js
2021-08-16 14:41:42 -07:00
Girish Ramakrishnan
199eda82d1
Use Array.isArray instead
2021-05-02 11:26:47 -07:00
Girish Ramakrishnan
45c49c9757
route53: verifyDnsConfig lists zones using old API
...
It should be using the listHostedZonesByName API but it was using the old
API (which has a 100 zone limitation) because it was using old credentials.
2020-08-07 09:54:02 -07:00
Johannes Zellner
9bdeff0a39
Always use constants.SECRET_PLACEHOLDER
2020-05-14 23:02:02 +02:00
Girish Ramakrishnan
51cb3b0ba8
Move DomainsError to BoxError
2019-10-23 15:15:19 -07:00
Johannes Zellner
127b22d7ce
Add dns interface api to inject hidden files for verification
2019-02-09 19:09:51 +01:00
Johannes Zellner
32f8a52c2b
add provider specific removePrivateFields to redact tokens and secrets
2019-02-09 11:59:37 +01:00
Girish Ramakrishnan
65210ea91d
rework dns api to take domainObject
...
the DNS backends require many different params, it's just easier to
pass them all together and have backends do whatever.
For example, route53 API requires the fqdn. Some other backends require just the
"part" to insert.
* location - location in the database (where app is installed)
* zoneName - the dns zone name
* domain - domain in the database (where apps are installed into)
* name/getName() - this returns the name to insert in the DNS based on zoneName/location
* fqdn - the fully resolved location in zoneName
verifyDnsConfig also takes a domain object even if it's not in db just so that we can
test even existing domain objects, if required. The IP param is removed since it's not
required.
for caas, we also don't need the fqdn hack in dnsConfig anymore
2019-01-04 22:38:12 -08:00
Girish Ramakrishnan
a756345138
consolidate hyphenatedSubdomains handling
2018-09-11 21:41:50 -07:00
Girish Ramakrishnan
6f398144cb
validate hyphenatedSubdomain
2018-08-25 18:29:55 -07:00
Johannes Zellner
b35c81e546
Handle hyphenatedSubdomains in the backend verifyDnsConfig()
2018-08-22 12:16:19 +02:00
Johannes Zellner
163563f400
Remove now unused dnsRecordId
2018-06-29 23:14:06 +02:00
Girish Ramakrishnan
6ca28d9a58
validate dns config parameters
2018-06-17 22:21:51 -07:00
Girish Ramakrishnan
66f032a7ee
route53: use credentials instead of dnsConfig
2018-05-07 23:41:03 -07:00
Girish Ramakrishnan
b9166b382d
route53: set listHostedZonesByName for new/updated domains
2018-05-07 13:42:10 -07:00
Girish Ramakrishnan
1f75c2cc48
route53: add backward compat for pre-2.2 IAM perms
...
backward compat for 2.2, where we only required access to "listHostedZones"
2018-05-07 11:24:34 -07:00
Girish Ramakrishnan
d0197aab15
Revert "No need to iterate over the hosted zones anymore"
...
This reverts commit e4a70b95f5 .
We will add backward compat route for pre-2.2 cloudrons
2018-05-07 11:23:28 -07:00
Johannes Zellner
e4a70b95f5
No need to iterate over the hosted zones anymore
2018-05-07 16:35:32 +02:00
Johannes Zellner
f4d3d79922
Query only requested Route53 zone
...
Fixes #550
2018-05-07 16:30:42 +02:00
Girish Ramakrishnan
722b14b13d
Add note on MX records
2018-05-06 22:14:39 -07:00
Girish Ramakrishnan
863afc68cb
DomainError -> DomainsError
2018-04-29 11:20:12 -07:00
Girish Ramakrishnan
58386b0c54
remove resolveNs
2018-02-08 14:39:35 -08:00
Girish Ramakrishnan
26c95a25b6
Use the native dns resolver
...
it now supports cancel()
also, fixes #514
2018-02-08 11:37:58 -08:00
Girish Ramakrishnan
2ac12de204
Add domains.provider
2018-01-09 15:32:49 -08:00
Johannes Zellner
e1be8b669f
Do not rely on admin subdomain for dns backend config validation
2017-11-20 19:59:40 +01:00
Johannes Zellner
260ac0afb7
Remove subdomains.js in favor of multidomain capable domains.js
2017-11-20 19:59:26 +01:00
Girish Ramakrishnan
d9ab1a78d5
Make the my location customizable
...
Fixes #22
2017-10-25 23:00:43 -07:00
Girish Ramakrishnan
3745e96a6f
domain -> fqdn
2017-06-15 19:56:04 -07:00
Girish Ramakrishnan
9ead482dc6
Make verifyDnsConfig take zone name
...
part of #110
2017-06-15 19:55:24 -07:00
Girish Ramakrishnan
ddb69eb25c
remove native-dns and use dig directly
...
native-dns module is unmaintained and we keep getting sporadic
errors from that module
Fixes #220
2017-05-26 16:51:05 -07:00
Girish Ramakrishnan
11697f11cf
use constants for admin location
2017-05-24 15:41:37 -07:00
Johannes Zellner
798c2ff921
Return correct error if route53 security token is invalid
2017-04-16 12:52:14 +02:00
Girish Ramakrishnan
8a4350d22e
upsert already returns a SubdomainError
2017-02-14 22:29:33 -08:00
Girish Ramakrishnan
3176bc1afa
Fix failing tests
2017-01-10 16:54:15 -08:00