Hui
1d7ed11462
docs(api): document apis with swagger EE-155 ( #326 )
...
* document apis with swagger
* feat(api): introduce swagger
* feat(api): anottate api
* chore(api): tag endpoints
* chore(api): remove tags
* chore(api): add docs for oauth auth
* chore(api): document create endpoint api
* chore(api): document endpoint inspect and list
* chore(api): document endpoint update and snapshots
* docs(endpointgroups): document groups api
* docs(auth): document auth api
* chore(build): introduce a yarn script to build api docs
* docs(api): document auth
* docs(customtemplates): document customtemplates api
* docs(tags): document api
* docs(api): document the use of token
* docs(dockerhub): document dockerhub api
* docs(edgegroups): document edgegroups api
* docs(edgejobs): document api
* docs(edgestacks): doc api
* docs(http/upload): add security
* docs(api): document edge templates
* docs(edge): document edge jobs
* docs(endpointgroups): change description
* docs(endpoints): document missing apis
* docs(motd): doc api
* docs(registries): doc api
* docs(resourcecontrol): api doc
* docs(role): add swagger docs
* docs(settings): add swagger docs
* docs(api/status): add swagger docs
* docs(api/teammembership): add swagger docs
* docs(api/teams): add swagger docs
* docs(api/templates): add swagger docs
* docs(api/users): add swagger docs
* docs(api/webhooks): add swagger docs
* docs(api/webscokets): add swagger docs
* docs(api/stacks): swagger
* docs(api): fix missing apis
* docs(swagger): regen
* chore(build): remove docs from build
* docs(api): update tags
* docs(api): document tags
* docs(api): add description
* docs(api): rename jwt token
* docs(api): add info about types
* docs(api): document types
* docs(api): update request types annotation
* docs(api): doc registry and resource control
* chore(docs): add snippet
* docs(api): add description to role
* docs(api): add types for settings
* docs(status): add types
* style(swagger): remove documented code
* docs(http/upload): update docs with types
* docs(http/tags): add types
* docs(api/custom_templates): add types
* docs(api/teammembership): add types
* docs(http/teams): add types
* docs(http/stacks): add types
* docs(edge): add types to edgestack
* docs(http/teammembership): remove double returns
* docs(api/user): add types
* docs(http): fixes to make file built
* chore(snippets): add scope to swagger snippet
* chore(deps): install swag
* chore(swagger): remove handler
* docs(api): add description
* docs(api): ignore docs folder
* docs(api): add contributing guidelines
* docs(api): cleanup handler
* chore(deps): require swaggo
* fix(auth): fix typo
* fix(docs): make http ids pascal case
* feat(edge): add ids to http handlers
* fix(docs): add ids
* fix(docs): show correct api version
* chore(deps): remove swaggo dependency
* chore(docs): add install script for swag
* merge examples
* go.mod update
* merge validate rules
* remove empty example tag
* swagger anotation format
* swagger annotation update
* clean up go.mod
* update docs prebuild script
* Update porImageRegistry.html
* Update yamlInspector.html
* Update porImageRegistry.html
* Update package.json
* wording change
Co-authored-by: Chaim Lev-Ari <chiptus@users.noreply.github.com >
2021-06-04 09:37:23 +12:00
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
db4a5292be
refactor(errors): reorganize errors ( #3938 )
...
* refactor(bolt): move ErrObjectNotFound to bolt
* refactor(http): move ErrUnauthorized to http package
* refactor(http): move ErrResourceAccessDenied to http errors
* refactor(http): move security errors to package
* refactor(users): move user errors to users package
* refactor(errors): move single errors to their package
* refactor(schedules): move schedule error to package
* refactor(http): move endpoint error to http package
* refactor(docker): move docker errors to package
* refactor(filesystem): move filesystem errors to package
* refactor(errors): remove portainer.Error
* style(chisel): reorder imports
* fix(stacks): remove portainer.Error
2020-07-08 09:57:52 +12:00
Anthony Lapenna
25103f08f9
feat(api): introduce new datastore interface ( #3802 )
...
* feat(api): introduce new datastore interface
* refactor(api): refactor http and main layers
* refactor(api): refactor http and bolt layers
2020-06-03 11:40:04 +12: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
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
Anthony Lapenna
b24891a6bc
refactor(api): introduce libhttp usage ( #2263 )
2018-09-10 12:01:38 +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