diff --git a/webadmin/src/js/client.js b/webadmin/src/js/client.js index f9e21a5d9..ee096a0eb 100644 --- a/webadmin/src/js/client.js +++ b/webadmin/src/js/client.js @@ -685,13 +685,14 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N }).error(defaultErrorHandler(callback)); }; - Client.prototype.setupDnsConfig = function (domain, zoneName, provider, dnsConfig, callback) { + Client.prototype.setupDnsConfig = function (domain, zoneName, provider, dnsConfig, tlsConfig, callback) { var data = { domain: domain, adminFqdn: 'my.' + domain, zoneName: zoneName, provider: provider, - config: dnsConfig + config: dnsConfig, + tlsConfig: tlsConfig }; post('/api/v1/cloudron/dns_setup', data).success(function(data, status) { @@ -1129,11 +1130,12 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N }).error(defaultErrorHandler(callback)); // this doesn't call defaultErrorHandler till we fix domains code to use this directly }; - Client.prototype.addDomain = function (domain, provider, config, fallbackCertificate, callback) { + Client.prototype.addDomain = function (domain, provider, config, fallbackCertificate, tlsConfig, callback) { var data = { domain: domain, provider: provider, - config: config + config: config, + tlsConfig: tlsConfig }; var that = this; @@ -1147,10 +1149,11 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N }).error(defaultErrorHandler(callback)); }; - Client.prototype.updateDomain = function (domain, provider, config, fallbackCertificate, callback) { + Client.prototype.updateDomain = function (domain, provider, config, fallbackCertificate, tlsConfig, callback) { var data = { provider: provider, - config: config + config: config, + tlsConfig: tlsConfig }; if (fallbackCertificate) data.fallbackCertificate = fallbackCertificate; diff --git a/webadmin/src/js/setupdns.js b/webadmin/src/js/setupdns.js index 845ea025c..1b55fda1c 100644 --- a/webadmin/src/js/setupdns.js +++ b/webadmin/src/js/setupdns.js @@ -22,6 +22,9 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f $scope.explicitZone = search.zone || ''; $scope.isDomain = false; $scope.isSubdomain = false; + $scope.tlsConfig = { + provider: search.env === 'dev' ? 'letsencrypt-staging' : 'letsencrypt-prod' + }; // If we migrate the api origin we have to poll the new location if (search.admin_fqdn) Client.apiOrigin = 'https://' + search.admin_fqdn; @@ -122,7 +125,7 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f data.token = $scope.dnsCredentials.cloudflareToken; } - Client.setupDnsConfig($scope.dnsCredentials.domain, $scope.explicitZone, provider, data, function (error) { + Client.setupDnsConfig($scope.dnsCredentials.domain, $scope.explicitZone, provider, data, $scope.tlsConfig, function (error) { if (error && error.statusCode === 403) { $scope.dnsCredentials.busy = false; $scope.error = 'Wrong instance id provided.'; diff --git a/webadmin/src/views/domains.js b/webadmin/src/views/domains.js index d32ade923..c52002441 100644 --- a/webadmin/src/views/domains.js +++ b/webadmin/src/views/domains.js @@ -7,6 +7,9 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat $scope.dnsConfig = null; $scope.domains = []; $scope.ready = false; + $scope.tlsConfig = { + provider: $location.search().env === 'dev' ? 'letsencrypt-staging' : 'letsencrypt-prod' + }; // keep in sync with setupdns.js $scope.dnsProvider = [ @@ -141,8 +144,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat // choose the right api, since we reuse this for adding and configuring domains var func; - if ($scope.domainConfigure.adding) func = Client.addDomain.bind(Client, $scope.domainConfigure.newDomain, provider, data, fallbackCertificate); - else func = Client.updateDomain.bind(Client, $scope.domainConfigure.domain.domain, provider, data, fallbackCertificate); + if ($scope.domainConfigure.adding) func = Client.addDomain.bind(Client, $scope.domainConfigure.newDomain, provider, data, fallbackCertificate, $scope.tlsConfig); + else func = Client.updateDomain.bind(Client, $scope.domainConfigure.domain.domain, provider, data, fallbackCertificate, $scope.tlsConfig); func(function (error) { $scope.domainConfigure.busy = false;