2018-05-14 19:45:26 +00:00
< 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 >
2018-06-18 15:01:14 +00:00
<!-- TODO(sam): fix this upload box to pass in the url it needs for custom certs (file - upload - box hardcodes right now) -->
2018-05-14 19:45:26 +00:00
< div class = "file-upload-box"
2018-06-20 15:41:22 +00:00
api-endpoint="/api/v1/superuser/customcerts"
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 >
2018-05-14 19:45:26 +00:00
< / 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 >