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
46dec01fe3
feat(endpoint): relocate docker security settings ( #4657 )
...
* feat(endpoint): migrate security settings to endpoint
* feat(endpoint): check for specific endpoint settings
* feat(endpoint): check security settings
* feat(docker): add config page
* feat(endpoint): save settings page
* feat(endpoints): disable features when not agent
* feat(sidebar): hide docker settings for regular user
* fix(docker): small fixes in configs
* fix(volumes): hide browse button for non admins
* refactor(docker): introduce switch component
* refactor(components/switch): seprate label from switch
* feat(app/components): align switch label
* refactor(app/components): move switch css
* fix(docker/settings): add ngijnect
* feat(endpoints): set default security values
* style(portainer): sort types
* fix(endpoint): rename security heading
* fix(endpoints): update endpoints settings
2021-02-09 21:09:06 +13:00
Chaim Lev-Ari
fa9eeaf3b1
feat(settings): introduce disable stack management setting ( #4100 )
...
* feat(stacks): add a setting to disable the creation of stacks for non-admin users
* feat(settings): introduce a setting to prevent non-admin from stack creation
* feat(settings): update stack creation setting
* feat(settings): fail stack creation if user is non admin
* fix(settings): save preventStackCreation setting to state
* feat(stacks): disable add button when settings is enabled
* format(stacks): remove line
* feat(stacks): setting to hide stacks from users
* feat(settings): rename disable stacks setting
* refactor(settings): rename setting to disableStackManagementForRegularUsers
* feat(settings): hide stacks for non admin when settings is set
* refactor(settings): replace disableDeviceMapping with allow
* feat(dashboard): hide stacks if settings disabled and non admin
* refactor(sidebar): check if user is endpoint admin
* feat(settings): set the default value for stack management
* feat(settings): rename field label
* fix(sidebar): refresh show stacks state
* fix(docker): hide stacks when not admin
2020-07-27 19:11:32 +12:00
Chaim Lev-Ari
4b97cf738e
fix(app): use deps injection in router correctly ( #4049 )
...
* fix(app): use deps injection in router correctly
* feat(app): guard against using wrong endpoint type
* feat(sidebar): supply endpoint id
* feat(templates): move custom templates to docker
2020-07-21 09:06:37 +12:00
Chaim Lev-Ari
3c34fbd8f2
refactor(router): show endpoint id in url ( #3966 )
...
* refactor(module): provide basic endpoint id url
* fix(stacks): fix route to include endpointId
* fix(stacks): fix stacks urls
* fix(sidebar): fix urls to docker routes
* refactor(app): set endpoint id on change view
* refactor(dashboard): revert to old version
* refactor(sidebar): revert file
* feat(app): wip load endpoint on route change
* feat(home): show error
* feat(app): load endpoint route
* feat(sidebar): show endpoint per provider
* refactor(app): revert
* refactor(app): clean endpoint startup
* feat(edge): check for edge k8s
* refactor(endpoints): move all modules under endpoint route
* refactor(stacks): move stacks route to docker
* refactor(templates): move templates route to docker
* refactor(app): check endpoint when entering docker module
* fix(app): load endpoint when entering endpoints modules
* feat(azure): check endpoint
* feat(kubernetes): check endpoint
* feat(home): show loading state when loading edge
* style(app): revert small changes
* refactor(sidebar): remove refernce to endpointId
* fix(stacks): fix stacks route
* style(docker): sort routes
* feat(app): change route to home if endpoint failed
* fix(services): guard against empty snapshots
* feat(app): show error when failed to load endpoint
* feat(app): reload home route when failing
* refactor(router): replace resolvers with onEnter
2020-07-15 08:46:38 +12:00
Chaim Lev-Ari
53b37ab8c8
feat(custom-templates): introduce custom templates ( #3906 )
...
* feat(custom-templates): introduce types
* feat(custom-templates): introduce data layer service
* feat(custom-templates): introduce http handler
* feat(custom-templates): create routes and view stubs
* feat(custom-templates): add create custom template ui
* feat(custom-templates): add json keys
* feat(custom-templates): introduce custom templates list page
* feat(custom-templates): introduce update page
* feat(stack): create template from stack
* feat(stacks): create stack from custom template
* feat(custom-templates): disable edit/delete of templates
* fix(custom-templates): fail update on non admin/owner
* fix(custom-templates): add ng-inject decorator
* chore(plop): revert template
* feat(stacks): remove actions column
* feat(stack): add button to create template from stack
* feat(stacks): add empty state for templates
* feat(custom-templates): show templates in a list
* feat(custom-template): replace table with list
* feat(custom-templates): move create template button
* refactor(custom-templates): introduce more fields
* feat(custom-templates): use stack type when creating template
* feat(custom-templates): use same type as stack
* feat(custom-templates): add edit and delete buttons to template item
* feat(custom-templates): customize stack before deploy
* feat(stack): show template details
* feat(custom-templates): move customize
* feat(custom-templates): create description required
* fix(template): show platform icon
* fix(custom-templates): show spinner when creating stack
* feat(custom-templates): prevent user from edit templates
* feat(custom-templates): use resource control for custom templates
* feat(custom-templates): show created templates
* feat(custom-templates): filter templates by stack type
* fix(custom-templates): create swarm or standalone stack
* feat(stacks): filter templates by type
* feat(resource-control): disable resource control on public
* feat(custom-template): apply access control on edit
* feat(custom-template): add form validation
* feat(stack): disable create custom template from external task
* refactor(custom-templates): create template from file and type
* feat(templates): introduce a file handler that returns template docker file
* feat(template): introduce template duplication
* feat(custom-template): enforce unique template name
* fix(template): rename copy button
* fix(custom-template): clear access control selection between templates
* fix(custom-templates): show required fields
* refactor(filesystem): use a constant for temp path
2020-07-07 11:18:39 +12:00
Chaim Lev-Ari
40f9078d80
style(docker): replace icons for containers and volumes ( #3950 )
...
* fix(sidebar): replace icons for containers and volumes
* fix(icons): replace icons for containers and volumes
2020-06-23 11:46:56 +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
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
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
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
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
Anthony Lapenna
b6792461a4
feat(home): add a new home view ( #2033 )
2018-07-11 10:39:20 +02:00
Anthony Lapenna
61c285bd2e
feat(templates): introduce templates management ( #2017 )
2018-07-03 20:31:02 +02:00
Anthony Lapenna
e3d564325b
feat(stacks): support compose v2.0 stack ( #1963 )
2018-06-11 15:13:19 +02:00
Anthony Lapenna
50ece68f35
style(app): update icon style ( #1727 )
2018-03-14 15:32:14 +10:00
Herwono W. Wijaya
66f29dd103
style(app): upgrade to font awesome v5
2018-03-13 15:36:53 +10:00
Anthony Lapenna
27dceadba1
refactor(app): introduce new project structure for the frontend ( #1623 )
2018-02-01 13:27:52 +01:00