diff --git a/src/js/setupdns.js b/src/js/setupdns.js index 9e908f2ff..4c62b5a6d 100644 --- a/src/js/setupdns.js +++ b/src/js/setupdns.js @@ -48,6 +48,7 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f { name: 'Cloudflare (DNS only)', value: 'cloudflare' }, { name: 'Digital Ocean', value: 'digitalocean' }, { name: 'Gandi LiveDNS', value: 'gandi' }, + { name: 'GoDaddy', value: 'godaddy' }, { name: 'Google Cloud DNS', value: 'gcdns' }, { name: 'Wildcard', value: 'wildcard' }, { name: 'Manual (not recommended)', value: 'manual' }, @@ -62,6 +63,10 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f gcdnsKey: { keyFileName: '', content: '' }, digitalOceanToken: '', gandiApiKey: '', + cloudflareEmail: '', + cloudflareToken: '', + godaddyApiKey: '', + godaddyApiSecret: '', provider: 'route53' }; @@ -124,6 +129,9 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f data.token = $scope.dnsCredentials.digitalOceanToken; } else if (provider === 'gandi') { data.token = $scope.dnsCredentials.gandiApiKey; + } else if (provider === 'godaddy') { + data.apiKey = $scope.dnsCredentials.godaddyApiKey; + data.apiSecret = $scope.dnsCredentials.godaddyApiSecret; } else if (provider === 'cloudflare') { data.email = $scope.dnsCredentials.cloudflareEmail; data.token = $scope.dnsCredentials.cloudflareToken; diff --git a/src/setupdns.html b/src/setupdns.html index e1ae62d01..622f552d1 100644 --- a/src/setupdns.html +++ b/src/setupdns.html @@ -107,6 +107,16 @@ {{ explicitZone ? explicitZone : (dnsCredentials.domain | zoneName) }} must be hosted on Gandi LiveDNS. + +
+ +
+
+ +
+ {{ explicitZone ? explicitZone : (dnsCredentials.domain | zoneName) }} must be hosted on GoDaddy. +
+
diff --git a/src/views/domains.html b/src/views/domains.html index 226cddec9..8602526e1 100644 --- a/src/views/domains.html +++ b/src/views/domains.html @@ -53,6 +53,16 @@
+ +
+ + +
+
+ + +
+
diff --git a/src/views/domains.js b/src/views/domains.js index 97e838cb0..469a2398f 100644 --- a/src/views/domains.js +++ b/src/views/domains.js @@ -17,6 +17,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat { name: 'Cloudflare (DNS only)', value: 'cloudflare' }, { name: 'Digital Ocean', value: 'digitalocean' }, { name: 'Gandi LiveDNS', value: 'gandi' }, + { name: 'GoDaddy', value: 'godaddy' }, { name: 'Google Cloud DNS', value: 'gcdns' }, { name: 'Wildcard', value: 'wildcard' }, { name: 'Manual (not recommended)', value: 'manual' }, @@ -31,6 +32,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat case 'digitalocean': return 'Digital Ocean'; case 'gandi': return 'Gandi LiveDNS'; case 'gcdns': return 'Google Cloud'; + case 'godaddy': return 'GoDaddy'; case 'manual': return domain.config.wildcard ? 'Wildcard' : 'Manual'; case 'noop': return 'No-op'; default: return 'Unknown'; @@ -67,6 +69,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat gcdnsKey: { keyFileName: '', content: '' }, digitalOceanToken: '', gandiApiKey: '', + godaddyApiKey: '', + godaddyApiSecret: '', cloudflareToken: '', cloudflareEmail: '', provider: 'route53', @@ -98,7 +102,10 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat $scope.domainConfigure.digitalOceanToken = domain.provider === 'digitalocean' ? domain.config.token : ''; $scope.domainConfigure.gandiApiKey = domain.provider === 'gandi' ? domain.config.token : ''; $scope.domainConfigure.cloudflareToken = domain.provider === 'cloudflare' ? domain.config.token : ''; - $scope.domainConfigure.cloudflareEmail = domain.config.email; + $scope.domainConfigure.cloudflareEmail = domain.provider === 'cloudflare' ? domain.config.email : ''; + + $scope.domainConfigure.godaddyApiKey = domain.provider === 'godaddy' ? domain.config.apiKey : ''; + $scope.domainConfigure.godaddyApiSecret = domain.provider === 'godaddy' ? domain.config.apiSecret : ''; $scope.domainConfigure.provider = domain.provider; $scope.domainConfigure.provider = ($scope.domainConfigure.provider === 'manual' && domain.config.wildcard) ? 'wildcard' : domain.provider; @@ -148,6 +155,9 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat data.token = $scope.domainConfigure.digitalOceanToken; } else if (provider === 'gandi') { data.token = $scope.domainConfigure.gandiApiKey; + } else if (provider === 'godaddy') { + data.apiKey = $scope.domainConfigure.godaddyApiKey; + data.apiSecret = $scope.domainConfigure.godaddyApiSecret; } else if (provider === 'cloudflare') { data.token = $scope.domainConfigure.cloudflareToken; data.email = $scope.domainConfigure.cloudflareEmail; @@ -199,6 +209,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat $scope.domainConfigure.gcdnsKey.content = ''; $scope.domainConfigure.digitalOceanToken = ''; $scope.domainConfigure.gandiApiKey = ''; + $scope.domainConfigure.godaddyApiKey = ''; + $scope.domainConfigure.godaddyApiSecret = ''; $scope.domainConfigure.cloudflareToken = ''; $scope.domainConfigure.cloudflareEmail = '';