Hao Zhang
a9406764ee
fix(service): webhook vulnerability for passing an invalid image tag EE-2121 ( #6269 )
...
* fix(service): webhook vulnerability for passing an invalid image tag
2022-01-27 08:38:29 +08:00
Chaim Lev-Ari
1b1a50d6b5
fix(app): add github action for linting and formatting [EE-2344] ( #6356 )
2022-01-17 07:53:32 +02:00
Hao Zhang
c5fe994cd2
feat(service): duplication validation for configs and secrets EE-1974 ( #6266 )
...
feat(service): check if configs or secrets are duplicated
2021-12-17 20:22:50 +08:00
Richard Wei
187b66f5cb
feat(frontend): upgrade frontend dependencies DTD-11 ( #6244 )
...
* upgrade webpack, eslint, storybook and other dependencies
2021-12-17 07:52:54 +13:00
Chaim Lev-Ari
eb9f6c77f4
refactor(endpoints): remove endpointProvider from views [EE-1136] ( #5359 )
...
[EE-1136]
2021-12-14 09:34:54 +02:00
cong meng
98972dec0d
feat(webhook) EE-2125 send registry auth haeder when update swarms service via webhook ( #6220 )
...
* feat(webhook) EE-2125 add some helpers to registry utils
* feat(webhook) EE-2125 persist registryID when creating a webhook
* feat(webhook) EE-2125 send registry auth header when executing a webhook
* feat(webhook) EE-2125 send registryID to backend when creating a service with webhook
* feat(webhook) EE-2125 use the initial registry ID to create webhook on editing service screen
* feat(webhook) EE-2125 update webhook when update registry
* feat(webhook) EE-2125 add endpoint of update webhook
* feat(webhook) EE-2125 code cleanup
* feat(webhook) EE-2125 fix a typo
* feat(webhook) EE-2125 fix circle import issue with unit test
Co-authored-by: Simon Meng <simon.meng@portainer.io>
2021-12-07 09:11:44 +13:00
Chaim Lev-Ari
85a6a80722
feat(app): introduce react configurations [EE-1809] ( #5953 )
2021-11-03 12:41:59 +02:00
Marcelo Rydel
edb25ee10d
fix(services): pre fill service registry and image [EE-1769] ( #5798 )
...
fix(services): pre fill service registry and image [EE-1769] (#5798 )
2021-10-14 09:42:10 -03:00
cong meng
6a67e8142d
fix(frontend) prevent notification showing Object Object EE-1745 ( #5778 )
...
* fix(frontend) prevent notification showing Object Object EE-1745
* fix(frontend) fix notification args in wrong order EE-1745
* fix(rbac) add metrics rbac for regular users EE-1745
Co-authored-by: Simon Meng <simon.meng@portainer.io>
2021-10-12 10:37:07 +13:00
LP B
179df06267
feat(app): rework private registries and support private registries in kubernetes EE-30 ( #5131 )
...
* feat(app): rework private registries and support private registries in kubernetes
[EE-30]
feat(api): backport private registries backend changes (#5072 )
* feat(api/bolt): backport bolt changes
* feat(api/exec): backport exec changes
* feat(api/http): backport http/handler/dockerhub changes
* feat(api/http): backport http/handler/endpoints changes
* feat(api/http): backport http/handler/registries changes
* feat(api/http): backport http/handler/stacks changes
* feat(api/http): backport http/handler changes
* feat(api/http): backport http/proxy/factory/azure changes
* feat(api/http): backport http/proxy/factory/docker changes
* feat(api/http): backport http/proxy/factory/utils changes
* feat(api/http): backport http/proxy/factory/kubernetes changes
* feat(api/http): backport http/proxy/factory changes
* feat(api/http): backport http/security changes
* feat(api/http): backport http changes
* feat(api/internal): backport internal changes
* feat(api): backport api changes
* feat(api/kubernetes): backport kubernetes changes
* fix(api/http): changes on backend following backport
feat(app): backport private registries frontend changes (#5056 )
* feat(app/docker): backport docker/components changes
* feat(app/docker): backport docker/helpers changes
* feat(app/docker): backport docker/views/container changes
* feat(app/docker): backport docker/views/images changes
* feat(app/docker): backport docker/views/registries changes
* feat(app/docker): backport docker/views/services changes
* feat(app/docker): backport docker changes
* feat(app/kubernetes): backport kubernetes/components changes
* feat(app/kubernetes): backport kubernetes/converters changes
* feat(app/kubernetes): backport kubernetes/models changes
* feat(app/kubernetes): backport kubernetes/registries changes
* feat(app/kubernetes): backport kubernetes/services changes
* feat(app/kubernetes): backport kubernetes/views/applications changes
* feat(app/kubernetes): backport kubernetes/views/configurations changes
* feat(app/kubernetes): backport kubernetes/views/configure changes
* feat(app/kubernetes): backport kubernetes/views/resource-pools changes
* feat(app/kubernetes): backport kubernetes/views changes
* feat(app/portainer): backport portainer/components/accessManagement changes
* feat(app/portainer): backport portainer/components/datatables changes
* feat(app/portainer): backport portainer/components/forms changes
* feat(app/portainer): backport portainer/components/registry-details changes
* feat(app/portainer): backport portainer/models changes
* feat(app/portainer): backport portainer/rest changes
* feat(app/portainer): backport portainer/services changes
* feat(app/portainer): backport portainer/views changes
* feat(app/portainer): backport portainer changes
* feat(app): backport app changes
* config(project): gitignore + jsconfig changes
gitignore all files under api/cmd/portainer but main.go and enable Code Editor autocomplete on import ... from '@/...'
fix(app): fix pull rate limit checker
fix(app/registries): sidebar menus and registry accesses users filtering
fix(api): add missing kube client factory
fix(kube): fetch dockerhub pull limits (#5133 )
fix(app): pre review fixes (#5142 )
* fix(app/registries): remove checkbox for endpointRegistries view
* fix(endpoints): allow access to default namespace
* fix(docker): fetch pull limits
* fix(kube/ns): show selected registries for non admin
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
chore(webpack): ignore missing sourcemaps
fix(registries): fetch registry config from url
feat(kube/registries): ignore not found when deleting secret
feat(db): move migration to db 31
fix(registries): fix bugs in PR EE-869 (#5169 )
* fix(registries): hide role
* fix(endpoints): set empty access policy to edge endpoint
* fix(registry): remove double arguments
* fix(admin): ignore warning
* feat(kube/configurations): tag registry secrets (#5157 )
* feat(kube/configurations): tag registry secrets
* feat(kube/secrets): show registry secrets for admins
* fix(registries): move dockerhub to beginning
* refactor(registries): use endpoint scoped registries
feat(registries): filter by namespace if supplied
feat(access-managment): filter users for registry (#5191 )
* refactor(access-manage): move users selector to component
* feat(access-managment): filter users for registry
refactor(registries): sync code with CE (#5200 )
* refactor(registry): add inspect handler under endpoints
* refactor(endpoint): sync endpoint_registries_list
* refactor(endpoints): sync registry_access
* fix(db): rename migration functions
* fix(registries): show accesses for admin
* fix(kube): set token on transport
* refactor(kube): move secret help to bottom
* fix(kuberentes): remove shouldLog parameter
* style(auth): add description of security.IsAdmin
* feat(security): allow admin access to registry
* feat(edge): connect to edge endpoint when creating client
* style(portainer): change deprecation version
* refactor(sidebar): hide manage
* refactor(containers): revert changes
* style(container): remove whitespace
* fix(endpoint): add handler to registy on endpointService
* refactor(image): use endpointService.registries
* fix(kueb/namespaces): rename resource pool to namespace
* fix(kube/namespace): move selected registries
* fix(api/registries): hide accesses on registry creation
Co-authored-by: LP B <xAt0mZ@users.noreply.github.com>
refactor(api): remove code duplication after rebase
fix(app/registries): replace last registry api usage by endpoint registry api
fix(api/endpoints): update registry access policies on endpoint deletion (#5226 )
[EE-1027]
fix(db): update db version
* fix(dockerhub): fetch rate limits
* fix(registry/tests): supply restricred context
* fix(registries): show proget registry only when selected
* fix(registry): create dockerhub registry
* feat(db): move migrations to db 32
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
2021-07-14 21:15:21 +12:00
itsconquest
a5e8cf62d2
feat(UX): introduce new env variables UI ( #4175 )
...
* feat(app): introduce new env vars ui
feat(app): introduce new env vars ui
feat(UX): WIP new env variables UI
feat(UX): update button and placeholder
feat(UX): mention .env file in message
feat(UX): allow add/remove value & load correctly
feat(UX): restrict filesize to 1MB
feat(UX): vertical align error message
feat(UX): fill UI from file & when switching modes
feat(UX): strip un-needed newline character
feat(UX): introduce component to other views
feat(UX): fix title alignment
feat(UX): only populate editor on mode switch when key exists
feat(UX): prevent trimming of whitespace on values
feat(UX): change editor to async
feat(UX): add message describing use
feat(UX): Refactor variable text to editorText
refactor(app): rename env vars controller
refactor(app): move env var explanation to parent
refactor(app): order env var panels
refactor(app): move simple env vars mode to component
refactor(app): parse env vars
refactor(app): move styles to css
refactor(app): rename functions
refactor(container): parse env vars
refactor(env-vars): move utils to helper module
refactor(env-vars): use util function for parse dot env file
fix(env-vars): ignore comments
refactor(services): use env vars utils
refactor(env-vars): rename files
refactor(env-panel): use utils
style(stack): revert EnvContent to Env
style(service): revert EnvContent to Env
style(container): revert EnvContent to Env
refactor(env-vars): support default value
refactor(service): use new env var component
refactor(env-var): use one way data flow
refactor(containers): remove unused function
* fix(env-vars): prevent using non .env files
* refactor(env-vars): move env vars items to a component
* feat(app): fixed env vars form validation in Stack
* feat(services): disable env form submit if invalid
* fix(app): show key pairs correctly
* fix(env-var): use the same validation as with kubernetes
* fix(env-vars): parse env var
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
Co-authored-by: Felix Han <felix.han@portainer.io>
2021-06-14 18:59:07 +12:00
Chaim Lev-Ari
0ac6274712
fix(docker/services): create a service webhook ( #5052 )
2021-05-11 10:59:42 +12:00
Chaim Lev-Ari
f5aa6c4dc2
feat(docker): show docker pull rate limits ( #4666 )
...
* feat(dockerhub): introduce local status endpoint
* feat(proxy): rewrite request with dockerhub credentials
* feat(endpoint): check env type
* feat(endpoint): check for local endpoint
* feat(docker): introduce client side service to get limits
* feat(container): add info about rate limits in container
* feat(dockerhub): load rate limits just for specific endpoints
* feat(images): show specific dockerhub messages for admin
* feat(service-create): show docker rate limits
* feat(service-edit): show rate limit messages
* fix(images): fix loading of page
* refactor(images): move rate limits check to container
* feat(kubernetes): proxy agent requests
* feat(kubernetes/apps): show pull limits in application creation
* refactor(image-registry): move warning to end of field
* fix(image-registry): show right message for admin
* fix(images): silently fail when loading rate limits
* fix(kube/apps): use new rate limits comp
* fix(images): move rate warning to end
* fix(registry): move search to right place
* fix(service): remove service warning
* fix(endpoints): check if kube endpoint is local
2021-03-24 19:27:32 +01:00
Chaim Lev-Ari
6c8276c65c
fix(service-details): clear volume source when changing type ( #4671 )
2021-03-02 23:10:34 +01:00
Chaim Lev-Ari
c72d07441d
feat(services): hide webhook interface ( #4794 )
2021-02-24 23:08:22 +01:00
Alice Groux
387bbeceba
feat(app): sort environment variables ( #4815 )
...
* feat(app): sort environment variables
* feat(k8s/application): improve the sorting for the env variables when creating/editing application
* feat(k8s/application): update the removal of the env var
* feat(docker/service): improve the sorting order for env var in service edition view
2021-02-18 14:46:26 +01:00
jfadelhaye
bc459b55ae
Merge pull request #4766 from portainer/fix/GH/3068-fix-auto-refresh-collapse
...
fix(docker/services): save the settings of the table for auto refresh
2021-02-14 22:49:52 +01:00
Alice Groux
81b4672076
feat(docker/services): update the information message about default location of secrets ( #4816 )
2021-02-12 14:27:02 +13:00
Alice Groux
f7e6ba544e
fix(docker/service): enable apply change button when user make change on mounts section ( #4645 )
2021-02-11 16:38:25 +13:00
Chaim Lev-Ari
46dec01fe3
feat(endpoint): relocate docker security settings ( #4657 )
...
* feat(endpoint): migrate security settings to endpoint
* feat(endpoint): check for specific endpoint settings
* feat(endpoint): check security settings
* feat(docker): add config page
* feat(endpoint): save settings page
* feat(endpoints): disable features when not agent
* feat(sidebar): hide docker settings for regular user
* fix(docker): small fixes in configs
* fix(volumes): hide browse button for non admins
* refactor(docker): introduce switch component
* refactor(components/switch): seprate label from switch
* feat(app/components): align switch label
* refactor(app/components): move switch css
* fix(docker/settings): add ngijnect
* feat(endpoints): set default security values
* style(portainer): sort types
* fix(endpoint): rename security heading
* fix(endpoints): update endpoints settings
2021-02-09 21:09:06 +13:00
alice groux
51d584bb50
fix(docker/services): get datas from local storage when auto refresh is enable
2021-01-27 16:10:49 +01:00
yi-portainer
2b257d2785
Squashed commit of the following 2.0.1 release fixes:
...
commit f90d6b55d6
Author: Chaim Lev-Ari <chiptus@users.noreply.github.com>
Date: Wed Jan 13 00:56:19 2021 +0200
feat(service): clear source volume when change type (#4627 )
* feat(service): clear source volume when change type
* feat(service): init volume source to the correct value
commit 1b82b450d7
Author: Yi Chen <69284638+yi-portainer@users.noreply.github.com>
Date: Thu Jan 7 14:47:32 2021 +1300
* bump the APIVersion to 2.0.1 (#4688 )
commit b78d804881
Author: Yi Chen <69284638+yi-portainer@users.noreply.github.com>
Date: Wed Dec 30 23:03:43 2020 +1300
Revert "chore(build): bump Kompose version (#4475 )" (#4676 )
This reverts commit 380f106571
.
Co-authored-by: Stéphane Busso <sbusso@users.noreply.github.com>
commit 51b72c12f9
Author: Anthony Lapenna <anthony.lapenna@portainer.io>
Date: Wed Dec 23 14:45:32 2020 +1300
fix(docker/stack-details): do not display editor tab for external stack (#4650 )
commit 58c04bdbe3
Author: Yi Chen <69284638+yi-portainer@users.noreply.github.com>
Date: Tue Dec 22 13:47:11 2020 +1300
+ silently continue when downloading artifacts in windows (#4637 )
commit a6320d5222
Author: cong meng <mcpacino@gmail.com>
Date: Tue Dec 22 13:38:54 2020 +1300
fix(frontend) unable to retrieve config map error when trying to manage newly created resource pool (ce#180) (#4618 )
* fix(frontend) unable to retrieve config map error when trying to manage newly created resource pool (ce#180)
* fix(frontend) rephrase comments (#4629 )
Co-authored-by: Stéphane Busso <sbusso@users.noreply.github.com>
Co-authored-by: Simon Meng <simon.meng@portainer.io>
Co-authored-by: Stéphane Busso <sbusso@users.noreply.github.com>
2021-01-21 00:04:15 +13:00
Alice Groux
4bc958f865
feat(app/logs): add download button on container logs and service logs views ( #4529 )
2020-12-16 12:30:16 +13:00
Chaim Lev-Ari
067257df2b
fix(services): prevent adding volume without source and target ( #4538 )
...
* feat(services): check that target mounts are non empty
* feat(services): prevent creating service when no source
* refactor(services): remove ng-form
* fix(services): check that every volume is valid
2020-12-14 16:27:05 +13:00
Chaim Lev-Ari
7329ea91ca
fix(app): set defaults for select boxes ( #4235 )
...
* fix(container): select runtime by default
* fix(network): set default network config
* fix(container): set default network container placeholder
* fix(services): default service mount
2020-08-20 13:02:25 +12: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
Maxime Bajeux
d85708f6ea
feat(docker/services): Add the ability to edit a service networks ( #3957 )
...
* feat(services): update services details view
* feat(services): Add the ability to edit a service networks
* feat(services): show ingress network
* refactor(services): use lodash
* feat(networks): disable sending when updating
* feat(networks): limit size of select
* feat(services): update networks only when network is new
* feat(services): prevent submitting of empty networks
* feat(services): show unique networks
* fix(service): use empty array default for networks
* feat(service): show only swarm networks
* feat(services): show placeholder for network
* feat(services): show spaced select box
* feat(services): show macvlan ip
* feat(service): fetch the network subnet
* feat(services): show empty ip when network is not connected
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
2020-08-07 11:11:47 +12:00
Chaim Lev-Ari
93d8c179f1
feat(containers): enforce disable bind mounts ( #4110 )
...
* feat(containers): enforce disable bind mounts
* refactor(docker): move check for endpoint admin to a function
* feat(docker): check if service has bind mounts
* feat(services): allow bind mounts for endpoint admin
* feat(container): enable bind mounts for endpoint admin
* fix(services): fix typo
2020-07-29 21:10:46 +12:00
Chaim Lev-Ari
b02749f877
feat(auth): add custom user timeout ( #3871 )
...
* feat(auth): introduce new timeout constant
* feat(auth): pass timeout from handler
* feat(auth): add timeout selector to auth settings view
* feat(settings): add user session timeout property
* feat(auth): load user session timeout from settings
* fix(settings): use correct time format
* feat(auth): remove no-auth flag
* refactor(auth): move timeout mgmt to jwt service
* refactor(client): remove no-auth checks from client
* refactor(cli): remove defaultNoAuth
* feat(settings): create settings with default user timeout value
* refactor(db): save user session timeout always
* refactor(jwt): return error
* feat(auth): set session timeout in jwt service on update
* feat(auth): add description and time settings
* feat(auth): parse duration
* feat(settings): validate user timeout format
* refactor(settings): remove unneccesary import
2020-06-09 21:55:36 +12:00
Maxime Bajeux
3de533042d
feat(networks): add ipv6 support ( #3717 )
...
* feat(portainer-core): add ipv6 support
* feat(networks): add few changes
* refacto(networks): write regex once
* fix(networks): fix indentation
* refacto(networks): use foreach instead map and pluralize ipvxconfig
* refacto(networks): pluralize ipvxconfig
* feat(networks): support ipv6 with ports
* feat(networks): add an explicit error message
* fix(networks): hide ipv6 configuration when creating macvlan
2020-04-28 12:34:54 +12:00
Chaim Lev-Ari
bba622a500
chore(eslint): add rule to sort imports ( #3715 )
...
* chore(eslint): add plugin to sort imports
* chore(eslint): sort imports
* chore(eslint): add eslint-config-prettier
2020-04-15 11:46:34 +12:00
Chaim Lev-Ari
cf5056d9c0
chore(project): add prettier for code format ( #3645 )
...
* chore(project): install prettier and lint-staged
* chore(project): apply prettier to html too
* chore(project): git ignore eslintcache
* chore(project): add a comment about format script
* chore(prettier): update printWidth
* chore(prettier): remove useTabs option
* chore(prettier): add HTML validation
* refactor(prettier): fix closing tags
* feat(prettier): define angular parser for html templates
* style(prettier): run prettier on codebase
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
2020-04-11 09:54:53 +12:00
William
cc8d3c8639
refactor(UX): disable/remove uneeded UI elements ( #3530 )
...
* refactor(UX): disable/remove uneeded UI elements
* refactor(UX): rm missed th in container network
* refactor(UX): minor formatting improvement
2020-01-31 16:49:59 +01:00
xAt0mZ
e19bc8abc7
fix(app): registry push-pull features overhaul ( #3393 )
...
* feat(registry): registry or direct url selector
* feat(app): push pull container creation
* feat(app): push pull container duplicate
* feat(app): push pull container details recreate
* feat(app): push pull container details commit
* feat(app): push pull images
* feat(app): push pull image tag
* feat(app): push pull image push
* feat(app): push pull image pull
* feat(app): push pull service creation
* feat(app): push pull templates create container
* feat(app): push pull templates create stacks
* feat(app): push pull template edit
* feat(app): push pull service details update
* fix(app): refactor registry selector + registry auto select
* feat(app): remove autocomplete on registry selector
* style(image-registry): reword simple/advanced mode
* Revert "feat(app): remove autocomplete on registry selector"
This reverts commit 97ec2ddd62
.
* refactor(registry-selector): reverse registry and image fields
* feat(app): autocomplete on registry selector
* feat(registry-selector): change gitlab registry autocomplete
* feat(registry-selector): autocomplete for dockerhub
* feat(registry-selector): gitlab url based on locked value instead of name
* fix(registry-selector): gitlab registries URL are not modified anymore
* fix(registry-selector): change gitlab image autofill on duplicate
* fix(registry-selector): gitlab registries now only suggest their own images and not all from gitlab
* fix(registry-selector): psuh pull issues with gitlab registries
* fix(registry-selector): dockerhub registry selection on duplicate for dockerhub images
* fix(templates): registry retrieval for template
* feat(images): add autocomplete on image pull panel
* fix(registry-selector): add latest tag when no tag is specified
* fix(registry-selector): latest tag now applied for non gitlab registries
2019-11-28 11:36:39 +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
7ebb3e62dd
fix(services): mounted volumes are now persisted and displayed correctly ( #3114 )
2019-09-10 10:57:36 +12:00
xAt0mZ
52704e681b
feat(services): rollback service capability ( #3057 )
...
* feat(services): rollback service capability
* refactor(services): notification reword
Co-Authored-By: William <william.conquest@portainer.io>
* refactor(services): remove TODO comment + add note on rollback capability
* fix(services): service update rpc error version out of sync
* feat(services): confirmation modal on rollback
* feat(services): rpc error no previous spec message
2019-09-10 10:56:57 +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
xAt0mZ
03c82cac69
feat(datatables): auto refresh on datatables ( #2974 )
...
* feat(datatables): auto refresh on datatables
* feat(datatables): auto refresh implementation on docker related resources
2019-07-22 12:54:59 +02:00
Anthony Lapenna
8057aa45c4
feat(extensions): introduce RBAC extension ( #2900 )
2019-05-24 18:04:58 +12:00
Chaim Lev-Ari
45113a7ff4
refactor(app): introduce webpack and babel ( #2407 )
...
* feat(agent): add new host page
* feat(agent): convert volume-browser to files-datatable
* fix(agent): browse folders in file-datatable
* feat(engine-details): replace engine view with host view
* feat(engine-details): remove old panels
* feat(engine-details): add basic engine-details-panel component
* feat(engine-details): pass details to the different components
* feat(engine-details): replace host-view with host-overview
* feat(engine-details): add commaseperated filter
* feat(engine-details): add host-view container component
* feat(engine-details): add host-details component
* feat(engine-details): build host details object
* feat(engine-details): format engine version
* feat(engine-details): get details for one node
* feat(engine-details): pass is-agent from view
* feat(engine-details): replace old node view with a new component
* feat(engine-details): add swarm-node-details component
* feat(engine-details): remove isSwarm binding
* feat(engine-details): remove node-details and include in parent
* feat(engine-details): add labels-table component
* feat(engine-details): add update node service
* feat(engine-details): add update label functionality
* style(engine-details): remove whitespaces
* feat(engine-details): remove old node page
* feat(engine-details): pass is agent to host details
* feat(host-details): hide missing info
* feat(host-details): update node availability
* style(host-details): remove obsolete event object
* feat(host-details): fix labels not sending
* feat(host-details): remove flags for hiding data
* feat(host-details): create mock call to server for agent host info
* style(host-details): fix spelling mistake in filter's name
* feat(host-details): get info from agent
* feat(host-details): hide engine labels when empty
* feat(node-details): move labels table and save button
* feat(host-info): add different urls for refresh
* feat(host-details): show disk/devices info for agent
* feat(host-view): add loading indicator to devices-panel
* feat(host-details): add loading indicator to disks panel
* feat(agent): fix browse volume
* feat(agent): browse files
* feat(agent): enable rename
* feat(agent): download file
* fix(agent): download file from root
* feat(agent): delete file
* style(agent): remove whitespaces
* fix(agent): fix link on node browser
* feat(agent): basic file uploader
* feat(agent): add basic file upload
* fix(volume-browser): move volume id to query params
* feat(node-browser): moved uploader into browser
* feat(node-browser): add upload spinner
* feat(agent): browse files relative to root
* feat(build): add webpack build config
* feat(build): add missing imports
* feat(webpack): add missing imports
* feat(build): enable eslint on build
* feat(build): add webpack notifier
* feat(build): clean terminal on build
* feat(build): import all globals
* feat(build): add angular import
* feat(build): fix styles
* feat(build): load favicons
* feat(build): load css before script
* feat(webpack): split vendors css and js to a different bundle
* feat(webpack): import angular in all files
* feat(webpack): remove eslint global config
* feat(webpack): add webpack clean dist
* feat(webpack): fix styling issues
* refactor(webpack): remove empty controllers
* refactor(webpack): optimize moment
* refactor(webpack): add bundle analyzer
* feat(webpack): add babel
* refactor(webpack): optimize lodash
* refactor(toastr): update toastr
* feat(webpack): create basic production and dev config
* fix(webpack): fix production config
* fix(webpack): fix html templates url
* refactor(webpack): remove angular imports
* refactor(webpack): remove more angular imports
* refactor(webpack): return angular to entry file
* style(webpack): remove comments from config
* fix(hosts): remove browse button
* fix(webpack): import lodash
* fix(webpack): import missing htmls
* feat(webpack): reduce lodash size
* feat(webpack): config grunt to use webpack
* feat(webpack): add postcss
* chore(codeclimate): use eslint-5 channel
* feat(deps): upgrade from lodash to lodash-es
* fix(webpack): fix bug with lodash
* chore(build): add build client script
* fix(webpack): fix missing jsyaml reference
* refactor(webpack): seperate builds of img files
* chore(build): add a way to check times of webpack build
* feat(webpack): add dev server
* fix(webpack): fix css output name
* chore(webpack): optimize images
* chore(webpack): add node env
* fix(build): copy templates on release
* chore(webpack): set env NODE_ENV
* feat(webpack): set NODE_ENV on production builds
* fix(extensions): set image path
* refactor(css): move vendor css to js import
* style(app): remove whitespaces
* fix(build-system): allow DevOps pipeline to leverage webpack (#2670 )
* Update devopsbuild task to use webpack & remove AppVeyor environment var
* Added -Force to replace the existing dist folder
* Removed Test-Path
* dep(build-system): add angularjs-annotate to webpack + fix on imports
* Merge branch 'develop' into webpack
* refactor(app): webpack aliases for imports + async / await dep + start refactor
* style(extensions): use develop version of the view
* fix(app): fix several issues introduced by webpack migration
* fix(webpack): fix ng-include not loading templates with webpack
* Fix Windows CI with Webpack (#2782 )
* fix(configs): refactor broke configs creation and list views
* fix(build-system): update build_binary_devops for Windows
2019-03-21 18:46:49 +13:00
DevHugo
50a3b08209
feat(app): add driver name in the volume selector for container/service creation ( #2534 )
...
* Feat(containers): add driver name in the volume selector
* Feat(services): add driver name in the volume selector
2019-01-17 11:28:40 +13:00
pc
8df64031e8
feat(log-viewer): change line count default to 100 and add a since parameter ( #2377 )
...
* chore(log-viewer): add the ability to use`since` parameter #1942
https://github.com/portainer/portainer/issues/1942#issuecomment-430246378
* chore(log-viewer): change lineCount to 100 #1942
https://github.com/portainer/portainer/issues/1942#issuecomment-430246378
* fix(log-viewer): js syntax typo for `;` and `'`
forget to lint the code, reported by codeclimate
* fix(log-viewer): use mementjs to format timestamp
1. use moment lib instead of define a function in filter.js(not the right place for this function, removed)
2. set sinceTimestamp init value to `24 hours ago`, as we just need to focus on the relative latest logs after the log-viewer loading, not all the logs(to speedup the process)
3. use moment().unix() to convert the `sinceTimestamp` to local unix timestamp(not utc)
* chore(log-viewer): add the ability to select the datetime for `since`
* chore(log-viewer): add the ability to fetch logs from specific time
2018-10-29 17:49:35 +13:00
Ricardo Cardona Ramirez
fe6ca042f3
feat(ux): Alphabetically sort configs and secrets in service details/creation ( #2396 )
...
* fix(sorting): Alphabetically sort configs in service details select box
* fix(sorting): Alphabetically sort configs and secrets for service creation
2018-10-28 15:39:09 +13:00
Ricardo Cardona Ramirez
575735a6f7
feat(ux): sort networks alphabetically in network selection dropdowns ( #2326 )
...
* Sort network lists
2018-10-04 12:04:38 +13: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
Chaim Lev-Ari
e58acd7dd6
* chore(eslint): update esllint and remove unused variables
...
* chore(eslint-config): change no-unused-vars to warn
* chore(eslint): remove unused variables
* chore(eslint): allow unused globals
* fixup! chore(eslint): allow unused globals
* chore(eslint): remove commented unused vars
* fixup! chore(eslint): remove commented unused vars
2018-08-22 17:33:06 +02:00
Anthony Lapenna
cdf79c731b
feat(ux): always display search bar in datatables ( #2034 )
2018-07-11 16:18:44 +02:00
Anthony Lapenna
61c285bd2e
feat(templates): introduce templates management ( #2017 )
2018-07-03 20:31:02 +02:00
Anthony Lapenna
61c74e22f0
feat(services): add the ability to pull latest image when updating a … ( #1984 )
...
* feat(services): add the ability to pull latest image when updating a service
* feat(services): update version header value
* refactor(services): remove TODO
* feat(services): rollback version header value to 1.29
2018-06-20 15:53:58 +02:00