mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-12-17 21:08:25 +08:00
feat: Add support for AWS Route 53 DNS provider (#11158)
This commit is contained in:
parent
1f9a3aa51a
commit
28303ffa82
15 changed files with 59 additions and 1 deletions
|
|
@ -86,6 +86,7 @@ require (
|
|||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.14 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.14 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/route53 v1.61.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/signin v1.0.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.30.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.10 // indirect
|
||||
|
|
|
|||
|
|
@ -157,6 +157,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.14 h1:FIouAnCE
|
|||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.14/go.mod h1:UTwDc5COa5+guonQU8qBikJo1ZJ4ln2r1MkF7Dqag1E=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.14 h1:FzQE21lNtUor0Fb7QNgnEyiRCBlolLTX/Z1j65S7teM=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.14/go.mod h1:s1ydyWG9pm3ZwmmYN21HKyG9WzAZhYVW85wMHs5FV6w=
|
||||
github.com/aws/aws-sdk-go-v2/service/route53 v1.61.0 h1:W3+0Cbc9awFBr9Yt7nFUkvB4N4e7vVIGtKD1qDttXn4=
|
||||
github.com/aws/aws-sdk-go-v2/service/route53 v1.61.0/go.mod h1:Wa3q5R2uwIfIL3HZH+vG1/P9y7CjjfzTgcz5IWXlsZs=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.92.1 h1:OgQy/+0+Kc3khtqiEOk23xQAglXi3Tj0y5doOxbi5tg=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.92.1/go.mod h1:wYNqY3L02Z3IgRYxOBPH9I1zD9Cjh9hI5QOy/eOjQvw=
|
||||
github.com/aws/aws-sdk-go-v2/service/signin v1.0.2 h1:MxMBdKTYBjPQChlJhi4qlEueqB1p1KcbTEa7tD5aqPs=
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import (
|
|||
"github.com/go-acme/lego/v4/providers/dns/ovh"
|
||||
"github.com/go-acme/lego/v4/providers/dns/rainyun"
|
||||
"github.com/go-acme/lego/v4/providers/dns/regru"
|
||||
"github.com/go-acme/lego/v4/providers/dns/route53"
|
||||
"github.com/go-acme/lego/v4/providers/dns/spaceship"
|
||||
"github.com/go-acme/lego/v4/providers/dns/tencentcloud"
|
||||
"github.com/go-acme/lego/v4/providers/dns/vercel"
|
||||
|
|
@ -35,6 +36,7 @@ const (
|
|||
DnsPod DnsType = "DnsPod"
|
||||
AliYun DnsType = "AliYun"
|
||||
AliESA DnsType = "AliESA"
|
||||
AWSRoute53 DnsType = "AWSRoute53"
|
||||
CloudFlare DnsType = "CloudFlare"
|
||||
CloudDns DnsType = "CloudDns"
|
||||
NameSilo DnsType = "NameSilo"
|
||||
|
|
@ -120,6 +122,19 @@ func getDNSProviderConfig(dnsType DnsType, params string) (challenge.Provider, e
|
|||
config.PollingInterval = pollingInterval
|
||||
config.TTL = ttl
|
||||
p, err = aliesa.NewDNSProviderConfig(config)
|
||||
case AWSRoute53:
|
||||
config := route53.NewDefaultConfig()
|
||||
config.AccessKeyID = param.AccessKey
|
||||
config.SecretAccessKey = param.SecretKey
|
||||
config.Region = param.Region
|
||||
if config.Region == "" {
|
||||
config.Region = "us-east-1"
|
||||
}
|
||||
config.HostedZoneID = param.Endpoint
|
||||
config.PropagationTimeout = propagationTimeout
|
||||
config.PollingInterval = pollingInterval
|
||||
config.TTL = ttl
|
||||
p, err = route53.NewDNSProviderConfig(config)
|
||||
case CloudFlare:
|
||||
config := cloudflare.NewDefaultConfig()
|
||||
config.AuthEmail = param.Email
|
||||
|
|
|
|||
|
|
@ -180,6 +180,10 @@ export const DNSTypes = [
|
|||
label: i18n.global.t('website.aliEsa'),
|
||||
value: 'AliESA',
|
||||
},
|
||||
{
|
||||
label: i18n.global.t('website.awsRoute53'),
|
||||
value: 'AWSRoute53',
|
||||
},
|
||||
{
|
||||
label: i18n.global.t('website.tencentCloud'),
|
||||
value: 'TencentCloud',
|
||||
|
|
|
|||
|
|
@ -2351,6 +2351,7 @@ const message = {
|
|||
createDnsAccount: 'DNS account',
|
||||
aliyun: 'Aliyun DNS',
|
||||
aliEsa: 'Aliyun ESA',
|
||||
awsRoute53: 'AWS Route 53',
|
||||
manual: 'Manual parsing',
|
||||
key: 'Key',
|
||||
check: 'View',
|
||||
|
|
@ -2831,6 +2832,7 @@ const message = {
|
|||
pushNode: 'Sync to Other Nodes',
|
||||
pushNodeHelper: 'Push to selected nodes after application/renewal',
|
||||
fromMaster: 'Master Node Push',
|
||||
hostedZoneID: 'Hosted Zone ID',
|
||||
},
|
||||
firewall: {
|
||||
create: 'Create rule',
|
||||
|
|
|
|||
|
|
@ -2350,6 +2350,7 @@ const message = {
|
|||
createDnsAccount: 'Cuenta DNS',
|
||||
aliyun: 'Aliyun DNS',
|
||||
aliEsa: 'Aliyun ESA',
|
||||
awsRoute53: 'AWS Route 53',
|
||||
manual: 'Resolución manual',
|
||||
key: 'Clave',
|
||||
check: 'Ver',
|
||||
|
|
@ -2808,6 +2809,7 @@ const message = {
|
|||
pushNode: 'Sincronizar con otros nodos',
|
||||
pushNodeHelper: 'Enviar a los nodos seleccionados después de la aplicación/renovación',
|
||||
fromMaster: 'Envío desde el nodo maestro',
|
||||
hostedZoneID: 'Hosted Zone ID',
|
||||
},
|
||||
firewall: {
|
||||
create: 'Crear regla',
|
||||
|
|
|
|||
|
|
@ -2271,6 +2271,7 @@ const message = {
|
|||
createDnsAccount: 'DNSアカウント',
|
||||
aliyun: 'エイリアン',
|
||||
aliEsa: 'エイリアン ESA',
|
||||
awsRoute53: 'AWS Route 53',
|
||||
manual: '手動解析',
|
||||
key: '鍵',
|
||||
check: 'ビュー',
|
||||
|
|
@ -2750,6 +2751,7 @@ const message = {
|
|||
pushNode: '他のノードに同期',
|
||||
pushNodeHelper: '申請/更新後に選択したノードにプッシュ',
|
||||
fromMaster: 'マスターノードからのプッシュ',
|
||||
hostedZoneID: 'Hosted Zone ID',
|
||||
},
|
||||
firewall: {
|
||||
create: 'ルールを作成します',
|
||||
|
|
|
|||
|
|
@ -2231,6 +2231,7 @@ const message = {
|
|||
createDnsAccount: 'DNS 계정 생성',
|
||||
aliyun: '알리윤',
|
||||
aliEsa: '알리윤 ESA',
|
||||
awsRoute53: 'AWS Route 53',
|
||||
manual: '수동 설정',
|
||||
key: '키',
|
||||
check: '보기',
|
||||
|
|
@ -2701,6 +2702,7 @@ const message = {
|
|||
pushNode: '다른 노드에 동기화',
|
||||
pushNodeHelper: '신청/갱신 후 선택한 노드로 푸시',
|
||||
fromMaster: '마스터 노드에서 푸시',
|
||||
hostedZoneID: 'Hosted Zone ID',
|
||||
},
|
||||
firewall: {
|
||||
create: '규칙 만들기',
|
||||
|
|
|
|||
|
|
@ -2325,6 +2325,7 @@ const message = {
|
|||
createDnsAccount: 'Akaun DNS',
|
||||
aliyun: 'Aliyun',
|
||||
aliEsa: 'Aliyun ESA',
|
||||
awsRoute53: 'AWS Route 53',
|
||||
manual: 'Penyelesaian Manual',
|
||||
key: 'Kunci',
|
||||
check: 'Lihat',
|
||||
|
|
@ -2810,6 +2811,7 @@ const message = {
|
|||
pushNode: 'Segerakan ke Nod Lain',
|
||||
pushNodeHelper: 'Tolak ke nod terpilih selepas permohonan/pembaharuan',
|
||||
fromMaster: 'Tolak dari Nod Utama',
|
||||
hostedZoneID: 'Hosted Zone ID',
|
||||
},
|
||||
firewall: {
|
||||
create: 'Buat peraturan',
|
||||
|
|
|
|||
|
|
@ -2327,6 +2327,7 @@ const message = {
|
|||
createDnsAccount: 'Conta DNS',
|
||||
aliyun: 'Aliyun',
|
||||
aliEsa: 'Aliyun ESA',
|
||||
awsRoute53: 'AWS Route 53',
|
||||
manual: 'Análise manual',
|
||||
key: 'Chave',
|
||||
check: 'Ver',
|
||||
|
|
@ -2816,6 +2817,7 @@ const message = {
|
|||
pushNode: 'Sincronizar com Outros Nós',
|
||||
pushNodeHelper: 'Enviar para os nós selecionados após a aplicação/renovação',
|
||||
fromMaster: 'Envio do Nó Mestre',
|
||||
hostedZoneID: 'Hosted Zone ID',
|
||||
},
|
||||
firewall: {
|
||||
create: 'Criar regra',
|
||||
|
|
|
|||
|
|
@ -2322,6 +2322,7 @@ const message = {
|
|||
createDnsAccount: 'DNS аккаунт',
|
||||
aliyun: 'Aliyun',
|
||||
aliEsa: 'Aliyun ESA',
|
||||
awsRoute53: 'AWS Route 53',
|
||||
manual: 'Ручная настройка',
|
||||
key: 'Ключ',
|
||||
check: 'Просмотр',
|
||||
|
|
@ -2810,6 +2811,7 @@ const message = {
|
|||
pushNode: 'Синхронизация с другими узлами',
|
||||
pushNodeHelper: 'Отправить на выбранные узлы после заявки/продления',
|
||||
fromMaster: 'Отправка с главного узла',
|
||||
hostedZoneID: 'Hosted Zone ID',
|
||||
},
|
||||
firewall: {
|
||||
create: 'Создать правило',
|
||||
|
|
|
|||
|
|
@ -2382,6 +2382,7 @@ const message = {
|
|||
createDnsAccount: 'DNS hesabı',
|
||||
aliyun: 'Aliyun DNS',
|
||||
aliEsa: 'Aliyun ESA',
|
||||
awsRoute53: 'AWS Route 53',
|
||||
manual: 'Manuel çözümleme',
|
||||
key: 'Anahtar',
|
||||
check: 'Görüntüle',
|
||||
|
|
@ -2869,6 +2870,7 @@ const message = {
|
|||
pushNode: 'Diğer Düğümlere Senkronize Et',
|
||||
pushNodeHelper: 'Başvuru/yenilemeden sonra seçilen düğümlere gönder',
|
||||
fromMaster: 'Ana Düğümden Gönder',
|
||||
hostedZoneID: 'Hosted Zone ID',
|
||||
},
|
||||
firewall: {
|
||||
create: 'Kural oluştur',
|
||||
|
|
|
|||
|
|
@ -2184,6 +2184,7 @@ const message = {
|
|||
createDnsAccount: 'DNS 帳戶',
|
||||
aliyun: '阿里雲 DNS',
|
||||
aliEsa: '阿里雲 ESA',
|
||||
awsRoute53: 'AWS Route 53(亞馬遜)',
|
||||
manual: '手動解析',
|
||||
key: '金鑰',
|
||||
check: '查看',
|
||||
|
|
@ -2632,6 +2633,7 @@ const message = {
|
|||
pushNode: '同步到其他節點',
|
||||
pushNodeHelper: '申請/續期之後推送到選擇的節點',
|
||||
fromMaster: '主節點推送',
|
||||
hostedZoneID: '託管區域 ID',
|
||||
},
|
||||
firewall: {
|
||||
create: '建立規則',
|
||||
|
|
|
|||
|
|
@ -2180,6 +2180,7 @@ const message = {
|
|||
createDnsAccount: 'DNS 账户',
|
||||
aliyun: '阿里云',
|
||||
aliEsa: '阿里云 ESA',
|
||||
awsRoute53: 'AWS Route 53(亚马逊)',
|
||||
manual: '手动解析',
|
||||
key: '密钥',
|
||||
check: '查看',
|
||||
|
|
@ -2628,6 +2629,7 @@ const message = {
|
|||
pushNode: '同步到其他节点',
|
||||
pushNodeHelper: '申请/续期之后推送到选择的节点',
|
||||
fromMaster: '主节点推送',
|
||||
hostedZoneID: '托管区域 ID',
|
||||
},
|
||||
firewall: {
|
||||
create: '创建规则',
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@
|
|||
account.type === 'AliYun' ||
|
||||
account.type === 'AliESA' ||
|
||||
account.type === 'HuaweiCloud' ||
|
||||
account.type === 'BaiduCloud'
|
||||
account.type === 'BaiduCloud' ||
|
||||
account.type === 'AWSRoute53'
|
||||
"
|
||||
>
|
||||
<el-form-item label="Access key" prop="authorization.accessKey">
|
||||
|
|
@ -159,6 +160,21 @@
|
|||
<el-input v-model.trim="account.authorization['baseURL']"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-if="account.type === 'AWSRoute53'">
|
||||
<el-form-item label="Region" prop="authorization.region">
|
||||
<el-input
|
||||
v-model.trim="account.authorization['region']"
|
||||
:placeholder="'us-east-1'"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('ssl.hostedZoneID')"
|
||||
prop="authorization.endpoint"
|
||||
:rules="[Rules.requiredInput]"
|
||||
>
|
||||
<el-input v-model.trim="account.authorization['endpoint']"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue