Merge master into vulnerability-tool
This commit is contained in:
		
						commit
						7816b0c657
					
				
					 44 changed files with 880 additions and 289 deletions
				
			
		|  | @ -194,54 +194,94 @@ | |||
|             <strong>A remote storage system is required for high-avaliability systems.</strong> | ||||
|           </p> | ||||
| 
 | ||||
|           <table class="config-table"> | ||||
|             <tr> | ||||
|               <td class="non-input">Storage Engine:</td> | ||||
|               <td> | ||||
|                 <select ng-model="config.DISTRIBUTED_STORAGE_CONFIG.local[0]"> | ||||
|                   <option value="LocalStorage">Locally mounted directory</option> | ||||
|                   <option value="S3Storage">Amazon S3</option> | ||||
|                   <option value="GoogleCloudStorage">Google Cloud Storage</option> | ||||
|                   <option value="RadosGWStorage">Ceph Object Gateway (RADOS)</option> | ||||
|                   <option value="SwiftStorage">OpenStack Storage (Swift)</option> | ||||
|                 </select> | ||||
|               </td> | ||||
|             </tr> | ||||
|           <div class="co-checkbox feature-storage-replication"> | ||||
|             <input id="ftsr" type="checkbox" ng-model="config.FEATURE_STORAGE_REPLICATION"> | ||||
|             <label for="ftsr">Enable Storage Replication</label> | ||||
|             <!-- TODO(josephschorr): add link to documentation --> | ||||
|             <div class="help-text">If enabled, replicates storage to other regions.</div> | ||||
|           </div> | ||||
| 
 | ||||
|             <!-- Fields --> | ||||
|             <tr ng-repeat="field in STORAGE_CONFIG_FIELDS[config.DISTRIBUTED_STORAGE_CONFIG.local[0]]"> | ||||
|               <td>{{ field.title }}:</td> | ||||
|               <td> | ||||
|                 <span class="config-map-field" | ||||
|                       binding="config.DISTRIBUTED_STORAGE_CONFIG.local[1][field.name]" | ||||
|                       ng-if="field.kind == 'map'" | ||||
|                       keys="field.keys"></span> | ||||
|                 <span class="config-string-field" | ||||
|                       binding="config.DISTRIBUTED_STORAGE_CONFIG.local[1][field.name]" | ||||
|                       placeholder="{{ field.placeholder }}" | ||||
|                       ng-if="field.kind == 'text'" | ||||
|                       is-optional="field.optional"></span> | ||||
|                 <div class="co-checkbox" ng-if="field.kind == 'bool'"> | ||||
|                   <input id="dsc-{{ field.name }}" type="checkbox" | ||||
|                          ng-model="config.DISTRIBUTED_STORAGE_CONFIG.local[1][field.name]"> | ||||
|                   <label for="dsc-{{ field.name }}">{{ field.placeholder }}</label> | ||||
|                 </div> | ||||
|                 <div ng-if="field.kind == 'option'"> | ||||
|                   <select ng-model="config.DISTRIBUTED_STORAGE_CONFIG.local[1][field.name]"> | ||||
|                     <option ng-repeat="value in field.values" value="{{ value }}" | ||||
|                             ng-selected="config.DISTRIBUTED_STORAGE_CONFIG.local[1][field.name] == value">{{ value }}</option> | ||||
|           <div class="storage-config" ng-class="$last ? 'last' : ''" ng-repeat="sc in storageConfig"> | ||||
|             <table class="config-table"> | ||||
|               <tr> | ||||
|                 <td class="non-input">Location ID:</td> | ||||
|                 <td> | ||||
|                   <input class="form-control" ng-if="allowChangeLocationStorageConfig(sc.location)" ng-class="storageConfigError[$index].location ? 'ng-invalid' : ''" ng-model="sc.location" ng-pattern="/^[a-zA-Z0-9_-]+$/" required> | ||||
|                   <div ng-if="!allowChangeLocationStorageConfig(sc.location)"> | ||||
|                     {{ sc.location }} | ||||
|                   </div> | ||||
|                   <div class="co-alert co-alert-danger" ng-show="storageConfigError[$index].location"> | ||||
|                     {{ storageConfigError[$index].location }} | ||||
|                   </div> | ||||
|                   <div class="input-util" ng-if="allowRemoveStorageConfig(sc.location)"><a href="javascript:void(0)" class="remove-link" ng-click="removeStorageConfig(sc)">Remove</a></div> | ||||
|                 </td> | ||||
|               </tr> | ||||
| 
 | ||||
