domains: add desec provider

This commit is contained in:
Girish Ramakrishnan
2024-04-24 20:32:54 +02:00
parent 58d6142460
commit cae2bfbdc2
10 changed files with 197 additions and 2 deletions
+4
View File
@@ -62,6 +62,7 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f
{ name: 'AWS Route53', value: 'route53' },
{ name: 'Bunny', value: 'bunny' },
{ name: 'Cloudflare', value: 'cloudflare' },
{ name: 'deSEC', value: 'desec' },
{ name: 'DigitalOcean', value: 'digitalocean' },
{ name: 'DNSimple', value: 'dnsimple' },
{ name: 'Gandi LiveDNS', value: 'gandi' },
@@ -98,6 +99,7 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f
dnsimpleAccessToken: '',
hetznerToken: '',
vultrToken: '',
deSecToken: '',
nameComUsername: '',
nameComToken: '',
namecheapUsername: '',
@@ -198,6 +200,8 @@ app.controller('SetupDNSController', ['$scope', '$http', '$timeout', 'Client', f
config.token = $scope.dnsCredentials.hetznerToken;
} else if (provider === 'vultr') {
config.token = $scope.dnsCredentials.vultrToken;
} else if (provider === 'desec') {
config.token = $scope.dnsCredentials.deSecToken;
} else if (provider === 'namecom') {
config.username = $scope.dnsCredentials.nameComUsername;
config.token = $scope.dnsCredentials.nameComToken;
+6
View File
@@ -270,6 +270,12 @@
<input type="text" class="form-control" ng-model="dnsCredentials.vultrToken" name="vultrToken" ng-required="dnsCredentials.provider === 'vultr'" ng-disabled="dnsCredentials.busy">
</p>
<!-- deSEC -->
<p class="form-group" ng-show="dnsCredentials.provider === 'desec'">
<label class="control-label">API Token</label>
<input type="text" class="form-control" ng-model="dnsCredentials.deSecToken" name="deSecToken" ng-required="dnsCredentials.provider === 'desec'" ng-disabled="dnsCredentials.busy">
</p>
<!-- Wildcard -->
<p class="small text-info" ng-show="dnsCredentials.provider === 'wildcard'">
<span>Set up A records for <b>*.{{ dnsCredentials.domain || 'example.com' }}.</b> and <b>{{ dnsCredentials.domain || 'example.com' }}.</b> to this server's IP.</span>
+2 -1
View File
@@ -1081,7 +1081,8 @@
"ovhEndpoint": "Endpoint",
"ovhConsumerKey": "Consumer Key",
"ovhAppKey": "Application Key",
"ovhAppSecret": "Application Secret"
"ovhAppSecret": "Application Secret",
"deSecToken": "deSEC Token"
},
"removeDialog": {
"title": "Really remove {{ domain }}?",
+2 -1
View File
@@ -1786,7 +1786,8 @@
"2faToken": "2FA Token (indien ingeschakeld)",
"errorIncorrectCredentials": "Onjuiste gebruikersnaam of wachtwoord",
"errorIncorrect2FAToken": "2FA token is niet geldig",
"errorInternal": "Interne fout, probeer later opnieuw"
"errorInternal": "Interne fout, probeer later opnieuw",
"loginWith": "Login met Cloudron"
},
"passwordReset": {
"title": "Wachtwoord herstellen",
+6
View File
@@ -183,6 +183,12 @@
<input type="text" class="form-control" ng-model="domainConfigure.vultrToken" name="vultrToken" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'vultr'">
</div>
<!-- deSEC -->
<div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'desec'">
<label class="control-label">{{ 'domains.domainDialog.deSecToken' | tr }}</label>
<input type="text" class="form-control" ng-model="domainConfigure.deSecToken" name="deSecToken" ng-disabled="domainConfigure.busy" ng-required="domainConfigure.provider === 'desec'">
</div>
<!-- Name.com -->
<div class="form-group" ng-class="{ 'has-error': false }" ng-show="domainConfigure.provider === 'namecom'">
<label class="control-label">{{ 'domains.domainDialog.nameComUsername' | tr }}</label>
+7
View File
@@ -46,6 +46,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
{ name: 'AWS Route53', value: 'route53' },
{ name: 'Bunny', value: 'bunny' },
{ name: 'Cloudflare', value: 'cloudflare' },
{ name: 'deSEC', value: 'desec' },
{ name: 'DigitalOcean', value: 'digitalocean' },
{ name: 'DNSimple', value: 'dnsimple' },
{ name: 'Gandi LiveDNS', value: 'gandi' },
@@ -69,6 +70,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
case 'bunny': return 'Bunny';
case 'route53': return 'AWS Route53';
case 'cloudflare': return 'Cloudflare';
case 'desec': return 'deSEC';
case 'digitalocean': return 'DigitalOcean';
case 'dnsimple': return 'dnsimple';
case 'gandi': return 'Gandi LiveDNS';
@@ -258,6 +260,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
dnsimpleAccessToken: '',
hetznerToken: '',
vultrToken: '',
deSecToken: '',
nameComToken: '',
nameComUsername: '',
namecheapUsername: '',
@@ -321,6 +324,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
$scope.domainConfigure.dnsimpleAccessToken = domain.provider === 'dnsimple' ? domain.config.accessToken : '';
$scope.domainConfigure.hetznerToken = domain.provider === 'hetzner' ? domain.config.token : '';
$scope.domainConfigure.vultrToken = domain.provider === 'vultr' ? domain.config.token : '';
$scope.domainConfigure.deSecToken = domain.provider === 'desec' ? 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.provider === 'cloudflare' ? domain.config.email : '';
@@ -402,6 +406,8 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
data.token = $scope.domainConfigure.hetznerToken;
} else if (provider === 'vultr') {
data.token = $scope.domainConfigure.vultrToken;
} else if (provider === 'desec') {
data.token = $scope.domainConfigure.deSecToken;
} else if (provider === 'gandi') {
data.token = $scope.domainConfigure.gandiApiKey;
} else if (provider === 'godaddy') {
@@ -503,6 +509,7 @@ angular.module('Application').controller('DomainsController', ['$scope', '$locat
$scope.domainConfigure.porkbunApikey = '';
$scope.domainConfigure.porkbunSecretapikey = '';
$scope.domainConfigure.vultrToken = '';
$scope.domainConfigure.deSecToken = '';
$scope.domainConfigure.tlsConfig.provider = 'letsencrypt-prod';
$scope.domainConfigure.zoneName = '';