* fix(containers): creating a container with default runtime let the docker daemon assume the correct value
* refactor(containers): implementation simplification of default runtime value
* feat(stack-details): add duplicate-stack button
* feat(stack-details): add stack-duplication-form component
* feat(stack-details): add duplicate stack method on controller
* feat(stack-details): add duplicate stack method
* feat(stack-details): remove old duplication in progress flag
* feat(stack-details): combine migration and duplication forms
* feat(stack-details): pass new stack name to server
* feat(stack-details): add option to rename migrated stack
* feat(stack-details): disable both migrate/duplicate buttons
* feat(stack-details): disable migration button on same endpoint
* feat(stack-details): change duplicate icon
* style(stack-details): remove whitespaces and fix pattern
* feat(stack-details): add name to migration payload in swagger.yml
* style(stack-details): add semicolon
* bug(stack-details): toggle endpoints before and after duplication
* feat(home): search multiple fields (group/tag)
* feat(home): change search from "OR" to "AND"
* feat(home): search only for a tag or a group
* feat(home): search by keywords in name,group,tag
* feat(home): support case insensitive search
* style(home): remove unused $filter
* feat(home): search state
* style(home): update search input placeholder
* containersDatable: add containers name if error on executeActionOnContainerList
* Update containersDatatableActionsController.js
* Update containersDatatableActionsController.js
* Initial pass at adding webhook controller and routes
* Moving some objects around
* Cleaning up comments
* Fixing syntax, switching to using the docker sdk over building an http client
* Adding delete and list functionality
* Updating the handler to use the correct permissions. Updating some comments
* Fixing some comments
* Code cleanup per pull request comments
* Cleanup per PR feedback. Syntax error fix
* Initial creation of webhook app code
* Moving ClientFactory creation out of handler code and instead using the one created by the main process. Removing webhookInspect method and updating the list function to use json filters
* Delete now works on the webhook ID vs service ID
* WIP - Service creates a webhook. Display will show an existing webhook URL.
* Adding the webhook field to the service view. There is now the ability to add or remove a webhook from a service
* Moving all api calls to be webhooks vs webhook
* Code cleanup. Moving all api calls to be webhooks vs webhook
* More conversion of webhook to webhooks?
* Moving UI elements around. Starting function for copying to clipboard
* Finalizing function for copying to clipboard. Adding button that calls function and copies webhook to clipboard.
* Fixing UI issues. Hiding field entirely when there is no webhook
* Moving URL crafting to a helper method. The edit pane for service now creates/deletes webhooks immidiately.
* style(service-details): update webhook line
* feat(api): strip sha when updating an image via the update webhook
* Fixing up some copy. Only displying the port if it is not http or https
* Fixing tooltip copy. Setting the forceupdate to be true to require an update to occur
* Fixing code climate errors
* Adding WebhookType field and setting to ServiceWebhook for new webhooks. Renaming ServiceID to resourceID so future work can add new types of webhooks in other resource areas.
* Adding the webhook type to the payload to support more types of webhooks in the future. Setting the type correctly when creating one for a service
* feat(webhooks): changes related to webhook management
* API code cleanup, removing unneeded functions, and updating validation logic
* Incorrectly ignoring the error that the webhook did not exist
* Re-adding missing error handling. Changing error response to be a 404 vs 500 when token can't find an object
* fix(webhooks): close Docker client after service webhook execution
* feat(api): add motd handler
* feat(app): add the motd api layer
* feat(motd): display motd and add the ability to dismiss information messages
* style(home): relocate important message before info01
* feat(api): silently fail when an error occurs during motd retrieval
* fix(services): replicas numbers display is now correct with constraints and down nodes
* refactor(helpers): constraint helper has less complexity
* feat(services): constraints on node/engine labels are now supported
* refactor(helpers): ConstraintsHelper - remove regex patterns and improve code lisibility
* refactor(helpers): rework matchesConstraint() for better code lisibility and lodash find() instead for IE compatibility
* #960 feat(UAC): change ownership to admins for externally created ressources
* feat(UAC): change ownership to admins for externally created resources
Deprecated AdministratorsOnly js and go backend
* #960 feat(UAC): remove AdministratorsOnly property and minor GUI fixes
Update swagger definition changing AdministratorsOnly to Public
* #960 feat(UAC): fix create resource with access control data
* #960 feat(UAC): authorization of non-admin users for restricted operations
On stacks, containers networks, services , tasks and volumes.
* #960 feat(UAC): database migration to version 14
The administrator resources are deleted and Public resources are now managed by admins
* #960 feat(UAC): small fixes from PR #2137
* #960 feat(UAC): improve the readability of the source code
* feat(UAC) fix displayed ownership for Swarm related resources (#960)
* refactor(container-creation): change order of container creation steps
* refactor(container-creation): remove nested methods
* fix(container-creation): skip actions if old container missing
* fix(container-creation): reject if user is not authorized
* fix(container-creation): remove rejection on invalid form
* refactor(container-creation): start container after duplicate
* fix(container-creation): add form validation error message
* fix(container-creation): pass correct id to create resource control
* fix(container-creation): set action in progress after confirmation
* feat(network-creation): macvlan driver for swarm
* refactor(network-creation): layout rework to make it simpler with MACVLAN and keep it consistent with other drivers
* fix(network-creation): MACVLAN - parent network card is now properly saved, names are not prefixed anymore and the --attachable option is now supported
* refactor(network-creation): PR macvlan review - rework of macvlan view + code optimisation
* fix(network-creation): disable attachable and internal options on macvlan config creation
* fix(home): show cpu/mem for swarm
* fix(home): add nodes data to snapshot
* fix(dashboard): get cpus/mem from snapshot
* refactor(home): remove temp variable
* feat(container-creation): container add/drop capabilities on creation
* feat(container-creation): capabilities are now loaded on edit/duplicate/update
* feat(volume-creation): NFS support for volume creation - layout
* feat(volume-creation): NFS support for volume creation
* fix(volume-creation): NFS style, display and check on submit
* refactor(volume-creation): remove useless controller + refactor var naming
* refactor(volume-creation): NFS wording, help and style
* feat(api): add a setting to toggle automatic user provisioning when using LDAP authentication
* fix(auth): fix an issue with AutoCreateUsers disabled
* fix(style): wrap long text in tables cells (#1920)
* fix(style): <code> tags are now wrapped correctly (PR #2052)
* fix(style): revert #1770 style-related content and apply nowrap on datatables (PR#2052)
* feat(services): add the ability to pull latest image when updating a service
* feat(services): update version header value
* refactor(services): remove TODO
* feat(services): rollback version header value to 1.29
* feat(stacks): add the ability to migrate stacks to another endpoint
* feat(stack-details): do not redirect to alternate endpoint after migration
* fix(api): fix merge conflicts
* feat(stack-details): add a modal to confirm stack migration
* fix(api): add an authenticated access policy to the websocket endpoint
* refactor(api): centralize EndpointAccess validation
* feat(api): validate id query parameter for the /websocket/exec endpoint
REST call to stop/restart a container overrides the default stop timeout (before kill) with hardcoded 5 seconds.
Containers already have a default stop timeout handled by the engine API (https://github.com/moby/moby/blob/master/client/container_stop.go).
With this hardcoded 5 seconds, the containers get killed after 5 seconds even if they define a custom greater stop timeout.
Another solution would be to not hardcode the 5 seconds but rather use a global editable setting.
* fix(container): Use first network's Mac address by default
* fix(container): Connect additional networks to container after creation
* fix(container): Remove warning message
* feat(image-details): display image layer depth and sort by it by default (#1706)
* refactor(image-details): rename 'Depth' to 'Order' in image layers table
* refactor(image-details): sort image layers from the bottom to the top one
* feat(log-viewer): use only one switch to manage collection/autoscroll
* feat(log-viewer): add the ability to clear selection
* style(log-viewer): update unselect button design