e509eb4cba
We now only allow certificates ending in .crt to be uploaded and we automatically install the certificate once it has been validated
76 lines
No EOL
3.5 KiB
HTML
76 lines
No EOL
3.5 KiB
HTML
<div class="config-certificates-field-element">
|
|
<div class="resource-view" resource="certificatesResource" error-message="'Could not load certificates list'">
|
|
<!-- File -->
|
|
<div class="co-alert co-alert-warning" ng-if="certInfo.status == 'file'">
|
|
<code>extra_ca_certs</code> is a single file and cannot be processed by this tool. If a valid and appended list of certificates, they will be installed on container startup.
|
|
</div>
|
|
|
|
<div ng-if="certInfo.status != 'file'">
|
|
<div class="description">
|
|
<p>This section lists any custom or self-signed SSL certificates that are installed in the <span class="registry-name"></span> container on startup after being read from the <code>extra_ca_certs</code> directory in the configuration volume.
|
|
</p>
|
|
<p>
|
|
Custom certificates are typically used in place of publicly signed certificates for corporate-internal services.
|
|
</p>
|
|
<p>Please <strong>make sure</strong> that all custom names used for downstream services (such as Clair) are listed in the certificates below.</p>
|
|
</div>
|
|
|
|
<table class="config-table" style="margin-bottom: 20px;">
|
|
<tr>
|
|
<td>Upload certificates:</td>
|
|
<td>
|
|
<div class="file-upload-box"
|
|
select-message="Select custom certificate to add to configuration. Must be in PEM format and end extension '.crt'"
|
|
files-selected="handleCertsSelected(files, callback)"
|
|
reset="resetUpload"
|
|
extensions="['.crt']"></div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table class="co-table">
|
|
<thead>
|
|
<td>Certificate Filename</td>
|
|
<td>Status</td>
|
|
<td>Names Handled</td>
|
|
<td class="options-col"></td>
|
|
</thead>
|
|
<tr ng-repeat="certificate in certInfo.certs" ng-if="!certsUploading">
|
|
<td>{{ certificate.path }}</td>
|
|
<td class="cert-status">
|
|
<div ng-if="certificate.error" class="red">
|
|
<i class="fa fa-exclamation-circle"></i>
|
|
Error: {{ certificate.error }}
|
|
</div>
|
|
<div ng-if="certificate.expired" class="orange">
|
|
<i class="fa fa-exclamation-triangle"></i>
|
|
Certificate is expired
|
|
</div>
|
|
<div ng-if="!certificate.error && !certificate.expired" class="green">
|
|
<i class="fa fa-check-circle"></i>
|
|
Certificate is valid
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div class="empty" ng-if="!certificate.names">(None)</div>
|
|
<a class="dns-name" ng-href="http://{{ name }}" ng-repeat="name in certificate.names" ng-safenewtab>{{ name }}</a>
|
|
</td>
|
|
<td class="options-col">
|
|
<span class="cor-options-menu">
|
|
<span class="cor-option" option-click="deleteCert(certificate.path)">
|
|
<i class="fa fa-times"></i> Delete Certificate
|
|
</span>
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div ng-if="certsUploading" style="margin-top: 20px; text-align: center;">
|
|
<div class="cor-loader-inline"></div>
|
|
Uploading, validating and updating certificate(s)
|
|
</div>
|
|
<div class="empty" ng-if="!certInfo.certs.length && !certsUploading" style="margin-top: 20px;">
|
|
<div class="empty-primary-msg">No custom certificates found.</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |