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
7329ea91ca
fix(app): set defaults for select boxes ( #4235 )
...
* fix(container): select runtime by default
* fix(network): set default network config
* fix(container): set default network container placeholder
* fix(services): default service mount
2020-08-20 13:02:25 +12:00
Chaim Lev-Ari
9d18d47194
feat(extensions): remove rbac extension ( #4157 )
...
* feat(extensions): remove rbac extension client code
* feat(extensions): remove server rbac code
* remove extensions code
* fix(notifications): remove error
* feat(extensions): remove authorizations service
* feat(rbac): deprecate fields
* fix(portainer): revert change
* fix(bouncer): remove rbac authorization check
* feat(sidebar): remove roles link
* fix(portainer): remove portainer module
2020-08-11 17:41:37 +12:00
itsconquest
26ee78e1e7
refactor(UX): fix improper grammar ( #4161 )
2020-08-07 16:50:56 +12:00
itsconquest
b9c2bf487b
fix(container-creation): add default/override options ( #4119 )
...
* fix(container-creation): add default/override options
* fix(container-creation): allow override with empty string on creation
* fix(container-creation): add tooltip & update placeholder
* fix(container-creation): add warning on duplicate
2020-08-07 14:10:40 +12:00
itsconquest
1b88ca2285
fix(container-creation): handle extraHosts correctly ( #4139 )
...
* fix(container-creation): handle extraHosts correctly
* fix(container-creation): refactor for readability
2020-08-07 14:10:08 +12:00
itsconquest
490b7ad26f
fix(container-creation): allow resetting to unlimited ( #4138 )
...
* fix(container-creation): allow resetting to unlimited
* fix(container-creation): refactor for readability
2020-08-04 11:14:59 +12:00
Chaim Lev-Ari
93d8c179f1
feat(containers): enforce disable bind mounts ( #4110 )
...
* feat(containers): enforce disable bind mounts
* refactor(docker): move check for endpoint admin to a function
* feat(docker): check if service has bind mounts
* feat(services): allow bind mounts for endpoint admin
* feat(container): enable bind mounts for endpoint admin
* fix(services): fix typo
2020-07-29 21:10:46 +12:00
Chaim Lev-Ari
1a3f77137a
feat(settings): introduce setting to disable container caps for non-admins ( #4109 )
...
* feat(settings): introduce settings to allow/disable
* feat(settings): update the setting
* feat(docker): prevent user from using caps if disabled
* refactor(stacks): revert file
* style(api): remove portainer ns
2020-07-28 19:08:15 +12:00
Chaim Lev-Ari
1edf981330
fix(container-creation): preselect network ( #4117 )
2020-07-28 09:52:54 +12:00
Chaim Lev-Ari
07efd4bdda
feat(settings): add setting to disable device mapping for regular users ( #4099 )
...
* feat(settings): add setting to disable device mapping for regular users
* feat(settings): introduce device mapping service
* feat(containers): hide devices field when setting is on
* feat(containers): prevent passing of devices when not allowed
* feat(stacks): prevent non admin from device mapping
* feat(stacks): disallow swarm stack creation for user
* refactor(settings): replace disableDeviceMapping with allow
* fix(stacks): remove check for disable device mappings from swarm
* feat(settings): rename field to disable
* feat(settings): supply default value for disableDeviceMapping
* feat(container): check for endpoint admin
* style(server): sort imports
2020-07-27 09:31:14 +12:00
DarkAEther
2bc6b2dff7
feat(docker/container-creation): sort volumes in container creation view ( #4078 )
...
* #3635 fix(containers) sort volumes in container creation view
* fix(3635) sort volumes in container creation view
2020-07-27 09:28:33 +12:00
itsconquest
181a6f4553
fix(container-creation): always rebuild exposed ports ( #4024 )
2020-07-09 17:08:52 +12:00
Chaim Lev-Ari
b02749f877
feat(auth): add custom user timeout ( #3871 )
...
* feat(auth): introduce new timeout constant
* feat(auth): pass timeout from handler
* feat(auth): add timeout selector to auth settings view
* feat(settings): add user session timeout property
* feat(auth): load user session timeout from settings
* fix(settings): use correct time format
* feat(auth): remove no-auth flag
* refactor(auth): move timeout mgmt to jwt service
* refactor(client): remove no-auth checks from client
* refactor(cli): remove defaultNoAuth
* feat(settings): create settings with default user timeout value
* refactor(db): save user session timeout always
* refactor(jwt): return error
* feat(auth): set session timeout in jwt service on update
* feat(auth): add description and time settings
* feat(auth): parse duration
* feat(settings): validate user timeout format
* refactor(settings): remove unneccesary import
2020-06-09 21:55:36 +12:00
Maxime Bajeux
3de533042d
feat(networks): add ipv6 support ( #3717 )
...
* feat(portainer-core): add ipv6 support
* feat(networks): add few changes
* refacto(networks): write regex once
* fix(networks): fix indentation
* refacto(networks): use foreach instead map and pluralize ipvxconfig
* refacto(networks): pluralize ipvxconfig
* feat(networks): support ipv6 with ports
* feat(networks): add an explicit error message
* fix(networks): hide ipv6 configuration when creating macvlan
2020-04-28 12:34:54 +12:00
Mariell
f525c8d022
feat(container-creation): add support for --init ( #2111 ) ( #3714 )
2020-04-15 13:09:42 +12:00
Chaim Lev-Ari
bba622a500
chore(eslint): add rule to sort imports ( #3715 )
...
* chore(eslint): add plugin to sort imports
* chore(eslint): sort imports
* chore(eslint): add eslint-config-prettier
2020-04-15 11:46:34 +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
bfdb4dba12
fix(container-creation): validate runtime property ( #3581 )
...
Co-authored-by: linquize <linquize2@yahoo.com>
2020-02-26 16:31:59 +13:00
William
0330b16776
fix(container-create): patch dns ( #3556 )
2020-02-11 15:23:56 +01:00
Kirill K
1ef29f2671
feat: add setting to change DNS servers ( #3511 )
...
* feat: add setting to change DNS servers
* style: fixing codeclimate warning
Looks like conditional was excessive, it works as expected even without
it.
* style: rename 'DNS Server 1/2' to 'Primary/Secondary DNS Server'
Signed-off-by: Kirill K <kovalev.kirill.a@gmail.com>
* style: rename variables in code to match UI naming
* feat: add tooltips on DNS servers input fields
Signed-off-by: Kirill K <kovalev.kirill.a@gmail.com>
* Revert "feat: add tooltips on DNS servers input fields"
This reverts commit b83ef50825
.
* style: secondary DNS placeholder
Signed-off-by: Kirill K <kovalev.kirill.a@gmail.com>
2020-01-24 15:49:28 +01:00
William
dd0c80e915
fix(container-creation): preserve aliases if null ( #3405 )
...
* fix(container-creation): preserve aliases if null
* Update app/docker/views/containers/create/createContainerController.js
2019-11-29 09:21:23 +13:00
William
5ab63bd151
fix(container-create): patch aliases ( #3403 )
...
* fix(container-create): patch aliases
* Update app/docker/views/containers/create/createContainerController.js
2019-11-28 17:38:53 +13: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
William
61c38534a7
fix(container-creation): preserve network aliases ( #3401 )
2019-11-28 09:35:14 +13:00
William
7f54584ed6
fix(container-creation): match container_network by id ( #3398 )
2019-11-27 09:19:22 +13:00
KemoNine
a41ca1fd46
feat(container-creation): allow empty value for labels ( #2655 )
...
* Allow empty values for labels
* Allow empty labels when creating containers from a template
2019-11-25 13:25:30 +13:00
Anthony Lapenna
19d4db13be
feat(api): rewrite access control management in Docker ( #3337 )
...
* feat(api): decorate Docker resource creation response with resource control
* fix(api): fix a potential resource control conflict between stacks/volumes
* feat(api): generate a default private resource control instead of admin only
* fix(api): fix default RC value
* fix(api): update RC authorizations check to support admin only flag
* refactor(api): relocate access control related methods
* fix(api): fix a potential conflict when fetching RC from database
* refactor(api): refactor access control logic
* refactor(api): remove the concept of DecoratedStack
* feat(api): automatically remove RC when removing a Docker resource
* refactor(api): update filter resource methods documentation
* refactor(api): update proxy package structure
* refactor(api): renamed proxy/misc package
* feat(api): re-introduce ResourceControlDelete operation as admin restricted
* refactor(api): relocate default endpoint authorizations
* feat(api): migrate RBAC data
* feat(app): ResourceControl management refactor
* fix(api): fix access control issue on stack deletion and automatically delete RC
* fix(api): fix stack filtering
* fix(api): fix UpdateResourceControl operation checks
* refactor(api): introduce a NewTransport builder method
* refactor(api): inject endpoint in Docker transport
* refactor(api): introduce Docker client into Docker transport
* refactor(api): refactor http/proxy package
* feat(api): inspect a Docker resource labels during access control validation
* fix(api): only apply automatic resource control creation on success response
* fix(api): fix stack access control check
* fix(api): use StatusCreated instead of StatusOK for automatic resource control creation
* fix(app): resource control fixes
* fix(api): fix an issue preventing administrator to inspect a resource with a RC
* refactor(api): remove useless error return
* refactor(api): document DecorateStacks function
* fix(api): fix invalid resource control type for container deletion
* feat(api): support Docker system networks
* feat(api): update Swagger docs
* refactor(api): rename transport variable
* refactor(api): rename transport variable
* feat(networks): add system tag for system networks
* feat(api): add support for resource control labels
* feat(api): upgrade to DBVersion 22
* refactor(api): refactor access control management in Docker proxy
* refactor(api): re-implement docker proxy taskListOperation
* refactor(api): review parameters declaration
* refactor(api): remove extra blank line
* refactor(api): review method comments
* fix(api): fix invalid ServerAddress property and review method visibility
* feat(api): update error message
* feat(api): update restrictedVolumeBrowserOperation method
* refactor(api): refactor method parameters
* refactor(api): minor refactor
* refactor(api): change Azure transport visibility
* refactor(api): update struct documentation
* refactor(api): update struct documentation
* feat(api): review restrictedResourceOperation method
* refactor(api): remove unused authorization methods
* feat(api): apply RBAC when enabled on stack operations
* fix(api): fix invalid data migration procedure for DBVersion = 22
* fix(app): RC duplicate on private resource
* feat(api): change Docker API version logic for libcompose/client factory
* fix(api): update access denied error message to be Docker API compliant
* fix(api): update volume browsing authorizations data migration
* fix(api): fix an issue with access control in multi-node agent Swarm cluster
2019-11-13 12:41:42 +13:00
George Cheng
c559b6b55c
fix(container-creation): Fix bad env in container creation ( #2996 )
...
Currently we are using RegExp `/\=(.+)/` to catch key-value
of environment variables, which could not match empty-value
environment variables such as `KEY=`.
This commit will change the RegExp to `/\=(.*)/`, which
matches the empty values.
2019-11-01 16:15:33 +13:00
Mattias Edlund
accca0f2a6
feat(containers): added support for port range mappings when deploying containers ( #3194 )
...
* feat(containers): added support for port range mappings when deploying containers
* feat(containers): added placeholders to port publishing input fields
* feat(containers): added a tooltip to the manual network port publishing
* feat(containers): improved the code consistency
2019-10-15 11:13:57 +02:00
Frans-Jan van Steenbeek
6c996377f5
fix(container-creation): prevent duplicate MAC addresses after edit ( #1645 ) ( #2993 )
2019-10-03 15:37:34 +13:00
itsconquest
d1fee6f119
style(container-creation): clarify ports mapping
2019-07-10 17:16:43 +12:00
Michael Oborne
fb69ffa764
fix(create-container): init ExposedPorts on container creation process ( #2933 )
2019-06-21 15:48:52 +02:00
William
e3eeb32a11
style(container-creation): clarify port mapping ( #2899 )
2019-05-25 09:56:30 +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
Anthony Lapenna
9c4c782a90
style(container-creation): review auto remove element position
2019-02-25 13:09:09 +13:00
linquize
99e50370bd
feat(container-creation): support auto remove option (docker run --rm) ( #2684 )
2019-02-25 09:48:31 +13:00
Anthony Lapenna
1a4dff536d
fix(container-creation): fix an issue with command parsing ( #2642 )
...
* fix(container-creation): fix an issue with command parsing
* refactor(container-creation): remove indentation update
2019-01-23 12:25:42 +13:00
baron_l
c1f2d90997
fix(container-creation): fix missing capabilities on duplicate ( #2635 )
2019-01-23 09:28:44 +13:00
Chaim Lev-Ari
62eb47b3cb
fix(container-creation): revert container state if creation failed ( #2565 )
...
* fix(container): rename old container only if exist
* fix(container): remove new container only if created
* style(container): fix typo
Co-Authored-By: chiptus <chiptus@users.noreply.github.com>
2019-01-18 08:59:43 +13:00
DevHugo
50a3b08209
feat(app): add driver name in the volume selector for container/service creation ( #2534 )
...
* Feat(containers): add driver name in the volume selector
* Feat(services): add driver name in the volume selector
2019-01-17 11:28:40 +13:00
Chaim Lev-Ari
fe63b4a156
fix(container-creation): populate logger config from existing container ( #2602 )
...
* refactor(container): change map function to lodash
* style(container): add semicolon
2019-01-16 13:34:28 +13:00
Chaim Lev-Ari
f2cd33e831
feat(container-creation): call stopAndRename after pullImage ( #2564 )
...
* refactor(container): remove bind of function
2018-12-21 00:37:35 +09:00
Damian Czaja
7e6c647e93
feat(container-creation): add the ability to override the logging driver ( #2384 )
2018-10-28 16:00:56 +13: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
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
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
Anthony Lapenna
e60d809154
fix(container-creation): fix an issue with container-edition and UAC
2018-08-20 21:06:30 +02:00
Anthony Lapenna
64beaaa279
feat(container-details): update re-creation flow ( #2193 )
2018-08-20 20:55:12 +02:00