* feat(api): remove SnapshotRaw from EndpointList response
* feat(api): add pagination for EndpointList operation
* feat(api): rename last_id query parameter to start
* feat(api): implement filter for EndpointList operation
* feat(home): front - endpoint backend pagination (#2990)
* feat(home): endpoint pagination with backend
* feat(api): remove default limit value
* fix(endpoints): fix a minor issue with column span
* fix(endpointgroup-create): fix an issue with endpoint group creation
* feat(app): minor loading optimizations
* refactor(api): small refactor of EndpointList operation
* fix(home): fix minor loading text display issue
* refactor(api): document bolt services functions
* feat(home): minor optimization
* fix(api): replace seek with index scanning for EndpointPaginated
* fix(api): fix invalid starting index issue
* fix(api): first implementation of working filter
* fix(home): endpoints list keeps backend pagination when it needs to
* fix(api): endpoint pagination doesn't drop the first item on pages >=2 anymore
* fix(home): UI flickering on page/filter load/change
* feat(api): support searching in associated endpoint group data
* feat(api): declare EndpointList params as optional
* feat(endpoints): backend pagination for endpoints view (#3004)
* feat(endpoint-group): enable backend pagination (#3017)
* feat(api): support groupID filter on endpoints route
* feat(api): add new API operations endpointGroupAddEndpoint and endpointGroupDeleteEndpoint
* feat(endpoint-groups): backend pagination support for create and edit
* feat(endpoint-groups): debounce on filter for create/edit views
* feat(endpoint-groups): filter assigned on create view
* (endpoint-groups): unassigned endpoints edit view
* refactor(endpoint-groups): code clean
* feat(endpoint-groups): remove message for Unassigned group
* refactor(api): endpoint group endpoint association refactor
* refactor(api): rename files and remove comments
* refactor(api): remove usage of utils
* refactor(api): optional parameters
* feat(api): update endpointListOperation behavior and parameters
* refactor(api): remove unused methods associated to EndpointService
* refactor(api): remove unused methods associated to EndpointService
* refactor(api): minor refactor
* fix(datatables): allow selecting range using shift (#344)
* feat(datatables): more intuitive batch select behaviour
* feat(datatables): add overridable function called on selection change
* refactor(datatables): remove custom selectAll on Generic-extending Controllers
* fix(datatables): stored state data retrieval on Generic-extanding datatables controllers
* refactor(datatables): remove code duplication between GenericController and extending controllers
* fix(app): wrapper for UI refresh trigger with async/await
* fix(async): $async wrapper now accepts functions with params
* fix(async): $async should return a promise to be chained with ES5 .then() style
* fix(async): $async with multiple params was not working
* refactor(app): wrap all async functions with $async
* docs(async): add link to async wrapper documentation
* feat(registries): registries accessibility to all authorized people and not only admins
* feat(registry): dockerhub settings for admin only
* feat(registry): remove registry config access for non admin users
* feat(api): use AuthenticatedAccess policy instead of RestrictedAccess for extensionList operation
* refactor(api): minor update to security package
* refactor(api): revert unexporting function changes
* refactor(api): apply gofmt
* 2584 fix(endpoints): correct agent stack download url
The directions for installing the agent stack from the endpoints
view used an old url. Update to the new url.
* Drop the portainer- prefix for the download path and filename
Co-Authored-By: dang3r <danielpcardoza@gmail.com>
* refactor(stacks): set newstack state as a child state of stacks
* fix(docker): add check on docker states for endpoint
* refactor(app): remove redirect notification
* fix(network-creation): force overlay network creation on manager node
* fix(app): fix function override
* fix(app): use portainerAgentManagerOperation in interceptor
* feat(api): add a new Recurring property on Schedule
* feat(schedules): date to cron convert + recurring flag
* feat(schedules): update angularjs-datetime-picker from v1 to v2
* chore(app): use minified dependency for angularjs-datetime-picker
* chore(vendor): rollback version of angularjs-datetime-picker
* * feat(ux): replace datepicker for schedule creation/details
* feat(container-stats): add refresh rate of 1 and 3 seconds (#2493)
* fix(templates): set var to default value if no value selected (#2323)
* fix(templates): set preset to true iff var type is preset
* fix(templates): add env var value when changing type
* feat(security): shutdown instance after 5minutes if no admin account created (#2500)
* feat(security): skip admin check if --no-auth
* fix(security): change error message
* fix(vendor): use datepicker minified version
* feat(schedule-creation): replace angular-datetime-picker
* feat(schedule): parse cron to datetime
* fix(schedule): fix zero based months
* feat(settings): add the capability to enable/disable the host management features
* feat(settings): remove the validation of EnableHostManagementFeatures in frontend
* feat(api): disable schedules API when HostManagementFeatures is false + DB migration
* style(settings): update host management settings tooltip
* refacot(schedules): update DBVersion to 15
* feat(back): saved data in snapshot
* feat(endpoints): adding interceptors to retrieve saved data on offline endpoints
* feat(endpoints): offline dashboard working - need tests on offline views
* refactor(endpoints): interceptors cleaning and saving/loading offline endpoints data in/from localstorage
* feat(endpoints): browsing offline endpoints
* feat(endpoints): removing all the link in offline mode - sidebar not working when switching between off and on modes w/ stateManager logic
* feat(endpoints): endpoint status detection in real time
* fix(endpoints): offline swarm endpoint are not accessible anymore
* fix(endpoints): refactor message + disable offline browsing for an endpoint when no snapshot is available for it
* fix(endpoints): adding timeout and enabling loading bar for offline requests
* fix(endpoints): trying to access a down endpoint wont remove sidebar items if it fails
* feat(endpoints): disable checkboxes on offline views for offline mode
* feat(endpoints): updating endpoint status when detecting a change
* refactor(host): moved offline status panel from engine view to new host view
* fix(endpoints): missing endpoint update on ping from home view
* fix(api): rework EndpointUpdate operation
* refactor(offline): moved endpoint status to EndpointProvider and refactor the status-changed detection
* fix(offline): moved status detection to callback on views -> prevent displaying the offline message when endpoint is back online on view change
* fix(offline): offline message is now displayed online when browsing an offline endpoint
* fix(offline): sidebar updates correctly on endpoint status change
* fix(offline): offline panel not displayed and hidden on online mode
* refactor(offline): rework of OfflineMode management
* refactor(offline): extract information-panel for offlineMode into a component
* refactor(offline): remove redundant binding of informationPanel + endpointStatusInterceptor patter as service
* refactor(interceptors): moved interceptors pattern to service pattern
* feat(stacks): prevent inspection of a stack in offline mode
* feat(host): hide devices/disk panels in offline mode
* feat(host): disable browse action in offline mode
* refactor(home): remove comments
* feat(jobs): adding the ability to run scripts on endpoints
fix(job): click on containerId in JobsDatatable redirects to container's logs
refactor(job): remove the jobs datatable settings + texts changes on JobCreation view
fix(jobs): jobs payloads are now following API rules and case
feat(jobs): adding the capability to run scripts on hosts
* feat(jobs): adding the ability to purge jobs containers
* refactor(job): apply review changes
* feat(job-creation): store image name in local storage
* feat(host): disable job exec link in non-agent Swarm setup
* feat(host): only display execute job in agent setups or standalone
* feat(job): job execution overhaul
* docs(swagger): update EndpointJob documentation
* feat(agent): get agent's version from ping
* feat(agent): add version to api url
* feat(agent): query agent with api version
* feat(agent): rename agent api version name on state
* feat(agent): disable feature based on agent's api version
* style(agent): rename ping rest service + remove whitespaces
* style(state): remove whitespace
* style(agent): add whitespace
* fix(agent): remove check for error status 403
* refactor(agent): rename ping file name
* refactor(agent): move old services to v1 folder
* refactor(agent): turn ping service to usual pattern
* refactor(agent): change version to a global variable
* refactor(agent): move ping to version2
* refactor(agent): restore ping to use root ping
* fix(volumes): add volumeID to browse api path
* feat(volume): add upload button to volume browser
* 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
* 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
* #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)
* 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(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