|               <tr ng-if="config.FEATURE_STORAGE_REPLICATION"> | ||||
|                 <td class="non-input">Set Default:</td> | ||||
|                 <td> | ||||
|                   <div class="co-checkbox"> | ||||
|                     <input id="default-location-{{ $index }}" ng-model="sc.defaultLocation" type="checkbox"> | ||||
|                     <label for="default-location-{{ $index }}">Replicate to storage engine by default</label> | ||||
|                   </div> | ||||
|                 </td> | ||||
|               </tr> | ||||
| 
 | ||||
|               <tr> | ||||
|                 <td class="non-input">Storage Engine:</td> | ||||
|                 <td> | ||||
|                   <select class="form-control" ng-class="storageConfigError[$index].engine ? 'ng-invalid' : ''" ng-model="sc.data[0]"> | ||||
|                     <option value="LocalStorage">Locally mounted directory</option> | ||||
|                     <option value="S3Storage">Amazon S3</option> | ||||
|                     <option value="GoogleCloudStorage">Google Cloud Storage</option> | ||||
|                     <option value="RadosGWStorage">Ceph Object Gateway (RADOS)</option> | ||||
|                     <option value="SwiftStorage">OpenStack Storage (Swift)</option> | ||||
|                   </select> | ||||
|                 </div> | ||||
|                 <div class="help-text" ng-if="field.help_text"> | ||||
|                   {{ field.help_text }} | ||||
|                 </div> | ||||
|                 <div class="help-text" ng-if="field.help_url"> | ||||
|                   See <a href="{{ field.help_url }}" target="_blank">Documentation</a> for more information | ||||
|                 </div> | ||||
|               </td> | ||||
|             </tr> | ||||
|           </table> | ||||
| 
 | ||||
|                   <div class="co-alert co-alert-danger" ng-if="storageConfigError[$index].engine"> | ||||
|                     {{ storageConfigError[$index].engine }} | ||||
|                   </div> | ||||
|                 </td> | ||||
|               </tr> | ||||
| 
 | ||||
|               <!-- Fields --> | ||||
|               <tr ng-repeat="field in STORAGE_CONFIG_FIELDS[sc.data[0]]"> | ||||
|                 <td>{{ field.title }}:</td> | ||||
|                 <td> | ||||
|                   <span class="config-map-field" | ||||
|                         binding="sc.data[1][field.name]" | ||||
|                         ng-if="field.kind == 'map'" | ||||
|                         keys="field.keys"></span> | ||||
|                   <span class="config-string-field" | ||||
|                         binding="sc.data[1][field.name]" | ||||
|                         placeholder="{{ field.placeholder }}" | ||||
|                         ng-if="field.kind == 'text'" | ||||
|                         is-optional="field.optional"></span> | ||||
|                   <div class="co-checkbox" ng-if="field.kind == 'bool'"> | ||||
|                     <input id="dsc-{{ field.name }}" type="checkbox" | ||||
|                            ng-model="sc.data[1][field.name]"> | ||||
|                     <label for="dsc-{{ field.name }}">{{ field.placeholder }}</label> | ||||
|                   </div> | ||||
|                   <div ng-if="field.kind == 'option'"> | ||||
|                     <select ng-model="sc.data[1][field.name]"> | ||||
|                       <option ng-repeat="value in field.values" value="{{ value }}" | ||||
|                               ng-selected="sc.data[1][field.name] == value">{{ value }}</option> | ||||
|                     </select> | ||||
|                   </div> | ||||
|                   <div class="help-text" ng-if="field.help_text"> | ||||
|                     {{ field.help_text }} | ||||
|                   </div> | ||||
|                   <div class="help-text" ng-if="field.help_url"> | ||||
|                     See <a href="{{ field.help_url }}" target="_blank">Documentation</a> for more information | ||||
|                   </div> | ||||
|                 </td> | ||||
|               </tr> | ||||
|             </table> | ||||
|           </div> | ||||
| 
 | ||||
|           <div class="add-storage-link" ng-if="canAddStorageConfig()"> | ||||
|             <a href="javascript:void(0)" ng-click="addStorageConfig()">Add Additional Storage Engine</a> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|  |  | |||
|  | @ -53,7 +53,7 @@ | |||
|      </span> | ||||
| 
 | ||||
|      <span class="co-filter-box"> | ||||
|       <span class="page-controls" total-count="tags.length" current-page="options.page" page-size="50"></span> | ||||
|       <span class="page-controls" total-count="tags.length" current-page="options.page" page-size="tagsPerPage"></span> | ||||
|       <input class="form-control" type="text" ng-model="options.tagFilter" placeholder="Filter Tags..."> | ||||
|      </span> | ||||
|    </div> | ||||
|  |  | |||
		Reference in a new issue