mirror of
https://github.com/portainer/portainer.git
synced 2025-08-05 05:45:22 +02:00
feat(edge): EE-4570 allow pre-pull images with edge stack deployment (#8210)
Co-authored-by: Matt Hook <hookenz@gmail.com>
This commit is contained in:
parent
7fe0712b61
commit
919a854d93
22 changed files with 234 additions and 53 deletions
|
@ -1,3 +1,5 @@
|
|||
import { EditorType } from '@/react/edge/edge-stacks/types';
|
||||
|
||||
export default class CreateEdgeStackViewController {
|
||||
/* @ngInject */
|
||||
constructor($state, $window, ModalService, EdgeStackService, EdgeGroupService, EdgeTemplateService, Notifications, FormHelper, $async, $scope) {
|
||||
|
@ -19,6 +21,8 @@ export default class CreateEdgeStackViewController {
|
|||
UseManifestNamespaces: false,
|
||||
};
|
||||
|
||||
this.EditorType = EditorType;
|
||||
|
||||
this.state = {
|
||||
Method: 'editor',
|
||||
formValidationError: '',
|
||||
|
|
|
@ -57,9 +57,17 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<edge-stacks-docker-compose-form ng-if="$ctrl.formValues.DeploymentType == 0" form-values="$ctrl.formValues" state="$ctrl.state"></edge-stacks-docker-compose-form>
|
||||
<edge-stacks-docker-compose-form
|
||||
ng-if="$ctrl.formValues.DeploymentType == $ctrl.EditorType.Compose"
|
||||
form-values="$ctrl.formValues"
|
||||
state="$ctrl.state"
|
||||
></edge-stacks-docker-compose-form>
|
||||
|
||||
<edge-stacks-kube-manifest-form ng-if="$ctrl.formValues.DeploymentType == 1" form-values="$ctrl.formValues" state="$ctrl.state"></edge-stacks-kube-manifest-form>
|
||||
<edge-stacks-kube-manifest-form
|
||||
ng-if="$ctrl.formValues.DeploymentType == $ctrl.EditorType.Kubernetes"
|
||||
form-values="$ctrl.formValues"
|
||||
state="$ctrl.state"
|
||||
></edge-stacks-kube-manifest-form>
|
||||
|
||||
<!-- actions -->
|
||||
<div class="col-sm-12 form-section-title"> Actions </div>
|
||||
|
|
|
@ -38,9 +38,25 @@ export class EdgeStacksViewController {
|
|||
this.$state.reload();
|
||||
}
|
||||
|
||||
aggregateStatus() {
|
||||
if (this.stacks) {
|
||||
this.stacks.forEach((stack) => {
|
||||
const aggregateStatus = { ok: 0, error: 0, acknowledged: 0 };
|
||||
for (let endpointId in stack.Status) {
|
||||
const { Details } = stack.Status[endpointId];
|
||||
aggregateStatus.ok += Number(Details.Ok);
|
||||
aggregateStatus.error += Number(Details.Error);
|
||||
aggregateStatus.acknowledged += Number(Details.Acknowledged);
|
||||
}
|
||||
stack.aggregateStatus = aggregateStatus;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async getStacks() {
|
||||
try {
|
||||
this.stacks = await this.EdgeStackService.stacks();
|
||||
this.aggregateStatus();
|
||||
} catch (err) {
|
||||
this.stacks = [];
|
||||
this.Notifications.error('Failure', err, 'Unable to retrieve stacks');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue