Chaim Lev-Ari
99a372fb88
feat(useractivity): log user activity for write actions ( #229 )
...
* feat(useractivity): introduce backend for useractivity logging (#213 )
* refactor(useractivity): move query and logs to base type
* feat(useractivity): cleanup user activity logs
* feat(useractivity): log an activity
* refactor(useractivity): create generic get logs function
* fix(api): hide unused function
* refactor(useractivity): create generic get logs function
* feat(useractivity): get user activity logs
* feat(http/ua): add http get logs handler
* refactor(http/ua): rename logs_list file
* feat(useractivity): fetch logs as csv
* feat(useractivity): save payload as bytes
* style(useractivity): doc the count parameter
* feat(useractivity): introduce UI for user activity logs (#220 )
* feat(useractivity): add useractivity page
* feat(useractivity): get logs from server
* feat(useractivity): show logs in datatable
* fix(useractivity): save logs as csv
* feat(useractivity): show logs payload
* feat(useractivity): sort desc by default
* feat(useractivity): parse object
* fix(useractivity): expect base64 payload
* feat(useractivity): show message when missing logs
* feat(useractivity): log api (#215 )
* feat(templates): log write methods
* refactor(useractivity): move middleware
* feat(dockerhub): log update docker settings
* feat(edgegroup): log write
* feat(edgejobs): log write request
* feat(useractivity): return bytes to user
* fix(customtemplates): set activity context
* feat(edgestacks): log activities
* feat(endpointgroup): log activities
* feat(endpoint): log write activities
* feat(licenses): log write activities
* feat(registries): log activitites
* feat(resource_control): log user activity
* feat(settings): log update
* feat(stacks): log activity
* feat(tags): log user activitiy
* feat(teammembership): log user activity
* feat(teams): log write activities
* feat(useractivity): get default context
* feat(http/upload): log upload tls
* feat(users): log user activities
* fix(settings): clean payload
* feat(webhook): log user activities
* feat(websocket): log activities
* feat(docker): log write activities
* refactor(useractivity): move log proxy
* feat(azure): log write activity
* refactor(kube): use basic transport for all transports
* feat(kube): log kube activity
* fix(useractivity): parse body
* refactor(kuberenetes): log requests only if success
* refactor(docker): log requests only if success
* refactor(azure): log requests only if success
* feat(gitlab): log activity
* feat(registries): log proxy request
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com >
* feat(activity-logs): save pagination limit
* feat(useractivity): remove config payload
* fix(docker): log request after success
* refactor(http): move copy body to utils
* feat(kuberentes): remove config values
* feat(useractivity): copy body before request
* fix(useractivity): fix column size
* feat(useractivity): filter json payloads
* refactor(useractivity): log with same logic
* fix(useractivity/csv): export same columns as datatable
* fix(useractivity): replace context with endpoint
* fix(user-activity): rename tables
* feat(endpoint): clear azure key
* feat(stacks): omit empty migrate values
* fix(stacks): add back import
* feat(endpoints): log update settings
* fix(registry): clear password value
* feat(registry): omit update empty value
* fix(registries): don't return from unauthorized azure request
* fix(useractivity): log any payload similar to json
* feat(useractivity): ignoer binary upload
* fix(useractivity): refresh user activity logs
* feat(useractivity): use [REDACTED] for cleared credential (#265 )
* feat(docker/services): log force update service
* feat(useractivity): log username when available
* feat(webhooks): remove logging of execute
* refactor(http): replace redacted values
* style(kube): remove commented code
* feat(http/kube): proxy local requests
* feat(useractivity): log patch method
* fix(datatables): use unique filter id
* fix kube settings update
* fix: EE-527 set payload to [REDACTED] when update kube config
* refactor(http/k8s): rename proxy function
* EE-530: a dummy fix of exec activity log for a local kube setup
Co-authored-by: Dmitry Salakhov <to@dimasalakhov.com >
Co-authored-by: Hui <arris_li@hotmail.com >
Co-authored-by: Simon Meng <simon.meng@portainer.io >
2021-04-15 20:37:29 +12:00
Chaim Lev-Ari
2fb60a29de
style(proxy): fix function name ( #243 )
2021-04-09 09:02:32 +12:00
Chaim Lev-Ari
65028ed96f
feat(stacks): scope stack names to endpoint ( #4520 ) ( #212 )
...
* refactor(stack): create unique name function
* refactor(stack): change stack resource control id
* feat(stacks): validate stack unique name in endpoint
* feat(stacks): prevent name collision with external stacks
* refactor(stacks): move resource id util
* refactor(stacks): supply resource id util with name and endpoint
* fix(docker): calculate swarm resource id
* feat(stack): prevent migration if stack name already exist
* feat(authorization): use stackutils
2021-03-24 16:40:25 +13:00
Chaim Lev-Ari
7c3b83f6e5
refactor(portainer): introduce internal package ( #3924 )
...
* refactor(auth): move auth helpers to internal package
* refactor(edge-compute): move edge helpers to internal package
* refactor(tags): move tags helper to internal package
* style(portainer): sort imports
2020-06-16 19:58:16 +12:00
William
8bea0988dd
fix(api): lower Docker client API version for backwards support ( #3534 )
2020-01-29 17:36:28 +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