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
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
8dba19694a
feat(roles-management): integrate rbac extension ( #6 )
...
* refactor(rbac): move client extension code
* feat(app): remove checks for extension
* feat(rbac): remove checks for extensions
* feat(extensions): remove reference to rbac extensions
* feat(roles): add changes from codebase before removal of rbac
* refactor(security): remove rbac service
* refactor(security): use AdminAccess as an alias
* fix(access): rename policies type
* style(security): add comment about Aliasing AdminAccess to RestrictedAccess
* feat(bolt): add auth migration from ce to ee
* feat(stacks): use authorized access to stop/start stacks
* fix(bolt): supply right params to migrator
* feat(rbac): get authorization on client side
2020-10-07 23:21:14 +13:00
Anthony Lapenna
fc248c31c7
fix(api/stacks): add authorization checks for start/stop operations ( #4248 )
...
* fix(api/stacks): add authorization checks for start/stop operations
* feat(api/stacks): re-order validation checks
* fix(api/stacks): add missing endpoint validation check
2020-08-21 15:16:38 +12:00
Chaim Lev-Ari
4d5836138b
feat(stacks): add the ability to stop a stack ( #4042 )
...
* feat(stacks): add stack status
* feat(stacks): add empty start/stop handlers
* feat(stacks): show start/stop button
* feat(stacks): implement stack stop
* feat(stacks): implement start stack
* feat(stacks): filter by active/inactive stacks
* fix(stacks): update authorizations for stack start/stop
* feat(stacks): assign default status on create
* fix(bolt): fix import
* fix(stacks): show external stacks
* fix(stacks): reload on stop/start
* feat(stacks): confirm before stop
2020-08-04 10:18:53 +12:00