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.
+
+
+
+
+
+
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 = '';