Chaim Lev-Ari
86ad1c6af1
feat(stacks): scope stack names to endpoint ( #4520 )
...
* 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-02-23 21:18:05 +01:00
Chaim Lev-Ari
50b57614cf
docs(api): document apis with swagger ( #4678 )
...
* 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
2021-02-23 16:21:39 +13:00
Chaim Lev-Ari
9d18d47194
feat(extensions): remove rbac extension ( #4157 )
...
* feat(extensions): remove rbac extension client code
* feat(extensions): remove server rbac code
* remove extensions code
* fix(notifications): remove error
* feat(extensions): remove authorizations service
* feat(rbac): deprecate fields
* fix(portainer): revert change
* fix(bouncer): remove rbac authorization check
* feat(sidebar): remove roles link
* fix(portainer): remove portainer module
2020-08-11 17:41:37 +12:00
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
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
Anthony Lapenna
8057aa45c4
feat(extensions): introduce RBAC extension ( #2900 )
2019-05-24 18:04:58 +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
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
b24891a6bc
refactor(api): introduce libhttp usage ( #2263 )
2018-09-10 12:01:38 +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
23b0d6f1dc
fix(stack): fix an issue with stack migration
2018-06-20 21:02:53 +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