Commit Graph

1066 Commits (fdb44a0cc80c1c48e516f92d8b95f57f8677a21e)

Author SHA1 Message Date
Chaim Lev-Ari cb42525c18 refactor(css): move vendor css to js import 2018-12-16 15:21:06 +02:00
Chaim Lev-Ari 3dfac3599a fix(extensions): set image path 2018-12-16 14:38:55 +02:00
Chaim Lev-Ari 5f4c42393d Merge branch 'develop' into webpack 2018-12-12 12:02:24 +02:00
Anthony Lapenna 6c26cf1f39 style(support): update support pricing 2018-12-12 16:03:20 +13:00
Anthony Lapenna 5c2e714e69
style(extensions): minor update to extension UX/UI (#2538)
* style(extensions): update extension icons

* style(extensions): style update

* feat(extensions): update extension UX

* style(extensions): update extension style

* style(extension-details): update screenshot default size

* style(extensions): update overview diagram image

* refactor(support): fix support URLs
2018-12-12 10:28:21 +13:00
Anthony Lapenna 17d85fdc15 fix(registry-creation): fix registry creation request being fired twice on firefox 2018-12-10 21:56:07 +13:00
Chaim Lev-Ari eed11e33f3 Merge branch 'develop' into webpack 2018-12-09 14:25:52 +02:00
Anthony Lapenna 42a357f863 fix(support-details): fix a js error 2018-12-09 17:03:26 +13:00
Anthony Lapenna 6fd5ddc802
feat(extensions): introduce extension support (#2527)
* wip

* wip: missing repository & tags removal

* feat(registry): private registry management

* style(plugin-details): update view

* wip

* wip

* wip

* feat(plugins): add license info

* feat(plugins): browse feature preview

* feat(registry-configure): add the ability to configure registry management

* style(app): update text in app

* feat(plugins): add plugin version number

* feat(plugins): wip plugin upgrade process

* feat(plugins): wip plugin upgrade

* feat(plugins): add the ability to update a plugin

* feat(plugins): init plugins at startup time

* feat(plugins): add the ability to remove a plugin

* feat(plugins): update to latest plugin definitions

* feat(plugins): introduce plugin-tooltip component

* refactor(app): relocate plugin files to app/plugins

* feat(plugins): introduce PluginDefinitionsURL constant

* feat(plugins): update the flags used by the plugins

* feat(plugins): wip

* feat(plugins): display a label when a plugin has expired

* wip

* feat(registry-creation): update registry creation logic

* refactor(registry-creation): change name/ids for inputs

* feat(api): pass registry type to management configuration

* feat(api): unstrip /v2 in regsitry proxy

* docs(api): add TODO

* feat(store): mockup-1

* feat(store): mockup 2

* feat(store): mockup 2

* feat(store): update mockup-2

* feat(app): add unauthenticated event check

* update gruntfile

* style(support): update support views

* style(support): update product views

* refactor(extensions): refactor plugins to extensions

* feat(extensions): add a deal property

* feat(extensions): introduce ExtensionManager

* style(extensions): update extension details style

* feat(extensions): display license/company when enabling extension

* feat(extensions): update extensions views

* feat(extensions): use ProductId defined in extension schema

* style(app): remove padding left for form section title elements

* style(support): use per host model

* refactor(extensions): multiple refactors related to extensions mecanism

* feat(extensions): update tls file path for registry extension

* feat(extensions): update registry management configuration

* feat(extensions): send license in header to extension proxy

* fix(proxy): fix invalid default loopback address

* feat(extensions): add header X-RegistryManagement-ForceNew for specific operations

* feat(extensions): add the ability to display screenshots

* feat(extensions): center screenshots

* style(extensions): tune style

* feat(extensions-details): open full screen image on click (#2517)

* feat(extension-details): show magnifying glass on images

* feat(extensions): support extension logo

* feat(extensions): update support logos

* refactor(lint): fix lint issues
2018-12-09 16:49:27 +13:00
Olli Janatuinen 2541f4daea feat(UX): persist search criterias (#2425)
* feat(ui): persist search criteria

* fix(ui): trying make templates search working correctly

* fix(ui): corrected search persistance on home and templates

* fix(ui): corrected javascript errors
2018-12-07 08:54:34 +13:00
baron_l 1a94158f77 * feat(UX): schedule creation UX overhaul (#2485)
* 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
2018-12-07 08:53:23 +13:00
Anthony Lapenna 9e1800e2ec style(settings): update host management tooltip 2018-12-06 14:01:49 +13:00
baron_l a9b107dbb5 feat(app): add the capability to enable/disable host management features (#2472)
* 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
2018-12-06 11:36:25 +13:00
Chaim Lev-Ari acce5e0023 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
2018-12-04 09:52:59 +13:00
linquize 5fa4403d20 feat(container-stats): add refresh rate of 1 and 3 seconds (#2493) 2018-12-03 21:49:02 +13:00
Chaim Lev-Ari 4accf4a4c7 feat(deps): upgrade from lodash to lodash-es 2018-11-29 09:54:13 +02:00
baron_l 969f70edeb fix(image-upload): uploading a tar with multiple images wont display an error anymore (#2503) 2018-11-29 07:00:58 +13:00
baron_l c778e79004 fix(container-console): close the console when selected shell does not exist inside the container (#2502) 2018-11-29 06:57:36 +13:00
Chaim Lev-Ari 3c66fa8084 Merge branch 'develop' into webpack 2018-11-26 16:32:07 +02:00
Andreas Roussos b809177147 feat(dashboard): use plural form only when required
* fix(endpoint-item): use plural form only when required

* refactor(endpoint-item): use clearer patterns

* refactor(dashboard): use clearer patterns
2018-11-25 09:46:13 +13:00
baron_l 52788029ed feat(container-details): add visual feedback when creating image from container (#2487) 2018-11-24 11:11:58 +13:00
baron_l 5e49f934b9 fix(containers-stats): accessing a down container stats wont display a js error anymore (#2484) 2018-11-23 21:44:34 +13:00
baron_l fe8dfee69a feat(home): display each endpoint URL (#2471) 2018-11-19 19:07:38 +13:00
baron_l 488dc5f9db fix(network-creation): macvlan availability for standalone endpoints (#2441) 2018-11-16 13:26:56 +13:00
Anthony Lapenna 94d3d7bde2
feat(motd): relocate motd file URL and always return 200 (#2466) 2018-11-14 12:20:33 +13:00
baron_l d455ab3fc7 feat(endpoints): enhance offline browsing (#2454)
* feat(api): rewrite error response when trying to query a down endpoint

* feat(interceptors): adding custom backend return code on offline fastfail
2018-11-13 16:08:12 +13:00
Anthony Lapenna 0825d05546
feat(endpoints): improve offline banner UX (#2462)
* feat(endpoints): add the last snapshot timestamp in offline banner

* feat(endpoints): add the ability to refresh a snapshot in the offline banner
2018-11-13 16:02:49 +13:00
Anthony Lapenna 64c29f7402
feat(schedules): add the ability to list tasks from snapshots (#2458)
* feat(schedules): add the ability to list tasks from snapshots

* feat(schedules): update schedules

* refactor(schedules): fix linting issue
2018-11-13 14:39:26 +13:00
Chaim Lev-Ari 1b57b657bd fix(webpack): import missing htmls 2018-11-11 10:23:57 +02:00
Anthony Lapenna a2d9f591a7
feat(schedules): add retry policy to script schedules (#2445) 2018-11-09 15:22:08 +13:00
Chaim Lev-Ari a9e00b89fa fix(webpack): import lodash 2018-11-08 12:45:13 +02:00
Chaim Lev-Ari dd571a792f Merge branch 'develop' into webpack 2018-11-08 12:44:35 +02:00
Anthony Lapenna e7ab057c81 feat(sidebar): add a new Scheduler top entry 2018-11-08 14:09:21 +13:00
Yassir Hannoun 309620545c fix(container-stat): fix cpu/mem charts on Windows containers
* Fixing the CPU and Memory charts on Windows containers

* Fixing the CPU and Memory charts on Windows containers
2018-11-08 13:31:33 +13:00
Dmitriy Larionov 55b50c2a49 feat(container-creation): allow escaped quotes in command field (#2419) 2018-11-08 09:53:19 +13:00
Anthony Lapenna 807c830db0
feat(schedules): add the ability to update a schedule script (#2438) 2018-11-07 17:19:10 +13:00
Anthony Lapenna 695c28d4f8 fix(host): fix a typo in job history clear notification 2018-11-07 16:06:27 +13:00
Anthony Lapenna 4740375ba5
feat(schedules): add schedules UI (#2414)
* feat(schedules): add schedules UI mockups

* feat(schedules): update controller pattern

* feat(schedules): leverages API

* feat(schedules): add the ability create/edit a script execution job schedule

* feat(schedules): add form validation and details about cron expression
2018-11-07 11:59:21 +13:00
Chaim Lev-Ari a5dd408048 fix(hosts): remove browse button 2018-11-06 15:04:32 +02:00
Chaim Lev-Ari 59c2353c50 refactor(webpack): return angular to entry file 2018-11-06 14:55:11 +02:00
Chaim Lev-Ari f6e1782632 refactor(webpack): remove more angular imports 2018-11-06 14:45:16 +02:00
Chaim Lev-Ari ae7fff3fe9 refactor(webpack): remove angular imports 2018-11-06 14:42:46 +02:00
Chaim Lev-Ari f60fc1cd69 fix(webpack): fix html templates url 2018-11-04 18:01:07 +02:00
Chaim Lev-Ari ac090129aa Merge branch 'develop' into webpack 2018-11-04 17:54:55 +02:00
Jan Jansen 78bf374548 feat(ux): normalize quick actions buttons (#2389)
* feat(ux): normalize quick actions buttons

Fixes #2013

* fix(ux): fix wrong naming of variable
2018-10-31 15:50:38 +13:00
pc 8df64031e8 feat(log-viewer): change line count default to 100 and add a since parameter (#2377)
* chore(log-viewer): add the ability to use`since` parameter #1942

https://github.com/portainer/portainer/issues/1942#issuecomment-430246378

* chore(log-viewer): change lineCount to 100 #1942

https://github.com/portainer/portainer/issues/1942#issuecomment-430246378

* fix(log-viewer): js syntax typo for `;` and `'`

forget to lint the code, reported by codeclimate

* fix(log-viewer): use mementjs to format timestamp

1. use moment lib instead of define a function in filter.js(not the right place for this function, removed)
2. set sinceTimestamp init value to `24 hours ago`, as we just need to focus on the relative latest logs after the log-viewer loading, not all the logs(to speedup the process)
3. use moment().unix() to convert the `sinceTimestamp`  to local unix timestamp(not utc)

* chore(log-viewer): add the ability to select the datetime for `since`

* chore(log-viewer): add the ability to fetch logs from specific time
2018-10-29 17:49:35 +13:00
baron_l a61654a35d feat(endpoints): add the ability to browse offline endpoints (#2253)
* 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
2018-10-28 22:27:06 +13:00
Chaim Lev-Ari 2ce830eb16 refactor(webpack): remove empty controllers 2018-10-28 10:16:02 +02:00
Chaim Lev-Ari 86bb816cf1 feat(webpack): fix styling issues 2018-10-28 10:06:43 +02:00
Chaim Lev-Ari fbf24c88af feat(webpack): import angular in all files 2018-10-28 09:21:31 +02:00
Chaim Lev-Ari 71447e2cc0 Merge remote-tracking branch 'origin/develop' into webpack 2018-10-28 08:11:18 +02:00
baron_l 354fda31f1 feat(jobs): add the ability to run a job on a target endpoint #2374
* 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
2018-10-28 19:06:50 +13:00
Damian Czaja 7e6c647e93 feat(container-creation): add the ability to override the logging driver (#2384) 2018-10-28 16:00:56 +13:00
Yassir Hannoun 07c1e1bc3e feat(container-stats): display cache in memory usage chart (#2383) 2018-10-28 15:45:02 +13:00
Ricardo Cardona Ramirez fe6ca042f3 feat(ux): Alphabetically sort configs and secrets in service details/creation (#2396)
* fix(sorting): Alphabetically sort configs in service details select box
* fix(sorting): Alphabetically sort configs and secrets  for service creation
2018-10-28 15:39:09 +13:00
Chaim Lev-Ari 9813099aa4 feat(app): toggle features based on agent API version (#2378)
* 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
2018-10-26 16:16:29 +13:00
Anthony Lapenna b5dfaff292
refactor(app): refactor unauthenticated state management (#2393)
* refactor(app): refactor Authentication service

* refactor(app): refactor unauthenticated state management
2018-10-23 17:28:59 +13:00
Yassir Hannoun 719299d75b fix(container-stat) : exclude cache from the Memory Usage chart to avoid misinterpret… (#2371) 2018-10-18 10:00:45 +13:00
Chaim Lev-Ari 6e85d1d9b8 feat(webpack): split vendors css and js to a different bundle 2018-10-17 08:57:38 +03:00
Chaim Lev-Ari ea9d4d6818 feat(build): load css before script 2018-10-16 16:21:35 +03:00
Chaim Lev-Ari 0370a3b7f6 Merge branch 'develop' into webpack 2018-10-14 20:13:33 +03:00
Chaim Lev-Ari 34bc20dfed feat(build): load favicons 2018-10-14 20:04:30 +03:00
Chaim Lev-Ari 40fe596e11 feat(build): fix styles 2018-10-14 19:45:54 +03:00
Chaim Lev-Ari 6a13b8a677 feat(build): add angular import 2018-10-14 19:02:36 +03:00
Chaim Lev-Ari dde82f3d96 feat(build): import all globals 2018-10-14 13:27:48 +03:00
Jan Jansen d6ba46ed7f feat(ux): Redirect from init/admin to home when admin already exists (#2340)
Fixes #1853
2018-10-13 19:29:44 +13:00
Chaim Lev-Ari c5aecfe6f3 feat(host): Add host file browser with upload/download files (#2337)
* feat(agent): add new host page

* feat(agent): convert volume-browser to files-datatable

* fix(agent): browse folders in file-datatable

* feat(engine-details): replace engine view with host view

* feat(engine-details): remove old panels

* feat(engine-details): add basic engine-details-panel component

* feat(engine-details): pass details to the different components

* feat(engine-details): replace host-view with host-overview

* feat(engine-details): add commaseperated filter

* feat(engine-details): add host-view container component

* feat(engine-details): add host-details component

* feat(engine-details): build host details object

* feat(engine-details): format engine version

* feat(engine-details): get details for one node

* feat(engine-details): pass is-agent from view

* feat(engine-details): replace old node view with a new component

* feat(engine-details): add swarm-node-details component

* feat(engine-details): remove isSwarm binding

* feat(engine-details): remove node-details and include in parent

* feat(engine-details): add labels-table component

* feat(engine-details): add update node service

* feat(engine-details): add update label functionality

* style(engine-details): remove whitespaces

* feat(engine-details): remove old node page

* feat(engine-details): pass is agent to host details

* feat(host-details): hide missing info

* feat(host-details): update node availability

* style(host-details): remove obsolete event object

* feat(host-details): fix labels not sending

* feat(host-details): remove flags for hiding data

* feat(host-details): create mock call to server for agent host info

* style(host-details): fix spelling mistake in filter's name

* feat(host-details): get info from agent

* feat(host-details): hide engine labels when empty

* feat(node-details): move labels table and save button

* feat(host-info): add different urls for refresh

* feat(host-details): show disk/devices info for agent

* feat(host-view): add loading indicator to devices-panel

* feat(host-details): add loading indicator to disks panel

* feat(agent): fix browse volume

* feat(agent): browse files

* feat(agent): enable rename

* feat(agent): download file

* fix(agent): download file from root

* feat(agent): delete file

* style(agent): remove whitespaces

* fix(agent): fix link on node browser

* feat(agent): basic file uploader

* feat(agent): add basic file upload

* fix(volume-browser): move volume id to query params

* feat(node-browser): moved uploader into browser

* feat(node-browser): add upload spinner

* feat(agent): browse files relative to root

* feat(agent): browse standalone agent

* feat(agent): move browse button from header

* fix(agent): fix url of browser view

* fix(agent): fix breadcrumb on title of host-browser

* feat(agent): fix url on node-browser breadcrumb

* refactor(agent): remove unused controller

* refactor(docker): remove unused filter

* refactor(docker): remove unused controllers

* refactor(docker): remove isAgent binding
2018-10-12 11:32:17 +13:00
Chaim Lev-Ari 3cb053250b feat(webpack): add missing imports 2018-10-11 17:55:43 +03:00
Chaim Lev-Ari f5ccfabb2b feat(build): add missing imports 2018-10-11 17:03:25 +03:00
Chaim Lev-Ari fd3e96735c feat(build): add webpack build config 2018-10-10 11:06:23 +03:00
baron_l e948d606f4 fix(container-creation): set a default runtime value (#2325)
* fix(containers): creating a container with default runtime let the docker daemon assume the correct value

* refactor(containers): implementation simplification of default runtime value
2018-10-09 09:28:26 +13:00
Chaim Lev-Ari fb6752c143 feat(agent): browse files relative to root 2018-10-08 11:14:14 +03:00
Chaim Lev-Ari c50c5bed81 Merge branch 'develop' into feat2182-upload-files-host 2018-10-08 08:13:03 +03:00
Chaim Lev-Ari ca08b2fa2a feat(host): replace engine view with host view (#2255)
* feat(engine-details): remove old panels

* feat(engine-details): add basic engine-details-panel component

* feat(engine-details): pass details to the different components

* feat(engine-details): replace host-view with host-overview

* feat(engine-details): add commaseperated filter

* feat(engine-details): add host-view container component

* feat(engine-details): add host-details component

* feat(engine-details): build host details object

* feat(engine-details): format engine version

* feat(engine-details): get details for one node

* feat(engine-details): pass is-agent from view

* feat(engine-details): replace old node view with a new component

* feat(engine-details): add swarm-node-details component

* feat(engine-details): remove isSwarm binding

* feat(engine-details): remove node-details and include in parent

* feat(engine-details): add labels-table component

* feat(engine-details): add update node service

* feat(engine-details): add update label functionality

* style(engine-details): remove whitespaces

* feat(engine-details): remove old node page

* feat(engine-details): pass is agent to host details

* feat(host-details): hide missing info

* feat(host-details): update node availability

* style(host-details): remove obsolete event object

* feat(host-details): fix labels not sending

* feat(host-details): remove flags for hiding data

* feat(host-details): create mock call to server for agent host info

* style(host-details): fix spelling mistake in filter's name

* feat(host-details): get info from agent

* feat(host-details): hide engine labels when empty

* feat(node-details): move labels table and save button

* feat(host-info): add different urls for refresh

* feat(host-details): show disk/devices info for agent

* feat(host-view): add loading indicator to devices-panel

* feat(host-details): add loading indicator to disks panel

* feat(host-details): show devices/disks on standalone agent

* refactor(host-details): remove default value

* refactor(host-details): remove redundant commaSeperated filter

* refactor(host-details): remove unused functions

* style(host-details): remove whitespace
2018-10-08 11:44:08 +13:00
Chaim Lev-Ari 275fcf5587 fix(volume-browser): move volume id to query params (#2338) 2018-10-08 11:34:47 +13:00
Chaim Lev-Ari e6d4e802dc feat(node-browser): add upload spinner 2018-10-07 11:37:27 +03:00
Chaim Lev-Ari e171624fbd feat(node-browser): moved uploader into browser 2018-10-07 11:30:22 +03:00
Chaim Lev-Ari c4d647887f Merge branch 'develop' into feat2182-upload-files-host 2018-10-07 09:31:56 +03:00
Anthony Lapenna 3422662191
fix(app): fix invalid state name (#2330)
* fix(app): fix invalid state name

* fix(app): update ui-sref
2018-10-04 13:28:39 +13:00
Brian Kabiro f6d9a4c7c1 feat(nodes): display node name when available (#2328)
- check if the name of a node is available, otherwise default to the Hostname
2018-10-04 12:07:31 +13:00
Ricardo Cardona Ramirez 575735a6f7 feat(ux): sort networks alphabetically in network selection dropdowns (#2326)
* Sort network lists
2018-10-04 12:04:38 +13:00
Brian Kabiro b7c48fcbed feat(visualizer): sort tasks in alphabetical order on refresh (#2329)
- sort the tasks on each node in alphabetical order to make it easier to track what has changed
2018-10-04 11:57:07 +13:00
Chaim Lev-Ari 0abfca7554 feat(agent): add basic file upload 2018-10-02 10:46:18 +03:00
Chaim Lev-Ari 9b4870d57e feat(stack-details): Add the ability to duplicate a stack (#2278)
* 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
2018-10-01 14:36:49 +13:00
Chaim Lev-Ari 6e262e6e89 feat(home): support search in multiple fields (name, group, tag, status) (#2285)
* 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
2018-10-01 09:06:58 +13:00
Chaim Lev-Ari d6e9e5c31d feat(agent): basic file uploader 2018-09-30 12:00:08 +03:00
Chaim Lev-Ari dc424f61a7 fix(agent): fix link on node browser 2018-09-30 11:59:58 +03:00
Chaim Lev-Ari 3629749653 style(agent): remove whitespaces 2018-09-30 11:51:48 +03:00
Chaim Lev-Ari 9b02ceaab7 feat(agent): delete file 2018-09-30 11:51:02 +03:00
Chaim Lev-Ari b564395e50 fix(agent): download file from root 2018-09-30 11:45:51 +03:00
Chaim Lev-Ari a515acb6f5 feat(agent): download file 2018-09-30 11:44:35 +03:00
Chaim Lev-Ari dc38715cf8 feat(agent): enable rename 2018-09-30 11:24:01 +03:00
Chaim Lev-Ari 0b8665f148 feat(agent): browse files 2018-09-30 11:16:10 +03:00
Chaim Lev-Ari 5956c4db40 Merge branch 'feat2240-host-view' into feat2182-upload-files-host 2018-09-30 10:11:16 +03:00
Chaim Lev-Ari 70f025c50e feat(agent): fix browse volume 2018-09-30 10:08:57 +03:00
Chaim Lev-Ari e9496affa2 Merge branch 'develop' into feat2182-upload-files-host 2018-09-30 09:55:36 +03:00
Chaim Lev-Ari 86591cf1a6 feat(host-details): add loading indicator to disks panel 2018-09-30 09:31:24 +03:00
Chaim Lev-Ari e684cdad8c feat(host-view): add loading indicator to devices-panel 2018-09-30 09:28:45 +03:00
Chaim Lev-Ari fabaae66c2 Merge branch 'develop' into feat2240-host-view 2018-09-30 09:12:01 +03:00
Chaim Lev-Ari 5be2684442 feat(home): add the ability to edit an endpoint (#2305)
* feat(home): add edit button

* feat(home): style edit button

* feat(home): make endpoint editable on admin only
2018-09-30 11:20:10 +13:00
Chaim Lev-Ari 226c45f035 fix(template-creation): fix an issue related to the network setting (#2312)
* bug(template): pass network name on creation

* bug(templates): choose network object on update

* fix(templates): set network only when available
2018-09-28 15:06:47 +12:00
Angele 92b15523f0 feat(containers): add container name in error notification
* containersDatable: add containers name if error on executeActionOnContainerList

* Update containersDatatableActionsController.js

* Update containersDatatableActionsController.js
2018-09-28 10:49:30 +12:00
Chaim Lev-Ari c780d52bcf Merge branch 'develop' into feat2240-host-view 2018-09-27 09:50:30 +03:00
Anthony Lapenna f0f01c33bd
feat(endpoint-creation): add requirement message for agent endpoint (#2303) 2018-09-26 18:59:50 +12:00
Chaim Lev-Ari fe73fe616d feat(host-details): show disk/devices info for agent 2018-09-25 10:39:55 +03:00
Chaim Lev-Ari db0fc1382d feat(host-info): add different urls for refresh 2018-09-23 05:02:08 +03:00
Chaim Lando e09f653155 feat(node-details): move labels table and save button 2018-09-16 15:25:59 +03:00
Chaim Lando 21fece80da feat(host-details): hide engine labels when empty 2018-09-16 13:18:38 +03:00
Chaim Lando 50e6991745 feat(host-details): get info from agent 2018-09-16 12:38:38 +03:00
Anthony Lapenna e2258f98cc fix(services): only display logs action when container has ID in agent proxy mode 2018-09-15 10:33:33 +08:00
Anthony Lapenna bab02f2b91 fix(container-details): update container restart policy init 2018-09-15 10:19:51 +08:00
Anthony Lapenna 77913543b1
feat(container-details): update container-restart-policy component (#2273) 2018-09-15 09:53:35 +08:00
Chaim Lando dc1ab3ffc3 style(host-details): fix spelling mistake in filter's name 2018-09-13 11:49:24 +03:00
Chaim Lando 6751fab987 feat(host-details): create mock call to server for agent host info 2018-09-13 11:48:30 +03:00
Chaim Lando e791e0a9c8 feat(host-details): remove flags for hiding data 2018-09-12 13:55:23 +03:00
Chaim Lando 4b4ba3f942 feat(host-details): fix labels not sending 2018-09-12 13:52:47 +03:00
Chaim Lando e75be92c37 style(host-details): remove obsolete event object 2018-09-12 12:36:44 +03:00
Chaim Lando b03a3cb36b Merge branch 'feat2240-host-view' of github.com:portainer/portainer into feat2240-host-view 2018-09-12 12:35:45 +03:00
Chaim Lando 10b904a13b feat(host-details): update node availability 2018-09-12 12:32:39 +03:00
Chaim Lando 42497ab60c feat(host-details): hide missing info 2018-09-12 10:16:28 +03:00
Anthony Lapenna ce4a4f0d4f Merge branch 'develop' into feat2240-host-view 2018-09-07 09:28:59 +02:00
Chaim Lando 6a9e389b7c feat(engine-details): pass is agent to host details 2018-09-06 17:02:13 +03:00
Chaim Lando cf6be6f596 feat(engine-details): remove old node page 2018-09-06 16:41:33 +03:00
Chaim Lando 7436ac508b style(engine-details): remove whitespaces 2018-09-06 16:39:20 +03:00
Chaim Lando 50ef742c63 feat(engine-details): add update label functionality 2018-09-06 16:38:28 +03:00
Chaim Lando 79878cfb85 feat(engine-details): add update node service 2018-09-06 16:35:22 +03:00
Chaim Lando 2f4b68e043 feat(engine-details): add labels-table component 2018-09-06 11:41:54 +03:00
Chaim Lando 67c020db9b feat(engine-details): remove node-details and include in parent 2018-09-06 11:41:20 +03:00
Chaim Lando c349aac7d2 feat(engine-details): remove isSwarm binding 2018-09-05 18:34:49 +03:00
Chaim Lando 28deb2237f feat(engine-details): add swarm-node-details component 2018-09-05 18:34:13 +03:00
Chaim Lando 08afe4d084 feat(engine-details): replace old node view with a new component 2018-09-05 18:08:06 +03:00
Chaim Lando d8d4b38384 feat(engine-details): pass is-agent from view 2018-09-05 18:07:47 +03:00
Chaim Lando 6cbcb9f358 feat(engine-details): get details for one node 2018-09-05 18:07:19 +03:00
Chaim Lando 871547b118 feat(engine-details): format engine version 2018-09-05 17:18:09 +03:00
Chaim Lando c15ee9af7e feat(engine-details): build host details object 2018-09-05 12:30:40 +03:00
Chaim Lando 1f16eb446b feat(engine-details): add host-details component 2018-09-05 12:23:53 +03:00
Chaim Lando d612ec9cee feat(engine-details): add host-view container component 2018-09-05 12:23:30 +03:00
Chaim Lando 65f542f722 feat(engine-details): add commaseperated filter 2018-09-05 12:22:25 +03:00
Chaim Lando 47f49b1e5d feat(engine-details): replace host-view with host-overview 2018-09-05 11:40:51 +03:00
Chaim Lando f1f798b7eb feat(engine-details): pass details to the different components 2018-09-05 11:38:26 +03:00
Chaim Lando 483c8641d8 feat(engine-details): add basic engine-details-panel component 2018-09-05 11:27:21 +03:00
Chaim Lando 96b7169125 feat(engine-details): remove old panels 2018-09-05 10:16:33 +03:00
Chaim Lando 2113da56fa feat(engine-details): replace engine view with host view 2018-09-05 10:13:33 +03:00
Anthony Lapenna 7ba19ee1f9
fix(api): change user password update flow (#2247)
* fix(api): change password update flow

* feat(update-password): add current password confirmation
2018-09-05 08:49:43 +02:00
Kendrick 0efeeaf185 feat(webhooks): add support for service update webhooks (#2161)
* 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
2018-09-03 12:08:03 +02:00
Anthony Lapenna a5d6ab0410 refactor(app): remove unused params in templates state declaration 2018-08-28 10:50:15 +02:00
Anthony Lapenna 812f3e3e85
feat(auth): remove sanitization calls and ask for password update if needed (#2222)
* wip

* feat(auth): remove sanitization calls and ask for password update if needed
2018-08-28 10:13:01 +02:00
aksappy bfccf55729 fix(images): Fix upload modal to allow both tar and tar.gz images (#2218) 2018-08-27 21:43:58 +02:00
Anthony Lapenna 538a2b5ee2
fix(service-details): disable auto-focus on task datatable (#2214)
* fix(service-details): disable auto-focus on task datatable

* refactor(api): gofmt main.go
2018-08-24 14:30:41 +02:00
Anthony Lapenna 8cd3964d75
feat(security): update secured headers and sanitize team name (#2167) 2018-08-23 17:10:18 +02:00