Skip to content

Commit 28303ff

Browse files
authored
feat: Add support for AWS Route 53 DNS provider (#11158)
1 parent 1f9a3aa commit 28303ff

File tree

15 files changed

+59
-1
lines changed

15 files changed

+59
-1
lines changed

agent/go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ require (
8686
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.5 // indirect
8787
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.14 // indirect
8888
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.14 // indirect
89+
github.com/aws/aws-sdk-go-v2/service/route53 v1.61.0 // indirect
8990
github.com/aws/aws-sdk-go-v2/service/signin v1.0.2 // indirect
9091
github.com/aws/aws-sdk-go-v2/service/sso v1.30.5 // indirect
9192
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.10 // indirect

agent/go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.14 h1:FIouAnCE
157157
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.14/go.mod h1:UTwDc5COa5+guonQU8qBikJo1ZJ4ln2r1MkF7Dqag1E=
158158
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.14 h1:FzQE21lNtUor0Fb7QNgnEyiRCBlolLTX/Z1j65S7teM=
159159
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.14/go.mod h1:s1ydyWG9pm3ZwmmYN21HKyG9WzAZhYVW85wMHs5FV6w=
160+
github.com/aws/aws-sdk-go-v2/service/route53 v1.61.0 h1:W3+0Cbc9awFBr9Yt7nFUkvB4N4e7vVIGtKD1qDttXn4=
161+
github.com/aws/aws-sdk-go-v2/service/route53 v1.61.0/go.mod h1:Wa3q5R2uwIfIL3HZH+vG1/P9y7CjjfzTgcz5IWXlsZs=
160162
github.com/aws/aws-sdk-go-v2/service/s3 v1.92.1 h1:OgQy/+0+Kc3khtqiEOk23xQAglXi3Tj0y5doOxbi5tg=
161163
github.com/aws/aws-sdk-go-v2/service/s3 v1.92.1/go.mod h1:wYNqY3L02Z3IgRYxOBPH9I1zD9Cjh9hI5QOy/eOjQvw=
162164
github.com/aws/aws-sdk-go-v2/service/signin v1.0.2 h1:MxMBdKTYBjPQChlJhi4qlEueqB1p1KcbTEa7tD5aqPs=

agent/utils/ssl/dns_provider.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"github.com/go-acme/lego/v4/providers/dns/ovh"
2222
"github.com/go-acme/lego/v4/providers/dns/rainyun"
2323
"github.com/go-acme/lego/v4/providers/dns/regru"
24+
"github.com/go-acme/lego/v4/providers/dns/route53"
2425
"github.com/go-acme/lego/v4/providers/dns/spaceship"
2526
"github.com/go-acme/lego/v4/providers/dns/tencentcloud"
2627
"github.com/go-acme/lego/v4/providers/dns/vercel"
@@ -35,6 +36,7 @@ const (
3536
DnsPod DnsType = "DnsPod"
3637
AliYun DnsType = "AliYun"
3738
AliESA DnsType = "AliESA"
39+
AWSRoute53 DnsType = "AWSRoute53"
3840
CloudFlare DnsType = "CloudFlare"
3941
CloudDns DnsType = "CloudDns"
4042
NameSilo DnsType = "NameSilo"
@@ -120,6 +122,19 @@ func getDNSProviderConfig(dnsType DnsType, params string) (challenge.Provider, e
120122
config.PollingInterval = pollingInterval
121123
config.TTL = ttl
122124
p, err = aliesa.NewDNSProviderConfig(config)
125+
case AWSRoute53:
126+
config := route53.NewDefaultConfig()
127+
config.AccessKeyID = param.AccessKey
128+
config.SecretAccessKey = param.SecretKey
129+
config.Region = param.Region
130+
if config.Region == "" {
131+
config.Region = "us-east-1"
132+
}
133+
config.HostedZoneID = param.Endpoint
134+
config.PropagationTimeout = propagationTimeout
135+
config.PollingInterval = pollingInterval
136+
config.TTL = ttl
137+
p, err = route53.NewDNSProviderConfig(config)
123138
case CloudFlare:
124139
config := cloudflare.NewDefaultConfig()
125140
config.AuthEmail = param.Email

frontend/src/global/mimetype.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,10 @@ export const DNSTypes = [
180180
label: i18n.global.t('website.aliEsa'),
181181
value: 'AliESA',
182182
},
183+
{
184+
label: i18n.global.t('website.awsRoute53'),
185+
value: 'AWSRoute53',
186+
},
183187
{
184188
label: i18n.global.t('website.tencentCloud'),
185189
value: 'TencentCloud',

frontend/src/lang/modules/en.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2351,6 +2351,7 @@ const message = {
23512351
createDnsAccount: 'DNS account',
23522352
aliyun: 'Aliyun DNS',
23532353
aliEsa: 'Aliyun ESA',
2354+
awsRoute53: 'AWS Route 53',
23542355
manual: 'Manual parsing',
23552356
key: 'Key',
23562357
check: 'View',
@@ -2831,6 +2832,7 @@ const message = {
28312832
pushNode: 'Sync to Other Nodes',
28322833
pushNodeHelper: 'Push to selected nodes after application/renewal',
28332834
fromMaster: 'Master Node Push',
2835+
hostedZoneID: 'Hosted Zone ID',
28342836
},
28352837
firewall: {
28362838
create: 'Create rule',

frontend/src/lang/modules/es-es.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2350,6 +2350,7 @@ const message = {
23502350
createDnsAccount: 'Cuenta DNS',
23512351
aliyun: 'Aliyun DNS',
23522352
aliEsa: 'Aliyun ESA',
2353+
awsRoute53: 'AWS Route 53',
23532354
manual: 'Resolución manual',
23542355
key: 'Clave',
23552356
check: 'Ver',
@@ -2808,6 +2809,7 @@ const message = {
28082809
pushNode: 'Sincronizar con otros nodos',
28092810
pushNodeHelper: 'Enviar a los nodos seleccionados después de la aplicación/renovación',
28102811
fromMaster: 'Envío desde el nodo maestro',
2812+
hostedZoneID: 'Hosted Zone ID',
28112813
},
28122814
firewall: {
28132815
create: 'Crear regla',

frontend/src/lang/modules/ja.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2271,6 +2271,7 @@ const message = {
22712271
createDnsAccount: 'DNSアカウント',
22722272
aliyun: 'エイリアン',
22732273
aliEsa: 'エイリアン ESA',
2274+
awsRoute53: 'AWS Route 53',
22742275
manual: '手動解析',
22752276
key: '鍵',
22762277
check: 'ビュー',
@@ -2750,6 +2751,7 @@ const message = {
27502751
pushNode: '他のノードに同期',
27512752
pushNodeHelper: '申請/更新後に選択したノードにプッシュ',
27522753
fromMaster: 'マスターノードからのプッシュ',
2754+
hostedZoneID: 'Hosted Zone ID',
27532755
},
27542756
firewall: {
27552757
create: 'ルールを作成します',

frontend/src/lang/modules/ko.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2231,6 +2231,7 @@ const message = {
22312231
createDnsAccount: 'DNS 계정 생성',
22322232
aliyun: '알리윤',
22332233
aliEsa: '알리윤 ESA',
2234+
awsRoute53: 'AWS Route 53',
22342235
manual: '수동 설정',
22352236
key: '키',
22362237
check: '보기',
@@ -2701,6 +2702,7 @@ const message = {
27012702
pushNode: '다른 노드에 동기화',
27022703
pushNodeHelper: '신청/갱신 후 선택한 노드로 푸시',
27032704
fromMaster: '마스터 노드에서 푸시',
2705+
hostedZoneID: 'Hosted Zone ID',
27042706
},
27052707
firewall: {
27062708
create: '규칙 만들기',

frontend/src/lang/modules/ms.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2325,6 +2325,7 @@ const message = {
23252325
createDnsAccount: 'Akaun DNS',
23262326
aliyun: 'Aliyun',
23272327
aliEsa: 'Aliyun ESA',
2328+
awsRoute53: 'AWS Route 53',
23282329
manual: 'Penyelesaian Manual',
23292330
key: 'Kunci',
23302331
check: 'Lihat',
@@ -2810,6 +2811,7 @@ const message = {
28102811
pushNode: 'Segerakan ke Nod Lain',
28112812
pushNodeHelper: 'Tolak ke nod terpilih selepas permohonan/pembaharuan',
28122813
fromMaster: 'Tolak dari Nod Utama',
2814+
hostedZoneID: 'Hosted Zone ID',
28132815
},
28142816
firewall: {
28152817
create: 'Buat peraturan',

frontend/src/lang/modules/pt-br.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2327,6 +2327,7 @@ const message = {
23272327
createDnsAccount: 'Conta DNS',
23282328
aliyun: 'Aliyun',
23292329
aliEsa: 'Aliyun ESA',
2330+
awsRoute53: 'AWS Route 53',
23302331
manual: 'Análise manual',
23312332
key: 'Chave',
23322333
check: 'Ver',
@@ -2816,6 +2817,7 @@ const message = {
28162817
pushNode: 'Sincronizar com Outros Nós',
28172818
pushNodeHelper: 'Enviar para os nós selecionados após a aplicação/renovação',
28182819
fromMaster: 'Envio do Nó Mestre',
2820+
hostedZoneID: 'Hosted Zone ID',
28192821
},
28202822
firewall: {
28212823
create: 'Criar regra',

0 commit comments

Comments
 (0)