Dan Underwood
b2f36a3bbe
fix(networking): convert from localhost addresses to 127.0.0.1 ( #3411 )
2020-04-27 13:54:37 +12:00
Chaim Lev-Ari
2542d30a09
feat(endpoints): filter by ids and/or tag ids ( #3690 )
...
* feat(endpoints): add filter by tagIds
* refactor(endpoints): change endpoints service to query by tagIds
* fix(endpoints): filter by tags
* feat(endpoints): filter by endpoint groups tags
* feat(endpoints): filter by ids
2020-04-08 21:14:50 +12:00
Chaim Lev-Ari
edd86f2506
refactor(tags): refactor tag management ( #3628 )
...
* refactor(tags): replace tags with tag ids
* refactor(tags): revert tags to be strings and add tagids
* refactor(tags): enable search by tag in home view
* refactor(tags): show endpoint tags
* refactor(endpoints): expect tagIds on create payload
* refactor(endpoints): expect tagIds on update payload
* refactor(endpoints): replace TagIds to TagIDs
* refactor(endpoints): set endpoint group to get TagIDs
* refactor(endpoints): refactor tag-selector to receive tag-ids
* refactor(endpoints): show tags in multi-endpoint-selector
* chore(tags): revert reformat
* refactor(endpoints): remove unneeded bind
* refactor(endpoints): change param tags to tagids in endpoint create
* refactor(endpoints): remove console.log
* refactor(tags): remove deleted tag from endpoint and endpoint group
* fix(endpoints): show loading label while loading tags
* chore(go): remove obsolete import labels
* chore(db): add db version comment
* fix(db): add tag service to migrator
* refactor(db): add error checks in migrator
* style(db): sort props in alphabetical order
* style(tags): fix typo
Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io>
* refactor(endpoints): replace tagsMap with tag string representation
* refactor(tags): rewrite tag delete to be more readable
* refactor(home): rearange code to match former style
* refactor(tags): guard against missing model in tag-selector
* refactor(tags): rename vars in tag_delete
* refactor(tags): allow any authenticated user to fetch tag list
* refactor(endpoints): replace controller function with class
* refactor(endpoints): replace function with helper
* refactor(endpoints): replace controller with class
* refactor(tags): revert tags-selector to use 1 way bindings
* refactor(endpoints): load empty tag array instead of nil
* refactor(endpoints): revert default tag ids
* refactor(endpoints): use function in place
* refactor(tags): use lodash
* style(tags): use parens in arrow functions
* fix(tags): remove tag from tag model
Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io>
2020-03-29 22:54:14 +13:00
Chaim Lev-Ari
ae7f46c8ef
feat(endpoints): filter by endpoint type ( #3646 )
2020-03-26 18:44:27 +13:00
Anthony Lapenna
e0d83db609
fix(authentication/ldap): fix an issue with authorizations not updated after ldap login ( #3577 )
2020-02-25 18:54:32 +13:00
Hugo Hromic
f4c461d7fb
feat(settings/ldap): preserve ReaderDN in database if empty in settings payload ( #3537 )
...
* Allows to avoid changing any current value when using LDAP Anonymous Mode
2020-01-31 13:17:19 +13:00
William
8bea0988dd
fix(api): lower Docker client API version for backwards support ( #3534 )
2020-01-29 17:36:28 +13:00
William
17bc17f638
fix(api): fix an issue with ownership for services and stacks ( #3512 )
2020-01-21 08:09:30 +13:00
Anthony Lapenna
e9f6861df0
feat(api): add go module support ( #3408 )
...
* feat(api): experiment with go mod
* feat(api): experiment with go mod
* feat(api): experiment with go mod
* feat(api): add go module support
* refactor(api): go fmt
2019-12-05 17:02:27 +13:00
Anthony Lapenna
29b7eeef5a
fix(api): trigger an authorization update after auto-provisioning users ( #3428 )
2019-12-04 15:32:55 +13:00
Anthony Lapenna
f6cefb3318
fix(api): fix invalid method call for docker_windows proxy
2019-12-04 12:54:11 +13:00
Anthony Lapenna
badb6ee50f
fix(http): update volume browsing validation ( #3416 )
2019-12-03 10:42:55 +13:00
Anthony Lapenna
130c188717
fix(libcompose): apply same normalize name rule as libcompose on stack name ( #3395 )
2019-11-24 14:28:07 +13:00
Anthony Lapenna
a85f0058ee
feat(extensions): add the ability to upload and enable an extension ( #3345 )
...
* feat(extensions): offline mode mockup
* feat(extensions): offline mode mockup
* feat(api): add support for extensionUpload API operation
* feat(extensions): offline extension upload
* feat(api): better support for extensions in offline mode
* feat(extension): update offline description
* feat(api): introduce local extension manifest
* fix(api): fix LocalExtensionManifestFile value
* feat(api): use a 5second timeout for online extension infos
* feat(extensions): add download archive link
* feat(extensions): add support for offline update
* fix(api): fix issues with offline install and online updates of extensions
* fix(extensions): fix extensions link URL
* fix(extension): hide screenshot in offline mode
2019-11-20 18:16:40 +13:00
Anthony Lapenna
4239db7b34
fix(api): remove roles associated to access policies after removing RBAC extension ( #3373 )
2019-11-20 11:58:26 +13:00
Anthony Lapenna
914b46f813
fix(api): introduce gitlab proxy package
2019-11-13 13:12:55 +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
xAt0mZ
198e92c734
feat(registry): gitlab support ( #3107 )
...
* feat(api): gitlab registry type
* feat(registries): early support for gitlab registries
* feat(app): registry service selector
* feat(registry): gitlab support : list repositories and tags - remove features missing
* feat(registry): gitlab registry remove features
* feat(registry): gitlab switch to registry V2 API for repositories and tags
* feat(api): use development extension binary
* fix(registry): avoid 401 on gitlab retrieve to disconnect the user
* feat(registry): gitlab browse projects without extension
* style(app): code cleaning
* refactor(app): PR review changes + refactor on types
* fix(gitlab): remove gitlab info from registrymanagementconfig and force gitlab type
* style(api): go fmt
* feat(api): update APIVersion and ExtensionDefinitionsURL
* fix(api): fix invalid RM extension URL
* feat(registry): PAT scope help
* feat(registry): defaults on registry creation
* style(registry-creation): update layout and text for Gitlab registry
* feat(registry-creation): update gitlab notice
2019-11-12 16:28:31 +13:00
Anthony Lapenna
03d9d6afbb
Revert "fix(api): fix invalid resource control check ( #3225 )" ( #3327 )
...
This reverts commit 1fbe6a12f1
.
2019-11-01 17:46:53 +13:00
Anthony Lapenna
ab2acea463
feat(app): add externally sourced support options ( #3249 )
...
* feat(app): add externally sourced support options
* refactor(api): rename struct fields
2019-10-10 10:59:27 +13:00
Anthony Lapenna
9aa52a6975
feat(settings): add new settings to disable volume browser ( #3239 )
...
* feat(settings): add new settings to disable volume browser
* feat(api): update setting to be compliant with RBAC
* refactor(api): update method comment
* fix(api): remove volume browsing authorizations by default
* feat(settings): rewrite volume management setting description
* feat(settings): rewrite volume management setting tooltip
* Update app/portainer/views/settings/settings.html
Co-Authored-By: William <william.conquest@portainer.io>
2019-10-08 13:17:58 +13:00
Anthony Lapenna
68fe5d6906
fix(api): fix invalid restriction on StatusInspectVersion
2019-10-08 11:45:16 +13:00
Anthony Lapenna
2912e78f68
fix(api): add access validation for agent browse requests ( #3235 )
...
* fix(api): add access validation for agent browse requests
* fix(api): review query parameter retrieval
* refactor(api): remove useless else case
2019-10-07 16:24:08 +13:00
Anthony Lapenna
fb6f6738d9
fix(api): prevent the use of bind mounts in stacks if setting enabled ( #3232 )
2019-10-07 16:12:21 +13:00
Anthony Lapenna
f7480c4ad4
feat(api): prevent non administrator users to use admin restricted API endpoints ( #3227 )
2019-10-07 16:10:51 +13:00
Anthony Lapenna
1fbe6a12f1
fix(api): fix invalid resource control check ( #3225 )
2019-10-07 16:09:35 +13:00
Anthony Lapenna
b7c38b9569
feat(api): trigger user authorization update when required ( #3213 )
...
* refactor(api): remove useless type cast
* feat(api): trigger user authorization update when required
* fix(api): fix missing RegistryService injection
2019-10-07 15:42:01 +13:00
Anthony Lapenna
ea05d96c73
feat(sidebar): add update notification ( #3196 )
...
* feat(sidebar): add update notification
* style(sidebar): update notification color palette
* refactor(api): rollback to latest version
* feat(sidebar): update style
* style(sidebar): fix color override
2019-09-26 08:38:11 +12:00
Anthony Lapenna
42d4e1e11c
fix(api): prevent panic in auth when OAuth is enabled ( #3179 )
2019-09-24 11:03:44 +12:00
Anthony Lapenna
1f68aad07f
feat(api): prevent endpoint creation with already paired agent ( #3159 )
2019-09-20 16:14:19 +12:00
Anthony Lapenna
07505fabcc
fix(api): remove automatic backend failure for Down endpoints ( #3160 )
2019-09-20 16:13:58 +12:00
Anthony Lapenna
7d76bc89e7
feat(api): relocate authorizations outside of JWT ( #3079 )
...
* feat(api): relocate authorizations outside of JWT
* fix(api): update user authorization after enabling the RBAC extension
* feat(api): add PortainerEndpointList operation in the default portainer authorizations
* feat(auth): retrieve authorization from API instead of JWT
* refactor(auth): move permissions retrieval to function
* refactor(api): document authorizations methods
2019-09-10 10:58:26 +12:00
Anthony Lapenna
628d4960cc
fix(api): fix an issue with RegistryUpdate operation ( #3137 )
2019-09-10 10:55:27 +12:00
Anthony Lapenna
e11df28df6
fix(api): fix missing windows dependency
2019-07-28 10:30:12 +12:00
Anthony Lapenna
12a512f01f
feat(edge): introduce support for Edge agent ( #3031 )
...
* feat(edge): fix webconsole and agent deployment command
* feat(edge): display agent features when connected to IoT endpoint
* feat(edge): add -e CAP_HOST_MANAGEMENT=1 to agent command
* feat(edge): add -v /:/host and --name portainer_agent_iot to agent command
* style(endpoint-creation): refactor IoT agent to Edge agent
* refactor(api): rename AgentIoTEnvironment to AgentEdgeEnvironment
* refactor(api): rename AgentIoTEnvironment to AgentEdgeEnvironment
* feat(endpoint-creation): update Edge agent deployment instructions
* feat(edge): wip edge
* feat(edge): refactor key creation
* feat(edge): update deployment instructions
* feat(home): update Edge agent endpoint item
* feat(edge): support dynamic ports
* feat(edge): support sleep/wake and snapshots
* feat(edge): support offline mode
* feat(edge): host job support for Edge endpoints
* feat(edge): introduce STANDBY state
* feat(edge): update Edge agent deployment command
* feat(edge): introduce EDGE_ID support
* feat(edge): update default inactivity interval to 5min
* feat(edge): reload Edge schedules after restart
* fix(edge): fix execution of endpoint job against an Edge endpoint
* fix(edge): fix minor issues with scheduling UI/UX
* feat(edge): introduce EdgeSchedule version management
* feat(edge): switch back to REQUIRED state from ACTIVE on error
* refactor(edge): remove comment
* feat(edge): updated tunnel status management
* feat(edge): fix flickering UI when accessing Edge endpoint from home view
* feat(edge): remove STANDBY status
* fix(edge): fix an issue with console and Swarm endpoint
* fix(edge): fix an issue with stack deployment
* fix(edge): reset timer when applying active status
* feat(edge): add background ping for Edge endpoints
* fix(edge): fix infinite loading loop after Edge endpoint connection failure
* fix(home): fix an issue with merge
* feat(api): remove SnapshotRaw from EndpointList response
* feat(api): add pagination for EndpointList operation
* feat(api): rename last_id query parameter to start
* feat(api): implement filter for EndpointList operation
* fix(edge): prevent a pointer issue after removing an active Edge endpoint
* feat(home): front - endpoint backend pagination (#2990 )
* feat(home): endpoint pagination with backend
* feat(api): remove default limit value
* fix(endpoints): fix a minor issue with column span
* fix(endpointgroup-create): fix an issue with endpoint group creation
* feat(app): minor loading optimizations
* refactor(api): small refactor of EndpointList operation
* fix(home): fix minor loading text display issue
* refactor(api): document bolt services functions
* feat(home): minor optimization
* fix(api): replace seek with index scanning for EndpointPaginated
* fix(api): fix invalid starting index issue
* fix(api): first implementation of working filter
* fix(home): endpoints list keeps backend pagination when it needs to
* fix(api): endpoint pagination doesn't drop the first item on pages >=2 anymore
* fix(home): UI flickering on page/filter load/change
* feat(auth): login spinner
* feat(api): support searching in associated endpoint group data
* refactor(api): remove unused API endpoint
* refactor(api): remove comment
* refactor(api): refactor proxy manager
* feat(api): declare EndpointList params as optional
* feat(api): support groupID filter on endpoints route
* feat(api): add new API operations endpointGroupAddEndpoint and endpointGroupDeleteEndpoint
* feat(edge): new icon for Edge agent endpoint
* fix(edge): fix missing exec quick action
* fix(edge): add loading indicator when connecting to Edge endpoint
* feat(edge): disable service webhooks for Edge endpoints
* feat(endpoints): backend pagination for endpoints view (#3004 )
* feat(edge): dynamic loading for stack migration feature
* feat(edge): wordwrap edge key
* feat(endpoint-groups): backend pagination support for create and edit
* feat(endpoint-groups): debounce on filter for create/edit views
* feat(endpoint-groups): filter assigned on create view
* (endpoint-groups): unassigned endpoints edit view
* refactor(endpoint-groups): code clean
* feat(endpoint-groups): remove message for Unassigned group
* refactor(websocket): minor refactor associated to Edge agent
* feat(endpoint-group): enable backend pagination (#3017 )
* feat(api): support groupID filter on endpoints route
* feat(api): add new API operations endpointGroupAddEndpoint and endpointGroupDeleteEndpoint
* feat(endpoint-groups): backend pagination support for create and edit
* feat(endpoint-groups): debounce on filter for create/edit views
* feat(endpoint-groups): filter assigned on create view
* (endpoint-groups): unassigned endpoints edit view
* refactor(endpoint-groups): code clean
* feat(endpoint-groups): remove message for Unassigned group
* refactor(api): endpoint group endpoint association refactor
* refactor(api): rename files and remove comments
* refactor(api): remove usage of utils
* refactor(api): optional parameters
* Merge branch 'feat-endpoint-backend-pagination' into edge
# Conflicts:
# api/bolt/endpoint/endpoint.go
# api/http/handler/endpointgroups/endpointgroup_update.go
# api/http/handler/endpointgroups/handler.go
# api/http/handler/endpoints/endpoint_list.go
# app/portainer/services/api/endpointService.js
* fix(api): fix default tunnel server credentials
* feat(api): update endpointListOperation behavior and parameters
* fix(api): fix interface declaration
* feat(edge): support configurable Edge agent checkin interval
* feat(edge): support dynamic tunnel credentials
* feat(edge): update Edge agent deployment commands
* style(edge): update Edge agent settings text
* refactor(edge): remove unused credentials management methods
* feat(edge): associate a remote addr to tunnel credentials
* style(edge): update Edge endpoint icon
* feat(edge): support encrypted tunnel credentials
* fix(edge): fix invalid pointer cast
* feat(bolt): decode endpoints with jsoniter
* feat(edge): persist reverse tunnel keyseed
* refactor(edge): minor refactor
* feat(edge): update chisel library usage
* refactor(endpoint): use controller function
* feat(api): database migration to DBVersion 19
* refactor(api): refactor AddSchedule function
* refactor(schedules): remove comment
* refactor(api): remove comment
* refactor(api): remove comment
* feat(api): tunnel manager now only manage Edge endpoints
* refactor(api): clean-up and clarification of the Edge service
* refactor(api): clean-up and clarification of the Edge service
* fix(api): fix an issue with Edge agent snapshots
* refactor(api): add missing comments
* refactor(api): update constant description
* style(home): remove loading text on error
* feat(endpoint): remove 15s timeout for ping request
* style(home): display information about associated Edge endpoints
* feat(home): redirect to endpoint details on click on unassociated Edge endpoint
* feat(settings): remove 60s Edge poll frequency option
2019-07-26 10:38:07 +12:00
Anthony Lapenna
90d3f3a358
Enable endpoint backend pagination ( #2989 )
...
* feat(api): remove SnapshotRaw from EndpointList response
* feat(api): add pagination for EndpointList operation
* feat(api): rename last_id query parameter to start
* feat(api): implement filter for EndpointList operation
* feat(home): front - endpoint backend pagination (#2990 )
* feat(home): endpoint pagination with backend
* feat(api): remove default limit value
* fix(endpoints): fix a minor issue with column span
* fix(endpointgroup-create): fix an issue with endpoint group creation
* feat(app): minor loading optimizations
* refactor(api): small refactor of EndpointList operation
* fix(home): fix minor loading text display issue
* refactor(api): document bolt services functions
* feat(home): minor optimization
* fix(api): replace seek with index scanning for EndpointPaginated
* fix(api): fix invalid starting index issue
* fix(api): first implementation of working filter
* fix(home): endpoints list keeps backend pagination when it needs to
* fix(api): endpoint pagination doesn't drop the first item on pages >=2 anymore
* fix(home): UI flickering on page/filter load/change
* feat(api): support searching in associated endpoint group data
* feat(api): declare EndpointList params as optional
* feat(endpoints): backend pagination for endpoints view (#3004 )
* feat(endpoint-group): enable backend pagination (#3017 )
* feat(api): support groupID filter on endpoints route
* feat(api): add new API operations endpointGroupAddEndpoint and endpointGroupDeleteEndpoint
* feat(endpoint-groups): backend pagination support for create and edit
* feat(endpoint-groups): debounce on filter for create/edit views
* feat(endpoint-groups): filter assigned on create view
* (endpoint-groups): unassigned endpoints edit view
* refactor(endpoint-groups): code clean
* feat(endpoint-groups): remove message for Unassigned group
* refactor(api): endpoint group endpoint association refactor
* refactor(api): rename files and remove comments
* refactor(api): remove usage of utils
* refactor(api): optional parameters
* feat(api): update endpointListOperation behavior and parameters
* refactor(api): remove unused methods associated to EndpointService
* refactor(api): remove unused methods associated to EndpointService
* refactor(api): minor refactor
2019-07-20 16:28:11 -07:00
Anthony Lapenna
7a8a54c96a
refactor(api): introduce ExtensionServer constant
2019-06-23 11:36:45 +12:00
Anthony Lapenna
50f547a6e7
feat(motd): add the ability to use custom style ( #2918 )
...
* feat(motd): rework motd display mechanism for more flexibility on motd content
* feat(api): enhance MOTD
* refactor(api): refactor MOTD related codebase
* feat(motd): hash on message
2019-06-02 18:16:43 +12:00
Anthony Lapenna
a2d29df21b
fix(rbac): add specific authorization for Storidge management
2019-05-27 10:41:12 +12:00
Anthony Lapenna
4349f5803c
fix(api): fix missing default Portainer permissions for users
2019-05-27 09:31:20 +12:00
Anthony Lapenna
407328f9ed
fix(api): remove admin restriction for registry proxy endpoint
2019-05-27 09:15:50 +12:00
baron_l
851607394c
feat(integrations): storidge evolution ( #2711 )
...
* feat(storidge): update storidge routes
* feat(storidge): add new fields on profile create/edit
* feat(storidge): add drives list and details view
* feat(storidge): add node details / cordon / uncordon / remove
* feat(storidge): add volume and snapshot details
* feat(storidge): add snapshot creation on volume details
* feat(storidge): add rescan drives button
* refactor(storidge): move add / remove / put in / put ouf maintenance buttons for cluster nodes
* style(storidge): change cluster / node icon color based on status
* feat(storidge): profiles can enable snapshots without interval + interval in minutes
* refactor(storidge): split cluster and node status badge filter
* fix(storidge): error on volume IOPS update
* fix(storidge): snapshot can now be created without comments
* feat(storidge): remove snapshots panels when volume snapshots are disabled
* fix(app): paginatedItemLimit now retrieved for datables extending GenericDatatableController
* fix(storidge): addDrive is called with the good parameters
* fix(storidge): update model and views for Storidge v2695
* refactor(storidge): webpack migration
* fix(storidge): display modifications + fix js errors
* feat(storidge): snapshots, profile and nodes evolution
* fix(storidge): values for InterfaceDriver on profile create/edit
* feat(storidge): v5 update without style (profile / statuses / volume)
* fix(storidge): description tables on the same view have now the same fixed offset
* fix(app): override rdash-ui select style
* Revert "fix(app): override rdash-ui select style"
This reverts commit e724833261
.
* feat(storidge): wip on update 6
* feat(storidge): update 6
* feat(storidge): update 6
* feat(storidge): update 6
* feat(storidge): update 7 - node details + cluster views
* fix(storidge): update 7 - profiles creation + volume details
* fix(storidge): update 7 - profile create/edit interface type
* feat(storidge): update 8 - add drive
* feat(storidge): update 8 - UI refactors + cluster availability
* fix(storidge): update 8 - revert cluster availability
* feat(storidge): update 8 - node availability on swarm overview
* feat(storidge): cluster condition badge
* fix(storidge): update 9 - move add storage button + api profile filesystem kv to obj
* feat(storidge): update 9 - disable add drive button when action is in progress
* fix(storidge): update 9 - add drive button will now change only for the concerned drive
* fix(storidge): update 10 - disable remove drive button when removal in progress
* fix(api): update Storidge proxy creation process
* refactor(api): update version number
* feat(extensions): fix an issue with Storidge API URL
* feat(storidge): force the use of a manager node
2019-05-25 09:53:10 +12:00
Anthony Lapenna
17765d992e
fix(api): fix missing winio dependency
2019-05-24 19:35:15 +12:00
Anthony Lapenna
8057aa45c4
feat(extensions): introduce RBAC extension ( #2900 )
2019-05-24 18:04:58 +12:00
Anthony Lapenna
6be394c2e0
refactor(api): minor refactor to stream.go
2019-05-13 09:20:55 +12:00
Kai
540d3c2c6b
feat(api): support utf8 output in websocket endpoints
...
* change TCPConnToWebsocketConn read function to ReadRune
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Update websocket_exec.go
* Delete Project_Default.xml
* Delete modules.xml
* Delete portainer.iml
* Delete vcs.xml
* Delete workspace.xml
* Delete exec.go
* change TCPConnToWebsocketConn read function to ReadRune
* Apply suggestions from code review
Co-Authored-By: Anthony Lapenna <lapenna.anthony@gmail.com>
* Update stream.go
2019-05-13 08:55:25 +12:00
mrdrogdrog
1af9fb4490
feat(containers): add support docker attach ( #2842 )
...
* #592 feat(container-details): split websocket backend code into more files and add attach handler
* #592 feat(container-details): rename console to exec and add attach console
* Revert "#592 feat(container-details): rename console to exec and add attach console"
This reverts commit f2deaee1
* #592 feat(container-details): add attach to containerconsole
* #592 feat(container-details): catch more errors
* #592 feat(container-details): use less vars
* #592 feat(container-details): error message is more verbose
* #592 feat(container-details): go fmt
* #592 feat(container-details): unpack netdial
* #592 feat(container-details): reformat service
* #592 feat(container-details): fix go compiler bugs
* #592 feat(container-details): refactor services
* #592 feat(container-details): fix windows dial
* #592 feat(container-details): gofmt dial_windows.go
* #592 feat(container-details): split console into two views and fix breadcrumbs
* #592 feat(container-details): swap exec and attach action
* #592 feat(container-details): add some warnings
* #592 feat(container-details): refresh view more
* #592 feat(container-details): use less functions for connecting/disconnecting
* #592 feat(container-details): move link replacements into initTerm
* #592 feat(container-details): disable attach/exec button if container is not running
* #592 feat(container-details): fix typo
* #592 feat(container-details): autoconnect attach view
* #592 feat(container-details): fix first draw after attach + reformat code
* #592 feat(container-details): remove init-helper-div
* #592 feat(container-details): console resize code and remove padding
* #592 feat(container-details): swap height and width arguments in container tty resize restcall
* #592 feat(container-details): swap height and width arguments in exec tty resize restcall
* #592 feat(container-details): remove css unit
* #592 feat(container-details): remove loaded state from states object
* #592 feat(container-details): reword Disattach to Detach
* #592 feat(container-details): remove unloaded state from states object
* #592 feat(container-details): remove useless code
* #592 feat(container-details): clearer state-check
* #592 feat(container-details): fixed resize bugs by using xterms col attribute
2019-05-09 14:04:40 +12:00
Steven Kang
dc9a3de88f
feat(webhooks): Add Tag Support ( #2871 )
...
* feat(webhooks): Add Tag Support
* feat(webhooks): Add Tag Support
2019-05-08 10:41:31 +12:00
Anthony Lapenna
14845a4a53
refactor(api): refactor base import path ( #2788 )
...
* refactor(api): refactor base import path
* fix(build-system): update build_binary_devops
* fix(build-system): fix build_binary_devops for linux
* fix(build-system): fix build_binary_devops for Windows
2019-03-21 14:20:14 +13:00
linquize
ce6cb837f9
refactor(api): fix lint issues ( #2760 )
2019-03-11 12:50:10 +13:00
Anthony Lapenna
2b31f489d9
feat(api): add support for an externally fetched title for motd ( #2755 )
...
* feat(api): add support for an externally fetched title for motd
* refactor(api): gofmt motd.go
* refactor(api): update go comment
2019-03-05 16:05:15 +13:00
Anthony Lapenna
58962de20e
Merge branch 'develop' into oath-poc
2019-03-01 09:42:38 +13:00
Anthony Lapenna
130baddea0
fix(api): fix an issue when removing non local administrators
2019-02-25 18:54:21 +13:00
baron_l
7aa6a30614
feat(registry-manager): allow regular users to use the registry browse feature ( #2664 )
...
* feat(registries): registries accessibility to all authorized people and not only admins
* feat(registry): dockerhub settings for admin only
* feat(registry): remove registry config access for non admin users
* feat(api): use AuthenticatedAccess policy instead of RestrictedAccess for extensionList operation
* refactor(api): minor update to security package
* refactor(api): revert unexporting function changes
* refactor(api): apply gofmt
2019-02-25 13:02:49 +13:00
Anthony Lapenna
dc2a8cf1f4
feat(oauth): update OAuth configuration UX
2019-02-21 14:02:25 +13:00
Anthony Lapenna
d510d23408
feat(oauth): improve Azure OAuth support
2019-02-20 13:53:25 +13:00
Anthony Lapenna
7643f8d08c
feat(oauth): dev build supporting Oauth extension
2019-02-18 14:46:34 +13:00
Anthony Lapenna
d768e72a21
feat(oauth): add support for default team
2019-02-17 19:01:42 +13:00
Anthony Lapenna
de76ba4e67
feat(oauth): update OAuth UX
2019-02-14 15:58:45 +13:00
Anthony Lapenna
508352f4ea
Merge branch 'develop' into oath-poc
2019-02-04 09:19:12 +13:00
Anthony Lapenna
fca4f619b5
fix(api): re-use previous password when ldap settings update use empty password ( #2659 )
2019-01-30 14:53:14 +13:00
Chaim Lev Ari
46e8f10aea
refactor(ouath): use oauth2 library to get token
2019-01-18 10:56:16 +02:00
Chaim Lev Ari
60040e90d0
refactor(oauth): move build url logic to service
2019-01-18 10:24:42 +02:00
Chaim Lev Ari
c5c06b307a
refactor(oauth): rename authenticate function
2019-01-18 10:15:02 +02:00
Chaim Lev Ari
c28274667d
refactor(oauth): use oauth2 to generate login url
2019-01-18 10:13:33 +02:00
Anthony Lapenna
54163e3b92
fix(extensions): fix an issue with extensions with expired licenses ( #2628 )
...
* fix(extensions): fix an issue with extensions with expired licenses
* fix(api): fix invalid log call
* fix(api): allow to re-enable an extension
2019-01-18 10:00:18 +13:00
Chaim Lev Ari
b09f491f62
style(auth): remove comments and change error
2019-01-16 17:53:10 +02:00
Chaim Lev Ari
dc067b3308
refactor(http): remove old oauth handler
2019-01-16 17:41:56 +02:00
Chaim Lev Ari
24f066716b
refactor(auth): expose only the login url
2019-01-16 17:25:16 +02:00
Chaim Lev Ari
4cbde7bb0d
refactor(auth): move oauth handler under auth
2019-01-16 17:24:58 +02:00
Chaim Lev Ari
f6bdc5c2b3
refactor(auth): move oauth handler code to its own file
2019-01-16 17:01:38 +02:00
Chaim Lev Ari
996319d299
feat(auth): don't clear client secret on update
2018-12-30 18:39:16 +02:00
Chaim Lev Ari
2ee6f2780b
refactor(oauth): add debug logs
2018-12-30 18:25:30 +02:00
Chaim Lev Ari
241a701eca
feat(oauth): merge pr from https://github.com/portainer/portainer/pull/2515
2018-12-30 18:02:22 +02:00
Anthony Lapenna
8a186b4024
feat(api): update DigitalSignatureService ( #2539 )
2018-12-12 11:19:23 +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
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
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
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
Anthony Lapenna
d510bbbcfd
feat(api): filter LDAP password from settings response ( #2488 )
2018-11-24 08:40:56 +13:00
Anthony Lapenna
d03fd5805a
feat(api): support AGENT_SECRET environment variable ( #2486 )
2018-11-23 11:46:51 +13:00
Anthony Lapenna
0ef25a4cbd
fix(schedules): add schedule name validation and remove endpoint name prefix ( #2470 )
2018-11-14 16:10:49 +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
cf370f6a4c
refactor(endpoints): remove time.Sleep call
2018-11-13 15:19:29 +13:00
Anthony Lapenna
381ab81fdd
fix(endpoints): ensure endpoint is up to date after snapshot ( #2460 )
...
* feat(snapshots): fix a potential concurrency issue with endpoint snapshots
* fix(endpoints): ensure endpoint is up to date after snapshot
2018-11-13 15:18:38 +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
Anthony Lapenna
a2d9f591a7
feat(schedules): add retry policy to script schedules ( #2445 )
2018-11-09 15:22:08 +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
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
Anthony Lapenna
7d32a6619d
feat(api): add created property for schedules ( #2435 )
2018-11-07 09:22:30 +13:00
Anthony Lapenna
110fcc46a6
feat(api): revamp scheduling to introduce system schedules ( #2433 )
...
* feat(api): revamp scheduling to introduce system schedules
* fix(api): fix linting issues
* fix(api): fix lint issues
* refactor(api): fix lint issues
2018-11-06 22:49:48 +13:00
Chaim Lev-Ari
dbbea0a20f
feat(schedules): add the schedule API
...
* feat(jobs): add job service interface
* feat(jobs): create job execution api
* style(jobs): remove comment
* feat(jobs): add bindings
* feat(jobs): validate payload different cases
* refactor(jobs): rename endpointJob method
* refactor(jobs): return original error
* feat(jobs): pull image before creating container
* feat(jobs): run jobs with sh
* style(jobs): remove comment
* refactor(jobs): change error names
* feat(jobs): sync pull image
* fix(jobs): close image reader after error check
* style(jobs): remove comment and add docs
* refactor(jobs): inline script command
* fix(jobs): handle pul image error
* refactor(jobs): handle image pull output
* fix(docker): set http client timeout to 100s
* feat(api): create schedule type
* feat(agent): add basic schedule api
* feat(schedules): add schedule service in bolt
* feat(schedule): add schedule service to handler
* feat(schedule): add and list schedules from db
* feat(agent): get schedule from db
* feat(schedule): update schedule in db
* feat(agent): delete schedule
* fix(bolt): remove sync method from scheduleService
* feat(schedules): save/delete script in fs
* feat(schedules): schedules cron service implementation
* feat(schedule): integrate handler with cron
* feat(schedules): schedules API overhaul
* refactor(project): remove .idea folder
* fix(schedules): fix script task execute call
* refactor(schedules): refactor/fix golint issues
* refactor(schedules): update SnapshotTask documentation
* refactor(schedules): validate image name in ScheduleCreate operation
2018-11-06 09:58:15 +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
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
Chaim Lev-Ari
65291c68e9
feat(jobs): add the job execution API
...
* feat(jobs): add job service interface
* feat(jobs): create job execution api
* style(jobs): remove comment
* feat(jobs): add bindings
* feat(jobs): validate payload different cases
* refactor(jobs): rename endpointJob method
* refactor(jobs): return original error
* feat(jobs): pull image before creating container
* feat(jobs): run jobs with sh
* style(jobs): remove comment
* refactor(jobs): change error names
* feat(jobs): sync pull image
* fix(jobs): close image reader after error check
* style(jobs): remove comment and add docs
* refactor(jobs): inline script command
* fix(jobs): handle pul image error
* refactor(jobs): handle image pull output
* fix(docker): set http client timeout to 100s
* fix(client): remove timeout from http client
2018-10-23 10:03:30 +13:00
Tolik Litovsky
6e8a10d72f
fix(api): remove x-frame-options header ( #2322 )
2018-10-03 14:18:03 +13: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
Anthony Lapenna
d5dd362d53
feat(api): update client.Get with a new timeout parameter and default… ( #2297 )
...
* feat(api): update client.Get with a new timeout parameter and default to 5s
* fix(api): fix invalid type
2018-09-24 12:09:12 +12:00
Anthony Lapenna
b24891a6bc
refactor(api): introduce libhttp usage ( #2263 )
2018-09-10 12:01:38 +02:00
Anthony Lapenna
42f5aec6a5
feat(container-console): increase hijacked tcp connection reader size ( #2259 )
2018-09-07 11:24:18 +02: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
Anthony Lapenna
0b8f7f6cea
refactor(api): update error message for /users/admin/init
2018-09-03 20:18:04 +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
d5facde9d4
fix(api): fix invalid error message in endpoint creation handler ( #2233 )
2018-09-02 10:35:05 +02:00
Anthony Lapenna
887c16c580
feat(api): display details in error response ( #2228 )
2018-08-30 12:21:53 +02:00
Anthony Lapenna
8cd3964d75
feat(security): update secured headers and sanitize team name ( #2167 )
2018-08-23 17:10:18 +02:00
Anthony Lapenna
6ab6cfafb7
feat(motd): add the ability to display motd and dimiss information panels ( #2191 )
...
* feat(api): add motd handler
* feat(app): add the motd api layer
* feat(motd): display motd and add the ability to dismiss information messages
* style(home): relocate important message before info01
* feat(api): silently fail when an error occurs during motd retrieval
2018-08-21 20:40:42 +02:00
Ricardo Cardona Ramirez
e1e263d8c8
feat(UAC): change default ownership to admininstrators ( #2137 )
...
* #960 feat(UAC): change ownership to admins for externally created ressources
* feat(UAC): change ownership to admins for externally created resources
Deprecated AdministratorsOnly js and go backend
* #960 feat(UAC): remove AdministratorsOnly property and minor GUI fixes
Update swagger definition changing AdministratorsOnly to Public
* #960 feat(UAC): fix create resource with access control data
* #960 feat(UAC): authorization of non-admin users for restricted operations
On stacks, containers networks, services , tasks and volumes.
* #960 feat(UAC): database migration to version 14
The administrator resources are deleted and Public resources are now managed by admins
* #960 feat(UAC): small fixes from PR #2137
* #960 feat(UAC): improve the readability of the source code
* feat(UAC) fix displayed ownership for Swarm related resources (#960 )
2018-08-19 07:57:28 +02:00
Anthony Lapenna
ee9c8d7d1a
feat(templates): re-introduce external template management ( #2119 )
...
* feat(templates): re-introduce external template management
* refactor(api): review error handling
2018-08-07 17:43:36 +02:00
Anthony Lapenna
2216bd6e80
style(home): only display CPU/MEM for standalone endpoints
2018-07-31 11:58:08 +02:00
Anthony Lapenna
5f79547138
fix(api): filter sensitive information from API response ( #2103 )
2018-07-31 11:50:04 +02:00
Anthony Lapenna
d2702d6d7b
fix(api): fix invalid endpoint create payload
2018-07-26 10:13:18 +02:00
Anthony Lapenna
ab77f149fa
feat(home): add the ability to refresh endpoint information ( #2080 )
...
* feat(home): add the ability to refresh endpoint information
* style(home): update refresh confirmation message
2018-07-25 21:52:17 +02:00
Anthony Lapenna
134a38a566
style(dashboard): update dashboard information ( #2079 )
...
* style(dashboard): update dashboard information
* docs(swagger): update swagger.yml
2018-07-25 20:47:33 +02:00
Jan Jansen
76e1aa97e2
feat(stack-creation): add the ability to specify git reference ( #1948 ) ( #2063 )
2018-07-24 16:11:35 +02:00
Anthony Lapenna
1f24320fa7
fix(api): fix endpoint snapshot process at endpoint creation time ( #2072 )
...
* fix(api): fix endpoint snapshot process at endpoint creation time
* refactor(api): remove comments
2018-07-24 14:47:19 +02:00
Anthony Lapenna
113da93145
feat(authentication): add a setting to toggle automatic user provisioning when u… ( #2068 )
...
* feat(api): add a setting to toggle automatic user provisioning when using LDAP authentication
* fix(auth): fix an issue with AutoCreateUsers disabled
2018-07-24 08:49:17 +02:00
Anthony Lapenna
c7cb515035
fix(api): fix invalid build related filenames ( #2067 )
2018-07-23 18:50:45 +02:00
Anthony Lapenna
98b0ab50fc
feat(api): rewrite SwarmInspect operation ( #2065 )
...
* feat(api): rewrite SwarmInspect operation
* refactor(api): remove useless statements
2018-07-23 18:04:11 +02:00
Anthony Lapenna
b1227b17e1
fix(api): fix invalid platform build statements ( #2064 )
2018-07-23 16:49:04 +02:00
Anthony Lapenna
f62b40dc3f
fix(api): fix an issue when using websocketExec with a standalone agent
2018-07-23 16:07:18 +02:00
Anthony Lapenna
3c6f6cf5bf
feat(home): update endpoint list ( #2060 )
2018-07-23 09:51:33 +02:00
Olli Janatuinen
cec878b01d
feat(authentication/ldap): Auto create and assign LDAP users ( #2042 )
2018-07-23 06:57:38 +02:00
Anthony Lapenna
ea7615d71c
refactor(api): remove log statement
2018-07-22 20:51:43 +02:00
Anthony Lapenna
509e3fa795
fix(api): fix an issue with optional numeric query parameter parsing
2018-07-20 16:11:45 +02:00
Olli Janatuinen
4129550d44
feat(api): Add npipe support ( #2018 )
2018-07-20 11:02:06 +02:00
Anthony Lapenna
e15da005a5
feat(templates): support env variables in Compose stacks
2018-07-12 09:17:07 +02: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
dbcc6a9624
fix(stack-creation): use numeric value for stack root folder name ( #2000 )
2018-06-25 14:48:28 +03:00
Anthony Lapenna
23b0d6f1dc
fix(stack): fix an issue with stack migration
2018-06-20 21:02:53 +03:00
Anthony Lapenna
a5bd2743f3
fix(stacks): fix an issue with stack update
2018-06-20 20:55:00 +03:00
Anthony Lapenna
48f963398f
refactor(api): remove useless log.printf statement
2018-06-20 20:43:39 +03:00
Anthony Lapenna
0da9e564b9
feat(stacks): add the ability to migrate stacks to another endpoint ( #1976 )
...
* feat(stacks): add the ability to migrate stacks to another endpoint
* feat(stack-details): do not redirect to alternate endpoint after migration
* fix(api): fix merge conflicts
* feat(stack-details): add a modal to confirm stack migration
2018-06-19 17:28:40 +02:00
Anthony Lapenna
d7ff14777f
refactor(api): restructure bolt package ( #1981 )
...
* refactor(api): bolt package refactor
* refactor(api): refactor bolt package
2018-06-19 13:15:10 +02:00
Anthony Lapenna
6698173bf5
fix(api): fix endpointExtensionAddPayload validation
2018-06-18 15:30:44 +03:00
Anthony Lapenna
b4c2820ad7
refactor(api): use a standard stack identifier ( #1980 )
2018-06-18 12:07:56 +02:00
Anthony Lapenna
da5a430b8c
fix(api): add an authenticated access policy to the websocket endpoint ( #1979 )
...
* fix(api): add an authenticated access policy to the websocket endpoint
* refactor(api): centralize EndpointAccess validation
* feat(api): validate id query parameter for the /websocket/exec endpoint
2018-06-18 11:56:31 +02:00
Anthony Lapenna
e1345416b4
feat(stacks): migrate stack data from previous portainer version
2018-06-15 18:14:01 +03:00
Anthony Lapenna
5e73a49473
feat(tags): add the ability to manage tags ( #1971 )
...
* feat(tags): add the ability to manage tags
* feat(tags): update tag selector UX
* refactor(app): remove unused ui-select library
2018-06-15 09:18:25 +02:00
Anthony Lapenna
1e12057cdd
fix(api): review security policies when creating/updating a resource control ( #1964 )
2018-06-11 17:58:46 +02:00
Anthony Lapenna
e3d564325b
feat(stacks): support compose v2.0 stack ( #1963 )
2018-06-11 15:13:19 +02:00
Anthony Lapenna
9bb885629a
feat(endpoints): UX enhancements ( #1943 )
...
* feat(endpoints): add details about endpoints in datatable
* feat(endpoint-details): add the ability to inspect/update azure endpoint
* feat(endpoint-selector): disable placeholder selection
2018-06-01 16:13:24 +02:00
valkheim
c4576e9e2f
feat(api): update admin deletion policy ( #1935 )
2018-05-31 21:24:15 +02:00
Anthony Lapenna
9ff4b21616
feat(support): add support view ( #1937 )
2018-05-28 16:40:59 +02:00
Anthony Lapenna
9ad9cc5e2d
feat(azure): add experimental Azure endpoint support ( #1936 )
2018-05-28 16:40:33 +02:00
Anthony Lapenna
63d338c4da
fix(api): refactor TLS support ( #1909 )
...
* refactor(api): refactor TLS support
* feat(api): migrate endpoint data
* refactor(api): remove unused code and rename functions
* refactor(app): remove console.log statement
2018-05-19 16:25:11 +02:00
Anthony Lapenna
45f52657cf
fix(websocket): feat(websocket): remove Origin header before handling request ( #1901 )
2018-05-16 09:13:46 +02:00
Anthony Lapenna
5df09923b6
feat(api): add debug statements in response handling
2018-05-15 19:13:27 +02:00
Anthony Lapenna
79f4c20c25
fix(endpoints): set TLSSkipVerify to false when TLS is not enabled during update ( #1896 )
2018-05-15 18:24:54 +02:00
Anthony Lapenna
7754933470
fix(api): fix a panic issue when retrieving Docker API response
2018-05-09 16:11:52 +02:00
Konstantin Azizov
55a96767bb
feat(security): add request rate limiter on authentication endpoint ( #1866 )
2018-05-07 20:01:39 +02:00
Anthony Lapenna
2327d696e0
feat(agent): add agent support ( #1828 )
2018-05-06 09:15:57 +02:00
Anthony Lapenna
1162549209
feat(endpoint-groups): add endpoint-groups ( #1837 )
2018-04-26 18:08:46 +02:00
Herwono W. Wijaya
f0317d6d87
fix(api): fix the ability to push images to private repositories
2018-04-25 16:58:08 +02:00
Anthony Lapenna
05d6abf57b
feat(api): ping the endpoint at creation time ( #1817 )
2018-04-16 13:19:24 +02:00
Igor Karpovich
7690ef3c33
fix(api): add json content-type to all json API responses ( #1809 )
2018-04-13 16:01:02 +02:00
Anthony Lapenna
4f0e752d00
feat(api): remove any version api before proxying request ( #1806 )
2018-04-11 17:40:29 +02:00
Anthony Lapenna
30dfd3d616
fix(api): manage registry authentication in the API ( #1751 )
2018-03-23 08:44:43 +10:00
Anthony Lapenna
adf1ba7b47
feat(stack-creation): add the ability to specify git credentials ( #1722 )
...
* feat(stack-creation): add the ability to specify git credentials
* docs(api): update Swagger
2018-03-16 07:22:05 +10:00
Anthony Lapenna
706490db5e
fix(api): use EntryPoint as a reference to overwrite stack Compose file ( #1725 )
2018-03-13 21:35:12 +10:00
Anthony Lapenna
96e77b3ada
fix(api): fix a regression with the HTTP handler ( #1718 )
2018-03-13 09:06:38 +10:00
Anthony Lapenna
28c73323bf
refactor(extensions): review bouncer settings for extensions endpoint ( #1711 )
2018-03-10 08:18:59 +10:00
Anthony Lapenna
f1a21c07bd
feat(storidge): add extension check on endpoint switch ( #1693 )
...
* feat(storidge): add extension check on endpoint switch
* feat(storidge): add extension check post login
2018-03-09 08:49:43 +10:00
Anthony Lapenna
b9a1c68ea0
feat(security): check user existence for each protected requests ( #1679 )
2018-02-28 08:09:51 +01:00
Anthony Lapenna
81de2a5afb
feat(image-build): add the ability to build images ( #1672 )
2018-02-28 07:19:06 +01:00
Anthony Lapenna
eb43579378
feat(storidge): introduce endpoint extensions and proxy Storidge API ( #1661 )
2018-02-23 03:10:26 +01:00
Anthony Lapenna
1de0619fd5
fix(api): ignore Docker login errors during stack deployment ( #1635 )
2018-02-07 08:37:01 +01:00
Anthony Lapenna
b1863430df
revert: revert PR 1366 ( #1588 )
2018-01-22 10:06:47 +01:00
Miguel A. C
edadce359c
feat(stack-details): add stack deploy prune option ( #1567 )
...
* feat(stack-details): add stack deploy prune option
* fix go fmt issues
* add changes proposed by reviewer
* refactor deployStack as suggested by codeclimate
2018-01-20 18:05:01 +01:00
1138-4EB
6acfb580dc
feat(cli): Add CLI flag for health-check ( #1366 )
2018-01-15 19:34:07 +01:00
Anthony Lapenna
d2f3309842
refactor(api): rename file package to filesystem ( #1555 )
2018-01-06 18:53:12 +01:00
Anthony Lapenna
2b2850d17a
fix(stacks): fix an issue with stacks using docker in their name ( #1468 )
2017-12-05 14:56:40 +01:00
1138-4EB
688b15fb4b
feat(about): add a new about view as well as a support header
2017-11-26 10:05:03 +01:00
Anthony Lapenna
9ceb3a8051
feat(templates): add support for stack templates ( #1346 )
2017-11-07 08:18:23 +01:00
Thomas Kooi
407f0f5807
feat(configs): add support for docker configs ( #996 )
2017-11-06 09:47:31 +01:00
Anthony Lapenna
693f1319a4
feat(stacks): add the ability to specify env vars when deploying stacks ( #1345 )
2017-11-01 10:30:02 +01:00
Anthony Lapenna
b5629c5b1a
feat(stacks): allow to use images from private registries in stacks ( #1327 )
2017-10-26 14:22:09 +02:00
1138-4EB
34d40e4876
chore(build-system): make assets default relative, serve assets from assets/public ( #1309 )
2017-10-26 11:17:45 +02:00
Anthony Lapenna
587e2fa673
feat(stacks): add support for stack deploy ( #1280 )
2017-10-15 19:24:40 +02:00
Anthony Lapenna
0bdcff09f8
feat(settings): add a setting to disable privileged mode for non-admins ( #1239 )
2017-09-27 09:26:04 +02:00
Anthony Lapenna
ca9d9b9a77
feat(settings): add a setting to disable bind mounts for non-admins ( #1237 )
...
* feat(settings): add a setting to disable bind mounts for non-admins
* refactor(gruntfile): remove temporary setting
2017-09-26 05:36:51 +02:00
Anthony Lapenna
912ebf4672
feat(api): filter tasks based on service UAC ( #1207 )
2017-09-19 20:23:48 +02:00
Anthony Lapenna
dd0fc6fab8
feat(swarm): restrict access to the node details view to administrators only ( #1204 )
2017-09-19 18:41:03 +02:00
Anthony Lapenna
61f652da04
feat(secrets): add UAC ( #1200 )
2017-09-19 17:10:15 +02:00
Anthony Lapenna
a2b4cd8050
feat(networks): add UAC ( #1196 )
2017-09-19 16:58:30 +02:00
Anthony Lapenna
d653391cdd
feat(api): write Docker response code when using local proxy ( #1192 )
2017-09-14 11:09:36 +02:00
Anthony Lapenna
8d4807c9e7
feat(api): TLS endpoint creation and init overhaul ( #1173 )
2017-09-14 08:08:37 +02:00
Anthony Lapenna
9a0f0a9701
feat(favicon): fix favicon display ( #1177 )
2017-09-05 09:57:49 +02:00
Anthony Lapenna
e65d132b3d
feat(init-admin): allow to specify a username for the initial admin account ( #1160 )
2017-08-28 20:59:13 +02:00
Anthony Lapenna
92391254bc
feat(api): introduces swagger.yml ( #1112 )
2017-08-13 16:45:55 +02:00
Anthony Lapenna
d27528a771
feat(authentication): add LDAP authentication support ( #1093 )
2017-08-10 10:35:23 +02:00
Anthony Lapenna
0d6ab099ac
feat(templates): update LinuxServer.io templates feed URL ( #1089 )
2017-08-01 11:24:44 +02:00
Anthony Lapenna
02203e7ce5
refactor(api): relocate /docker API endpoint under /endpoints ( #1053 )
2017-07-20 16:22:27 +02:00
Anthony Lapenna
3f085a977c
fix(UAC): allow a team member to delete a resource control ( #1030 )
2017-07-13 09:12:06 +02:00
Anthony Lapenna
5d749c2ebf
feat(auth): use the same error message on invalid authentication ( #1024 )
2017-07-12 17:22:14 +02:00
Glowbal
9909b6d481
feat(backend): make swarm api endpoint admin user protected ( #991 )
2017-07-08 10:34:04 +02:00
Anthony Lapenna
08c5a5a4f6
feat(registries): add registry management ( #930 )
2017-06-20 13:00:32 +02:00
Anthony Lapenna
c7e306841a
feat(settings): add settings management ( #906 )
2017-06-01 10:14:55 +02:00
Anthony Lapenna
5e74a3993b
fix(api): add restrictions for the files served by the API ( #903 )
2017-05-29 22:10:36 +02:00
Anthony Lapenna
5523fc9023
feat(global): introduce user teams and new UAC system ( #868 )
2017-05-23 20:56:10 +02:00
Thomas Krzero
7c6c9284f2
feat(endpoints) - Access exposed containers on endpoint public URL ( #826 )
2017-05-01 11:19:43 +01:00
030
6fa6dde637
feat(backend): native SSL support
2017-04-25 10:51:22 +01:00
Anthony Lapenna
abc929824c
fix(endpoints): add the ability to update TLS for an existing endpoint ( #784 )
2017-04-09 19:38:41 +01:00
Anthony Lapenna
b8803f380b
feat(templates): LinuxServer.io templates integration ( #761 )
2017-04-05 10:13:32 +02:00
Anthony Lapenna
a99c6c4cbe
fix(backend): use a thread-safe implementation of map for proxies ( #728 )
2017-03-28 14:28:17 +02:00
Anthony Lapenna
dcce211676
fix(api): allow empty array when removing accesses to an endpoint ( #692 )
2017-03-17 11:52:17 +01:00
Anthony Lapenna
80d50378c5
feat(uac): add multi user management and UAC ( #647 )
2017-03-12 17:24:15 +01:00
Anthony Lapenna
dc78ec5135
feat(endpoints): add the ability to define endpoints from an external source
2017-02-06 18:29:34 +13:00
Anthony Lapenna
10f7744a62
feat(authentication): add a --no-auth flag to disable authentication ( #553 )
2017-02-01 22:13:48 +13:00
Anthony Lapenna
835b273700
feat(api): force no-cache on HTML files
2017-01-26 11:45:03 +13:00
Anthony Lapenna
d03e992b4f
feat(api): replace all calls to http.Error with custom Error writer
2017-01-24 16:35:48 +13:00
Anthony Lapenna
fa4ec04c47
feat(state): introduce endpoint state ( #529 )
2017-01-23 12:14:34 +13:00
Anthony Lapenna
3a6e9d2fbe
fix(api): fix an issue introduced by the latest version of package gorilla/mux ( #520 )
2017-01-21 11:17:51 +13:00
Anthony Lapenna
27e584fc14
fix(api): check if admin user already exists when calling the /users/admin/init endpoint ( #494 )
2017-01-12 18:17:28 +13:00
Anthony Lapenna
6e98237419
feat(api): introduce cache busting mechanism ( #439 )
2016-12-31 12:20:38 +13:00
Anthony Lapenna
d54d30a7be
feat(global): multi endpoint management ( #407 )
2016-12-26 09:34:02 +13:00
David Eisner
419727e1eb
feat(api): Connect to docker behind a name based virtual host proxy ( #379 )
...
This involves copying and modifying go's httputil.NewSingleHostReverseProxy, which is documented to (perhaps surprisingly) leave the Host header untouched. Instead, we set the Host header to the target host for the connection for the benefit of name based virtual host proxies that make use of this. The value it would otherwise have in this app, typically 'localhost:8000', is strange and unlikely to be any use.
See golang/go#7618 and golang/go#10342
2016-12-24 17:49:29 +13:00
Anthony Lapenna
0a38bba874
refactor(api): API overhaul ( #392 )
2016-12-18 18:21:29 +13:00