Rex Wang
2574f223b4
fix(UI) check image name when build image EE-3010 ( #7409 )
...
* EE-3010 check image name when build image
2022-08-05 07:04:26 +08:00
andres-portainer
441e265c32
feat(ui): renovate the docker images edit page EE-3505 ( #7375 )
2022-08-04 10:10:13 -03:00
Zhang Hao
5d1ea8ceb2
feat(secret&icon): secret creation page and some other icons [EE-3510] ( #7357 )
2022-08-03 08:56:29 +08:00
andres-portainer
5343b965aa
feat(ui): renovate the docker images import page EE-3504 ( #7374 )
2022-08-01 17:19:07 -03:00
matias-portainer
8843b7b0e8
feat(ui): renovate the docker images build page EE-3503 ( #7387 )
2022-08-01 10:51:20 -03:00
Zhang Hao
3239a61bda
refactor(container): container creation page and plus button [EE-3744] ( #7325 )
2022-07-27 07:20:21 +08:00
Zhang Hao
2a43285593
feat(docker/component/button-selector): change button selector style and remove button style [EE-3491] ( #7315 )
2022-07-27 07:18:06 +08:00
Rex Wang
43600083a7
EE-3723 update headers to feather icon ( #7275 )
2022-07-19 11:29:50 +08:00
Richard Wei
9a2cdc4a93
feat(ui): replace boxselector with react component EE-3593 ( #7215 )
...
* replace boxselector and upload vendor icon
2022-07-08 12:57:36 +12:00
Richard Wei
a66fd78dc1
feat(ui): apply react pageheader to all pageview EE-3615 ( #7178 )
...
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
2022-07-06 09:08:45 +03:00
Chao Geng
eb547162e9
fix(image) add validation of image name in build image page [EE-3010] ( #6988 )
...
* EE-3010 add validation of image name
2022-06-07 16:42:09 +08:00
congs
df05914fac
fix(git) EE-2026 git default branch ( #6876 )
...
fix(git) EE-2026 git default branch
2022-05-16 09:35:11 +12:00
Chaim Lev-Ari
1b1a50d6b5
fix(app): add github action for linting and formatting [EE-2344] ( #6356 )
2022-01-17 07:53:32 +02:00
Chaim Lev-Ari
eb9f6c77f4
refactor(endpoints): remove endpointProvider from views [EE-1136] ( #5359 )
...
[EE-1136]
2021-12-14 09:34:54 +02:00
Prabhat Khera
4aea5690a8
feat(config): add base url support EE-506 ( #5999 )
2021-12-03 14:34:45 +13:00
J.F.Gratton
33871eb447
style(images): remove files filter from upload image task EE-1944
2021-11-19 11:27:21 +13:00
Prabhat Khera
80af93afec
feat(images): allow tags when importing docker image EE-1737 ( #5883 )
2021-11-18 10:58:38 +13:00
cong meng
5c85c563e1
fix(image) EE-1955 unable to tag image ( #5974 )
...
Co-authored-by: Simon Meng <simon.meng@portainer.io>
2021-10-26 15:22:28 +13:00
cong meng
d18c8d0e88
fix(registry) EE-1861 improve registry selection ( #5925 )
...
* fix(registry) EE-1861 improve registry selection (#5899 )
* fix(registry) EE-1861 hide anonymous dockerhub registry if user has an authenticated one
* fix(registry) EE-1861 pick up a best match dockerhub registry
* fix(registry) EE-1861 set the anonymous registry as default if it is shown
* fix(registry) EE-1861 refactor how to match registry
Co-authored-by: Simon Meng <simon.meng@portainer.io>
* fix(registry) EE-1861 fail to select registry with same name
* fix(registry) EE-1861 show registry modal when pull and push image
* fix(registry) EE-1861 cleanup code
Co-authored-by: Simon Meng <simon.meng@portainer.io>
2021-10-19 14:54:53 +13:00
Marcelo Rydel
edb25ee10d
fix(services): pre fill service registry and image [EE-1769] ( #5798 )
...
fix(services): pre fill service registry and image [EE-1769] (#5798 )
2021-10-14 09:42:10 -03:00
zees-dev
f6f31b8872
fixed docker image pull text on error scenario ( #5656 )
2021-09-20 01:42:55 +12:00
zees-dev
a781021072
docker image pull toast fix ( #5644 )
2021-09-17 18:22:57 +12:00
Chaim Lev-Ari
f990617a7e
fix(docker): pass endpoint to registry field ( #5365 )
2021-08-12 14:28:25 +03:00
Richard Wei
3257cb1e28
fix(app):fix additional not save warning EE-799 ( #5161 )
...
* fix(app):fix additional not save warning EE-799
* fix additional warning when user leave page
* fix additional warning when user leave page in buildImageController.js
* fix docker build controller additional warning message
* fix changes required from reviews
* - refactored ondestroy hook function to align it closer to (below) oninit
- removed duplicated hook func duplication in configurationController
Co-authored-by: zees-dev <dev.786zshan@gmail.com>
2021-08-10 16:44:33 +12:00
Richard Wei
49f25e9c4c
fix(docker):Fix image pulled errorDetails not showing EE-936 ( #5336 )
...
* fix image pulled errorDetails not showing
* code clean up for errorDetail detection
2021-07-24 08:51:34 +12:00
LP B
179df06267
feat(app): rework private registries and support private registries in kubernetes EE-30 ( #5131 )
...
* feat(app): rework private registries and support private registries in kubernetes
[EE-30]
feat(api): backport private registries backend changes (#5072 )
* feat(api/bolt): backport bolt changes
* feat(api/exec): backport exec changes
* feat(api/http): backport http/handler/dockerhub changes
* feat(api/http): backport http/handler/endpoints changes
* feat(api/http): backport http/handler/registries changes
* feat(api/http): backport http/handler/stacks changes
* feat(api/http): backport http/handler changes
* feat(api/http): backport http/proxy/factory/azure changes
* feat(api/http): backport http/proxy/factory/docker changes
* feat(api/http): backport http/proxy/factory/utils changes
* feat(api/http): backport http/proxy/factory/kubernetes changes
* feat(api/http): backport http/proxy/factory changes
* feat(api/http): backport http/security changes
* feat(api/http): backport http changes
* feat(api/internal): backport internal changes
* feat(api): backport api changes
* feat(api/kubernetes): backport kubernetes changes
* fix(api/http): changes on backend following backport
feat(app): backport private registries frontend changes (#5056 )
* feat(app/docker): backport docker/components changes
* feat(app/docker): backport docker/helpers changes
* feat(app/docker): backport docker/views/container changes
* feat(app/docker): backport docker/views/images changes
* feat(app/docker): backport docker/views/registries changes
* feat(app/docker): backport docker/views/services changes
* feat(app/docker): backport docker changes
* feat(app/kubernetes): backport kubernetes/components changes
* feat(app/kubernetes): backport kubernetes/converters changes
* feat(app/kubernetes): backport kubernetes/models changes
* feat(app/kubernetes): backport kubernetes/registries changes
* feat(app/kubernetes): backport kubernetes/services changes
* feat(app/kubernetes): backport kubernetes/views/applications changes
* feat(app/kubernetes): backport kubernetes/views/configurations changes
* feat(app/kubernetes): backport kubernetes/views/configure changes
* feat(app/kubernetes): backport kubernetes/views/resource-pools changes
* feat(app/kubernetes): backport kubernetes/views changes
* feat(app/portainer): backport portainer/components/accessManagement changes
* feat(app/portainer): backport portainer/components/datatables changes
* feat(app/portainer): backport portainer/components/forms changes
* feat(app/portainer): backport portainer/components/registry-details changes
* feat(app/portainer): backport portainer/models changes
* feat(app/portainer): backport portainer/rest changes
* feat(app/portainer): backport portainer/services changes
* feat(app/portainer): backport portainer/views changes
* feat(app/portainer): backport portainer changes
* feat(app): backport app changes
* config(project): gitignore + jsconfig changes
gitignore all files under api/cmd/portainer but main.go and enable Code Editor autocomplete on import ... from '@/...'
fix(app): fix pull rate limit checker
fix(app/registries): sidebar menus and registry accesses users filtering
fix(api): add missing kube client factory
fix(kube): fetch dockerhub pull limits (#5133 )
fix(app): pre review fixes (#5142 )
* fix(app/registries): remove checkbox for endpointRegistries view
* fix(endpoints): allow access to default namespace
* fix(docker): fetch pull limits
* fix(kube/ns): show selected registries for non admin
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
chore(webpack): ignore missing sourcemaps
fix(registries): fetch registry config from url
feat(kube/registries): ignore not found when deleting secret
feat(db): move migration to db 31
fix(registries): fix bugs in PR EE-869 (#5169 )
* fix(registries): hide role
* fix(endpoints): set empty access policy to edge endpoint
* fix(registry): remove double arguments
* fix(admin): ignore warning
* feat(kube/configurations): tag registry secrets (#5157 )
* feat(kube/configurations): tag registry secrets
* feat(kube/secrets): show registry secrets for admins
* fix(registries): move dockerhub to beginning
* refactor(registries): use endpoint scoped registries
feat(registries): filter by namespace if supplied
feat(access-managment): filter users for registry (#5191 )
* refactor(access-manage): move users selector to component
* feat(access-managment): filter users for registry
refactor(registries): sync code with CE (#5200 )
* refactor(registry): add inspect handler under endpoints
* refactor(endpoint): sync endpoint_registries_list
* refactor(endpoints): sync registry_access
* fix(db): rename migration functions
* fix(registries): show accesses for admin
* fix(kube): set token on transport
* refactor(kube): move secret help to bottom
* fix(kuberentes): remove shouldLog parameter
* style(auth): add description of security.IsAdmin
* feat(security): allow admin access to registry
* feat(edge): connect to edge endpoint when creating client
* style(portainer): change deprecation version
* refactor(sidebar): hide manage
* refactor(containers): revert changes
* style(container): remove whitespace
* fix(endpoint): add handler to registy on endpointService
* refactor(image): use endpointService.registries
* fix(kueb/namespaces): rename resource pool to namespace
* fix(kube/namespace): move selected registries
* fix(api/registries): hide accesses on registry creation
Co-authored-by: LP B <xAt0mZ@users.noreply.github.com>
refactor(api): remove code duplication after rebase
fix(app/registries): replace last registry api usage by endpoint registry api
fix(api/endpoints): update registry access policies on endpoint deletion (#5226 )
[EE-1027]
fix(db): update db version
* fix(dockerhub): fetch rate limits
* fix(registry/tests): supply restricred context
* fix(registries): show proget registry only when selected
* fix(registry): create dockerhub registry
* feat(db): move migrations to db 32
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
2021-07-14 21:15:21 +12:00
Chaim Lev-Ari
0b85684168
fix(app): parse response with null body ( #4654 )
...
* fix(app): parse response with null body
* style(docker): add comment explaining change
* fix(images): show correct error when failing import
* fix(images): use async await
2021-06-11 12:05:54 +12:00
cong meng
3018801fc0
fix(image) Confirmation modal on builder output view EE-816 ( #5107 )
...
Co-authored-by: Simon Meng <simon.meng@portainer.io>
2021-05-26 17:11:32 +12:00
Chaim Lev-Ari
f5aa6c4dc2
feat(docker): show docker pull rate limits ( #4666 )
...
* feat(dockerhub): introduce local status endpoint
* feat(proxy): rewrite request with dockerhub credentials
* feat(endpoint): check env type
* feat(endpoint): check for local endpoint
* feat(docker): introduce client side service to get limits
* feat(container): add info about rate limits in container
* feat(dockerhub): load rate limits just for specific endpoints
* feat(images): show specific dockerhub messages for admin
* feat(service-create): show docker rate limits
* feat(service-edit): show rate limit messages
* fix(images): fix loading of page
* refactor(images): move rate limits check to container
* feat(kubernetes): proxy agent requests
* feat(kubernetes/apps): show pull limits in application creation
* refactor(image-registry): move warning to end of field
* fix(image-registry): show right message for admin
* fix(images): silently fail when loading rate limits
* fix(kube/apps): use new rate limits comp
* fix(images): move rate warning to end
* fix(registry): move search to right place
* fix(service): remove service warning
* fix(endpoints): check if kube endpoint is local
2021-03-24 19:27:32 +01:00
Alice Groux
a7ed6222b0
feat(app): Prevent web editor related views from being accidentally closed ( #4715 )
...
* feat(app): when leaving a view with unsaved changed, a modal prompt the user with a confirmation message
feat(app): when leaving a view with unsaved changes, a modal prompt the user with a confirmation message
* feat(app/web-editor): fix the modal behaviour when editing a stack details
* feat(app/web-editor): add a reusable function confirmWebEditorDiscard in modal service
* feat(docker/stack): fix missing dependency
2021-03-20 22:13:27 +01:00
Alice Groux
387bbeceba
feat(app): sort environment variables ( #4815 )
...
* feat(app): sort environment variables
* feat(k8s/application): improve the sorting for the env variables when creating/editing application
* feat(k8s/application): update the removal of the env var
* feat(docker/service): improve the sorting order for env var in service edition view
2021-02-18 14:46:26 +01:00
Alice Groux
0ac8a45825
feat(app): add type=button on every button with ngf-select ( #4783 )
2021-02-16 00:43:35 +01:00
DarkAEther
b9fe8009dd
feat(image-details): Show labels in images datatable ( #4287 )
...
* feat(images): show labels in images datatable
* move labels to image details view
2021-01-11 15:35:19 +13:00
xAt0mZ
06911ad2c6
refactor(app): remove all VMWARE_VIC related code ( #3914 )
2020-06-11 07:59:11 +12:00
Shivam Goyal
bfd6cca33f
feat(image-build): fix typo ( #3787 )
2020-05-04 19:54:09 +12:00
Chaim Lev-Ari
cf5056d9c0
chore(project): add prettier for code format ( #3645 )
...
* chore(project): install prettier and lint-staged
* chore(project): apply prettier to html too
* chore(project): git ignore eslintcache
* chore(project): add a comment about format script
* chore(prettier): update printWidth
* chore(prettier): remove useTabs option
* chore(prettier): add HTML validation
* refactor(prettier): fix closing tags
* feat(prettier): define angular parser for html templates
* style(prettier): run prettier on codebase
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
2020-04-11 09:54:53 +12:00
xAt0mZ
e19bc8abc7
fix(app): registry push-pull features overhaul ( #3393 )
...
* feat(registry): registry or direct url selector
* feat(app): push pull container creation
* feat(app): push pull container duplicate
* feat(app): push pull container details recreate
* feat(app): push pull container details commit
* feat(app): push pull images
* feat(app): push pull image tag
* feat(app): push pull image push
* feat(app): push pull image pull
* feat(app): push pull service creation
* feat(app): push pull templates create container
* feat(app): push pull templates create stacks
* feat(app): push pull template edit
* feat(app): push pull service details update
* fix(app): refactor registry selector + registry auto select
* feat(app): remove autocomplete on registry selector
* style(image-registry): reword simple/advanced mode
* Revert "feat(app): remove autocomplete on registry selector"
This reverts commit 97ec2ddd62
.
* refactor(registry-selector): reverse registry and image fields
* feat(app): autocomplete on registry selector
* feat(registry-selector): change gitlab registry autocomplete
* feat(registry-selector): autocomplete for dockerhub
* feat(registry-selector): gitlab url based on locked value instead of name
* fix(registry-selector): gitlab registries URL are not modified anymore
* fix(registry-selector): change gitlab image autofill on duplicate
* fix(registry-selector): gitlab registries now only suggest their own images and not all from gitlab
* fix(registry-selector): psuh pull issues with gitlab registries
* fix(registry-selector): dockerhub registry selection on duplicate for dockerhub images
* fix(templates): registry retrieval for template
* feat(images): add autocomplete on image pull panel
* fix(registry-selector): add latest tag when no tag is specified
* fix(registry-selector): latest tag now applied for non gitlab registries
2019-11-28 11:36:39 +13:00
xAt0mZ
03c82cac69
feat(datatables): auto refresh on datatables ( #2974 )
...
* feat(datatables): auto refresh on datatables
* feat(datatables): auto refresh implementation on docker related resources
2019-07-22 12:54:59 +02:00
Anthony Lapenna
8057aa45c4
feat(extensions): introduce RBAC extension ( #2900 )
2019-05-24 18:04:58 +12:00
Chaim Lev-Ari
45113a7ff4
refactor(app): introduce webpack and babel ( #2407 )
...
* 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(build): add webpack build config
* feat(build): add missing imports
* feat(webpack): add missing imports
* feat(build): enable eslint on build
* feat(build): add webpack notifier
* feat(build): clean terminal on build
* feat(build): import all globals
* feat(build): add angular import
* feat(build): fix styles
* feat(build): load favicons
* feat(build): load css before script
* feat(webpack): split vendors css and js to a different bundle
* feat(webpack): import angular in all files
* feat(webpack): remove eslint global config
* feat(webpack): add webpack clean dist
* feat(webpack): fix styling issues
* refactor(webpack): remove empty controllers
* refactor(webpack): optimize moment
* refactor(webpack): add bundle analyzer
* feat(webpack): add babel
* refactor(webpack): optimize lodash
* refactor(toastr): update toastr
* feat(webpack): create basic production and dev config
* fix(webpack): fix production config
* fix(webpack): fix html templates url
* refactor(webpack): remove angular imports
* refactor(webpack): remove more angular imports
* refactor(webpack): return angular to entry file
* style(webpack): remove comments from config
* fix(hosts): remove browse button
* fix(webpack): import lodash
* fix(webpack): import missing htmls
* feat(webpack): reduce lodash size
* feat(webpack): config grunt to use webpack
* feat(webpack): add postcss
* chore(codeclimate): use eslint-5 channel
* feat(deps): upgrade from lodash to lodash-es
* fix(webpack): fix bug with lodash
* chore(build): add build client script
* fix(webpack): fix missing jsyaml reference
* refactor(webpack): seperate builds of img files
* chore(build): add a way to check times of webpack build
* feat(webpack): add dev server
* fix(webpack): fix css output name
* chore(webpack): optimize images
* chore(webpack): add node env
* fix(build): copy templates on release
* chore(webpack): set env NODE_ENV
* feat(webpack): set NODE_ENV on production builds
* fix(extensions): set image path
* refactor(css): move vendor css to js import
* style(app): remove whitespaces
* fix(build-system): allow DevOps pipeline to leverage webpack (#2670 )
* Update devopsbuild task to use webpack & remove AppVeyor environment var
* Added -Force to replace the existing dist folder
* Removed Test-Path
* dep(build-system): add angularjs-annotate to webpack + fix on imports
* Merge branch 'develop' into webpack
* refactor(app): webpack aliases for imports + async / await dep + start refactor
* style(extensions): use develop version of the view
* fix(app): fix several issues introduced by webpack migration
* fix(webpack): fix ng-include not loading templates with webpack
* Fix Windows CI with Webpack (#2782 )
* fix(configs): refactor broke configs creation and list views
* fix(build-system): update build_binary_devops for Windows
2019-03-21 18:46:49 +13:00
Anthony Lapenna
1618388e39
refactor(app): minor refactor ( #2773 )
2019-03-13 11:09:53 +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
aksappy
bfccf55729
fix(images): Fix upload modal to allow both tar and tar.gz images ( #2218 )
2018-08-27 21:43:58 +02:00
Chaim Lev-Ari
e58acd7dd6
* chore(eslint): update esllint and remove unused variables
...
* chore(eslint-config): change no-unused-vars to warn
* chore(eslint): remove unused variables
* chore(eslint): allow unused globals
* fixup! chore(eslint): allow unused globals
* chore(eslint): remove commented unused vars
* fixup! chore(eslint): remove commented unused vars
2018-08-22 17:33:06 +02:00
baron_l
5bca9560c9
feat(images): add the ability to export/import Docker images ( #935 ) ( #2073 )
2018-07-26 15:09:48 +02:00
Anthony Lapenna
7225619456
feat(agent): support agent deployed on standalone engine endpoint ( #2061 )
2018-07-23 11:31:21 +02:00
Anthony Lapenna
cdf79c731b
feat(ux): always display search bar in datatables ( #2034 )
2018-07-11 16:18:44 +02:00
Anthony Lapenna
61c285bd2e
feat(templates): introduce templates management ( #2017 )
2018-07-03 20:31:02 +02:00
Anthony Lapenna
ef15cd30eb
style(app): update widget title property ( #1952 )
...
* style(app): update widget title property
* style(containerinstances): fix invalid component title
2018-06-06 18:12:35 +02:00
Anthony Lapenna
2327d696e0
feat(agent): add agent support ( #1828 )
2018-05-06 09:15:57 +02:00