add cloudflare ui components
This commit is contained in:
@@ -35,6 +35,17 @@
|
||||
<input type="text" class="form-control" ng-model="dnsCredentials.digitalOceanToken" id="dnsCredentialsDigitalOceanToken" name="digitalOceanToken" ng-disabled="dnsCredentials.busy" ng-required="dnsCredentials.provider === 'digitalocean'">
|
||||
</div>
|
||||
|
||||
<!-- Cloudflare -->
|
||||
<div class="form-group" ng-class="{ 'has-error': false }" ng-show="dnsCredentials.provider === 'cloudflare'">
|
||||
<label class="control-label" for="dnsCredentialsCloudflareToken">Cloudflare token</label>
|
||||
<input type="text" class="form-control" ng-model="dnsCredentials.cloudflareToken" id="dnsCredentialsCloudflareToken" name="cloudflareToken" placeholder="API Token" ng-required="dnsCredentials.provider === 'cloudflare'" ng-disabled="dnsCredentials.busy">
|
||||
</div>
|
||||
<div class="form-group" ng-class="{ 'has-error': false }" ng-show="dnsCredentials.provider === 'cloudflare'">
|
||||
<label class="control-label" for="dnsCredentialsCloudflareEmail">Cloudflare email</label>
|
||||
<input type="email" class="form-control" ng-model="dnsCredentials.cloudflareEmail" id="dnsCredentialsCloudflareEmail" name="cloudflareEmail" placeholder="Email" ng-required="dnsCredentials.provider === 'cloudflare'" ng-disabled="dnsCredentials.busy">
|
||||
</div>
|
||||
|
||||
<!-- all provider -->
|
||||
<div class="form-group" ng-class="{ 'has-error': false }">
|
||||
<label class="control-label" for="dnsCredentialsPassword">Provide your password to confirm this action</label>
|
||||
<input type="password" class="form-control" ng-model="dnsCredentials.password" id="dnsCredentialsPassword" name="password" ng-disabled="dnsCredentials.busy" required>
|
||||
@@ -52,6 +63,10 @@
|
||||
This domain must be hosted on <a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean#step-two%E2%80%94change-your-domain-server" target="_blank">DigitalOcean</a>.
|
||||
</p>
|
||||
|
||||
<p ng-show="dnsCredentials.provider === 'cloudflare'">
|
||||
This domain must be hosted on <a href="https://www.cloudflare.com" target="_blank">Cloudflare</a>.
|
||||
</p>
|
||||
|
||||
<p ng-show="dnsCredentials.provider === 'wildcard'">
|
||||
Setup <i>A</i> records for <b>*.{{ dnsCredentials.customDomain || 'example.com' }}</b> and <b>{{ dnsCredentials.customDomain || 'example.com' }}</b> to this server's IP.
|
||||
</p>
|
||||
|
||||
@@ -10,6 +10,7 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
|
||||
$scope.dnsProvider = [
|
||||
{ name: 'AWS Route53', value: 'route53' },
|
||||
{ name: 'Digital Ocean', value: 'digitalocean' },
|
||||
{ name: 'Cloudflare', value: 'cloudflare' },
|
||||
{ name: 'Wildcard', value: 'wildcard' },
|
||||
{ name: 'Manual (not recommended)', value: 'manual' },
|
||||
{ name: 'No-op (only for development)', value: 'noop' }
|
||||
@@ -43,6 +44,8 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
|
||||
accessKeyId: '',
|
||||
secretAccessKey: '',
|
||||
digitalOceanToken: '',
|
||||
cloudflareToken: '',
|
||||
cloudflareEmail: '',
|
||||
provider: 'route53',
|
||||
password: ''
|
||||
};
|
||||
@@ -115,10 +118,7 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
|
||||
var migrateDomain = $scope.dnsCredentials.customDomain !== $scope.config.fqdn;
|
||||
|
||||
var data = {
|
||||
provider: $scope.dnsCredentials.provider,
|
||||
accessKeyId: $scope.dnsCredentials.accessKeyId,
|
||||
secretAccessKey: $scope.dnsCredentials.secretAccessKey,
|
||||
token: $scope.dnsCredentials.digitalOceanToken
|
||||
provider: $scope.dnsCredentials.provider
|
||||
};
|
||||
|
||||
// special case the wildcard provider
|
||||
@@ -127,6 +127,16 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
|
||||
data.wildcard = true;
|
||||
}
|
||||
|
||||
if (data.provider === 'route53') {
|
||||
data.accessKeyId = $scope.dnsCredentials.accessKeyId;
|
||||
data.secretAccessKey = $scope.dnsCredentials.secretAccessKey;
|
||||
} else if (data.provider === 'digitalocean') {
|
||||
data.token = $scope.dnsCredentials.digitalOceanToken;
|
||||
} else if (data.provider === 'cloudflare') {
|
||||
data.token = $scope.dnsCredentials.cloudflareToken;
|
||||
data.email = $scope.dnsCredentials.cloudflareEmail;
|
||||
}
|
||||
|
||||
var func;
|
||||
if (migrateDomain) {
|
||||
data.domain = $scope.dnsCredentials.customDomain;
|
||||
@@ -141,10 +151,6 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
|
||||
} else {
|
||||
$scope.dnsCredentials.success = true;
|
||||
|
||||
$scope.dnsConfig.accessKeyId = $scope.dnsCredentials.accessKeyId;
|
||||
$scope.dnsConfig.secretAccessKey = $scope.dnsCredentials.secretAccessKey;
|
||||
$scope.dnsConfig.token = $scope.dnsCredentials.digitalOceanToken;
|
||||
|
||||
$('#dnsCredentialsModal').modal('hide');
|
||||
|
||||
dnsCredentialsReset();
|
||||
@@ -173,6 +179,8 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
|
||||
$scope.dnsCredentials.accessKeyId = '';
|
||||
$scope.dnsCredentials.secretAccessKey = '';
|
||||
$scope.dnsCredentials.digitalOceanToken = '';
|
||||
$scope.dnsCredentials.cloudflareToken = '';
|
||||
$scope.dnsCredentials.cloudflareEmail = '';
|
||||
$scope.dnsCredentials.password = '';
|
||||
|
||||
$scope.dnsCredentialsForm.$setPristine();
|
||||
@@ -189,6 +197,8 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
|
||||
$scope.dnsCredentials.accessKeyId = $scope.dnsConfig.accessKeyId;
|
||||
$scope.dnsCredentials.secretAccessKey = $scope.dnsConfig.secretAccessKey;
|
||||
$scope.dnsCredentials.digitalOceanToken = $scope.dnsConfig.provider === 'digitalocean' ? $scope.dnsConfig.token : '';
|
||||
$scope.dnsCredentials.cloudflareToken = $scope.dnsConfig.provider === 'cloudflare' ? $scope.dnsConfig.token : '';
|
||||
$scope.dnsCredentials.cloudflareEmail = $scope.dnsConfig.email;
|
||||
|
||||
$scope.dnsCredentials.provider = $scope.dnsConfig.provider === 'caas' ? 'route53' : $scope.dnsConfig.provider;
|
||||
$scope.dnsCredentials.provider = ($scope.dnsCredentials.provider === 'manual' && $scope.dnsConfig.wildcard) ? 'wildcard' : $scope.dnsCredentials.provider;
|
||||
|
||||
Reference in New Issue
Block a user