* refactor(sidebar): migrate sidebar to react [EE-2907]
fixes [EE-2907]
feat(sidebar): show label for help
fix(sidebar): apply changes from ddExtension
fix(sidebar): resolve conflicts
style(ts): add explanation for ddExtension
fix(sidebar): use enum for status
refactor(sidebar): rename to EdgeComputeSidebar
refactor(sidebar): removed the need of `ident` prop
style(sidebar): add ref for mobile breakpoint
refactor(app): document testing props
refactor(sidebar): use single sidebar item
refactor(sidebar): use section for nav
refactor(sidebar): rename sidebarlink to link
refactor(sidebar): memoize menu paths
fix(kubectl-shell): infinite loop on hooks dependencies
refactor(sidebar): use authorized element
feat(k8s/shell): track open shell
refactor(k8s/shell): remove memoization
refactor(settings): move settings queries to queries
fix(sidebar): close sidebar on mobile
refactor(settings): use mutation helpers
refactor(sidebar): remove memo
refactor(sidebar): rename sidebar item for storybook
refactor(sidebar): move to react
gprefactor(sidebar): remove dependence on EndProvider
feat(environments): rename settings type
feat(kube): move kubeconfig button
fix(sidebar): open submenus
fix(sidebar): open on expand
fix(sibebar): show kube shell correctly
* fix(sidebar): import from react component
* chore(tests): fix missing prop
* Initial extension build
* Add auto login
fix auto auth
add some message
Add extension version
Double attempt to login
Add auto login from jwt check
Add autologin on logout
revert sidebar
Catch error 401 to relogin
cleanup login
Add password generator
Hide User block and collapse sidebar by default
hide user box and toggle sidebar
remove defailt dd
Integrate extension to portainer
Move extension to build
remove files from ignore
Move extension folder
fix alpine
try to copy folder
try add
Change base image
move folder extension
ignore folder build
Fix
relative path
Move ext to root
fix image name
versioned index
Update extension on same image
Update mod
* fix kubeshell baseurl
* Fix kube shell
* move build and remove https
* Tidy mod
* Remove space
* Fix hash test
* Password manager
* change to building locally
* Restore version variable and add local install command
* fix local dev image + hide users & auth
* Password manageListen on locahost onlyr
* FIxes base path
* Hide only username
* Move default to constants
* Update app/portainer/components/PageHeader/HeaderContent.html
Co-authored-by: Chaim Lev-Ari <chiptus@users.noreply.github.com>
* fix 2 failing FE tests [EE-2938]
* remove password autogeneration from v1
* fix webhooks
* fix docker container console and attach
* fix default for portainer IP
* update meta, dockerfile and makefile for new ver
* fix basepath in kube and docker console
* revert makefile changes
* add icon back
* Add remote short cut command
* make local methods the default
* default to 0.0.0 for version for local development
* simplify make commands
* small build fixes
* resolve conflicts
* Update api/filesystem/write.go
Co-authored-by: Chaim Lev-Ari <chiptus@users.noreply.github.com>
* use a more secure default pass
Co-authored-by: itsconquest <william.conquest@portainer.io>
Co-authored-by: Chaim Lev-Ari <chiptus@users.noreply.github.com>
* feat(registries): allow non-admin users to see environment registries
* remove unused function
* fix error message
* fix test
* fix imports order
* feat(registry): check access first, add parameters name
* use registryID
* fix(sidebar): allow standard users to see endpoint registries view
Co-authored-by: LP B <xAt0mZ@users.noreply.github.com>
* refactor(storidge): remove Storidge support from backend
* refactor(storidge): remove Storidge support from backend
* refactor(storidge): remove Storidge support from frontend
* 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>
* remove unuse component from ce (#5930)
* update wording to Change Window
Co-authored-by: Richard Wei <54336863+WaysonWei@users.noreply.github.com>
Co-authored-by: waysonwei <degui.wei@gmail.com>
* fix(registry) EE-1861 improve registry selection (#5899)
* fix(registry) EE-1861 hide anonymous dockerhub registry if user has an authenticated one
* fix(registry) EE-1861 pick up a best match dockerhub registry
* fix(registry) EE-1861 set the anonymous registry as default if it is shown
* fix(registry) EE-1861 refactor how to match registry
Co-authored-by: Simon Meng <simon.meng@portainer.io>
* fix(registry) EE-1861 fail to select registry with same name
* fix(registry) EE-1861 show registry modal when pull and push image
* fix(registry) EE-1861 cleanup code
Co-authored-by: Simon Meng <simon.meng@portainer.io>
* fix(app):fix additional not save warning EE-799
* fix additional warning when user leave page
* fix additional warning when user leave page in buildImageController.js
* fix docker build controller additional warning message
* fix changes required from reviews
* - refactored ondestroy hook function to align it closer to (below) oninit
- removed duplicated hook func duplication in configurationController
Co-authored-by: zees-dev <dev.786zshan@gmail.com>
* 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>
* 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
* feat(app): when leaving a view with unsaved changed, a modal prompt the user with a confirmation message
feat(app): when leaving a view with unsaved changes, a modal prompt the user with a confirmation message
* feat(app/web-editor): fix the modal behaviour when editing a stack details
* feat(app/web-editor): add a reusable function confirmWebEditorDiscard in modal service
* feat(docker/stack): fix missing dependency
* 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
* 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
* fix(container): select runtime by default
* fix(network): set default network config
* fix(container): set default network container placeholder
* fix(services): default service mount
* 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>
* 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
* feat(settings): add info about container edit disable
* feat(settings): set security settings
* feat(containers): hide recreate button when setting is enabled
* feat(settings): rephrase security notice
* fix(settings): save allowHostNamespaceForRegularUsers to state
* feat(settings): introduce settings to allow/disable
* feat(settings): update the setting
* feat(docker): prevent user from using caps if disabled
* refactor(stacks): revert file
* style(api): remove portainer ns
* feat(stacks): add a setting to disable the creation of stacks for non-admin users
* feat(settings): introduce a setting to prevent non-admin from stack creation
* feat(settings): update stack creation setting
* feat(settings): fail stack creation if user is non admin
* fix(settings): save preventStackCreation setting to state
* feat(stacks): disable add button when settings is enabled
* format(stacks): remove line
* feat(stacks): setting to hide stacks from users
* feat(settings): rename disable stacks setting
* refactor(settings): rename setting to disableStackManagementForRegularUsers
* feat(settings): hide stacks for non admin when settings is set
* refactor(settings): replace disableDeviceMapping with allow
* feat(dashboard): hide stacks if settings disabled and non admin
* refactor(sidebar): check if user is endpoint admin
* feat(settings): set the default value for stack management
* feat(settings): rename field label
* fix(sidebar): refresh show stacks state
* fix(docker): hide stacks when not admin
* feat(settings): add setting to disable device mapping for regular users
* feat(settings): introduce device mapping service
* feat(containers): hide devices field when setting is on
* feat(containers): prevent passing of devices when not allowed
* feat(stacks): prevent non admin from device mapping
* feat(stacks): disallow swarm stack creation for user
* refactor(settings): replace disableDeviceMapping with allow
* fix(stacks): remove check for disable device mappings from swarm
* feat(settings): rename field to disable
* feat(settings): supply default value for disableDeviceMapping
* feat(container): check for endpoint admin
* style(server): sort imports