mirror of https://github.com/portainer/portainer
122 lines
4.3 KiB
HTML
122 lines
4.3 KiB
HTML
<div id="service-resources">
|
|
<rd-widget>
|
|
<rd-widget-header icon="fa-list-alt" title-text="Resource limits and reservations"> </rd-widget-header>
|
|
<rd-widget-body classes="no-padding">
|
|
<table class="table">
|
|
<tbody>
|
|
<tr>
|
|
<td style="vertical-align: middle;">
|
|
Memory reservation (MB)
|
|
</td>
|
|
<td>
|
|
<input
|
|
class="input-sm"
|
|
type="number"
|
|
step="0.125"
|
|
min="0"
|
|
ng-model="service.ReservationMemoryBytes"
|
|
ng-change="updateServiceAttribute(service, 'ReservationMemoryBytes')"
|
|
disable-authorization="DockerServiceUpdate"
|
|
/>
|
|
</td>
|
|
<td style="vertical-align: middle;">
|
|
<p class="small text-muted">
|
|
Minimum memory available on a node to run a task (set to 0 for unlimited)
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: middle;">
|
|
Memory limit (MB)
|
|
</td>
|
|
<td>
|
|
<input
|
|
class="input-sm"
|
|
type="number"
|
|
step="0.125"
|
|
min="0"
|
|
ng-model="service.LimitMemoryBytes"
|
|
ng-change="updateServiceAttribute(service, 'LimitMemoryBytes')"
|
|
disable-authorization="DockerServiceUpdate"
|
|
/>
|
|
</td>
|
|
<td style="vertical-align: middle;">
|
|
<p class="small text-muted">
|
|
Maximum memory usage per task (set to 0 for unlimited)
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: middle;">
|
|
<div>
|
|
CPU reservation
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<slider
|
|
model="service.ReservationNanoCPUs"
|
|
floor="0"
|
|
ceil="state.sliderMaxCpu"
|
|
step="0.25"
|
|
precision="2"
|
|
ng-if="service && state.sliderMaxCpu"
|
|
on-change="updateServiceAttribute(service, 'ReservationNanoCPUs')"
|
|
disable-authorization="DockerServiceUpdate"
|
|
></slider>
|
|
</td>
|
|
<td style="vertical-align: middle;">
|
|
<p class="small text-muted">
|
|
Minimum CPU available on a node to run a task
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: middle;">
|
|
<div>
|
|
CPU limit
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<slider
|
|
model="service.LimitNanoCPUs"
|
|
floor="0"
|
|
ceil="state.sliderMaxCpu"
|
|
step="0.25"
|
|
precision="2"
|
|
ng-if="service && state.sliderMaxCpu"
|
|
on-change="updateServiceAttribute(service, 'LimitNanoCPUs')"
|
|
disable-authorization="DockerServiceUpdate"
|
|
></slider>
|
|
</td>
|
|
<td style="vertical-align: middle;">
|
|
<p class="small text-muted">
|
|
Maximum CPU usage per task
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</rd-widget-body>
|
|
<rd-widget-footer authorization="DockerServiceUpdate">
|
|
<div class="btn-toolbar" role="toolbar">
|
|
<div class="btn-group" role="group">
|
|
<button
|
|
type="button"
|
|
class="btn btn-primary btn-sm"
|
|
ng-disabled="!hasChanges(service, ['LimitNanoCPUs', 'LimitMemoryBytes', 'ReservationNanoCPUs', 'ReservationMemoryBytes'])"
|
|
ng-click="updateService(service)"
|
|
>Apply changes</button
|
|
>
|
|
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
<span class="caret"></span>
|
|
</button>
|
|
<ul class="dropdown-menu">
|
|
<li><a ng-click="cancelChanges(service, ['LimitNanoCPUs', 'LimitMemoryBytes', 'ReservationNanoCPUs', 'ReservationMemoryBytes'])">Reset changes</a></li>
|
|
<li><a ng-click="cancelChanges(service)">Reset all changes</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</rd-widget-footer>
|
|
</rd-widget>
|
|
</div>
|