* fix(edge): filtering of edge devices [EE-3210]
fixes [EE-3210]
changes:
- replaces `edgeDeviceFilter` with two filters:
- `edgeDevice`
- `edgeDeviceUntrusted`
these filters will only apply to the edge endpoints in the query (so it's possible to get both regular endpoints and edge devices).
if `edgeDevice` is true, will filter out edge agents which are not an edge device.
false, will filter out edge devices
`edgeDeviceUntrusted` applies only when `edgeDevice` is true. then false (default) will hide the untrusted edge devices, true will show only untrusted edge devices.
fix(edge/job-create): retrieve only trusted endpoints + fix endpoint selector pagination limits onChange
fix(endpoint-groups): remove listing of untrusted edge envs (aka in waiting room)
refactor(endpoints): move filter to another function
feat(endpoints): separate edge filters
refactor(environments): change getEnv api
refactor(endpoints): use single getEnv
feat(groups): show error when failed loading envs
style(endpoints): remove unused endpointsByGroup
* chore(deps): update go to 1.18
* fix(endpoint): filter out untrusted by default
* fix(edge): show correct endpoints
* style(endpoints): fix typo
* fix(endpoints): fix swagger
* fix(admin): use new getEnv function
Co-authored-by: LP B <xAt0mZ@users.noreply.github.com>
* feat(buildinfo): ability to see build info [EE-2252]
* handle dark theme
* feat: add build info to status version
* feat: include ldflags in azure pipeline
* echo shell commands in azure build
* clean up main log
* allow tests to pass
* use data from backend
* allow clicking off modal to dismiss
* add placeholder versions
* refactor
* update button class
* fix modal displaying behind elements
Co-authored-by: Dmitry Salakhov <to@dimasalakhov.com>
* feat(stack): added ui label in env var section
* feat(stack): added ui label in env var advanced section
* feat(stack): added showHelpMessage flag
* feat(stack): show help message when stack created from web editor.
* 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
* feat(internal-auth): ability to set minimum password length [EE-3175]
* pass props to react component
* fixes + WIP slider
* fix slider updating + add styles
* remove nested ternary
* fix slider updating + add remind me later button
* add length to settings + value & onchange method
* finish my account view
* fix slider updating
* slider styles
* update style
* move slider in
* update size of slider
* allow admin to browse to authentication view
* use feather icons instead of font awesome
* feat(settings): add colors to password rules
* clean up tooltip styles
* more style changes
* styles
* fixes + use requiredLength in password field for icon logic
* simplify logic
* simplify slider logic and remove debug code
* use required length for logic to display pwd length warning
* fix slider styles
* use requiredPasswordLength to determine if password is valid
* style tooltip based on theme
* reset skips when password is changed
* misc cleanup
* reset skips when required length is changed
* fix formatting
* fix issues
* implement some suggestions
* simplify logic
* update broken test
* pick min password length from DB
* fix suggestions
* set up min password length in the DB
* fix test after migration
* fix formatting issue
* fix bug with icon
* refactored migration
* fix typo
* fixes
* fix logic
* set skips per user
* reset skips for all users on length change
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
Co-authored-by: Dmitry Salakhov <to@dimasalakhov.com>
* EE-2705 restrict registry edit options for different registry type
* EE-2705 quay and azure registry should not disable authentication
* EE-2705 Resolve conflict
* 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>
* fix(edge-jobs): HTTP 404 on file upload
* fix(edge-jobs): state 'edge job' in message on edge job removal instead of 'stack'
* fix(api/edge-jobs): save changes on edge-jobs update
* feat(password) EE-2690 enforce strong password policy
* feat(password) EE-2690 disable create user button if password is not valid
* feat(password) EE-2690 show force password change warning only when week password is detected
* feat(password) EE-2690 prevent users leave account page by clicking add access token button
Co-authored-by: Simon Meng <simon.meng@portainer.io>
* EE-2128 take agent_sceret into account
* EE-2128 align output code
* EE-2128 fix copy command error
* EE-2128 align code
* EE-2128 fix typo
* Update endpoint.html
remove glint auto changes
* EE-2128 Format html with Prettier
* EE-2128 Adjust UI for dark mode and adopt AGENT_SECRET on k8s automatically
* EE-2128 fix bug created by merge
* EE-2128 Move the initailization of AGENT_SECRET to main.go
* EE-2128 read AGENT_SECRET when settings is initializing
* feat(app/registries): add name uniqueness validation on registry creation
* feat(api/registry): enforce name uniqueness on registry creation
* feat(api/registry): enforce name uniqueness on registry update
* feat(app/registry): enforce name uniqueness on registry update
* 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>
This PR solves the issue that the Portainer instance will be always accessible in certain cases, like `restart: always` setting with docker run, even if the administrator is not created in the first 5 minutes.
The solution is that the user will be redirected to a timeout page when any actions, such as refresh the page and click button, are made after administrator initialisation window(5 minutes) timeout.
* refactor(azure/aci): migrate sidebar to react [EE-2569]
* add test files
* add story
* fix(sidebar): get styles from sidebar
* make suggested changes + update icon story
* use template in second story + change some english
* use camel case in test
* use icon instead of span
* refactor(types): use existing environmentid type
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
* refactor(http): parse axios errors (#6325)
* refactor(home): use endpoint-list as react component [EE-1814] (#6060)
* refactor(home): use endpoint-list as react component
fix(home): add missing features and refactors
- kubebutton
- group name
- poll when endpoint is off
- state management
refactor(endpoints): use stat component
fix(endpoints): add space between items
refactor(endpoints): move stats to components
refactor(endpoints): fetch time
refactor(home): move logic
refactor(home): move fe render logic
refactor(settings): use vanilla js for publicSettings
refactor(kube): remove angular from kube config service
feat(home): add kubeconfig button
feat(home): send analytics when opening kubeconfig modal
fix(home): memoize footer
refactor(home): use react-query for loading
fix(home): show correct control for kubeconfig modal
refactor(home): use debounce
refactor(home): use new components
refactor(home): replace endpoints with environments
refactor(home): move endpoint-list component to home
fix(home): show group name
refactor(home): use switch for environment icon
fix(kubeconfig): fix default case
refactor(axios): use parse axios error
refactor(home): use link components for navigate
fix(home): align azure icon
refactor(home): refactor stats
refactor(home): export envstatusbadge
refactor(home): remove unused bindings
* chore(home): write tests for edge indicator
* chore(home): basic stories for environment item
* style(settings): reformat
* fix(environments): add publicurl
* refactor(home): use table components
* refactor(datatables): merge useSearchBarState
* refactor(home): fetch group in env item
* chore(tests): basic tests
* chore(home): test when no envs
* refactor(tags): use axios for tagService
* refactor(env-groups): use axios for getGroups
* feat(app): ui-state context provider
* refactor(home): create MotdPanel
* refactor(app): create InformationPanel
* feat(endpoints): fetch number of total endpoints
* refactor(app): merge hooks
* refactor(home): migrate view to react [EE-1810]
fixes [EE-1810]
refactor(home): wip use react view
feat(home): show message if no endpoints
refactor(home): show endpoint list
refactor(home): don't use home to manage link
refactor(home): move state
refactor(home): check if edge using util
refactor(home): move inf panels
chore(home): tests
refactor(home): load groups and tags in env-item
refactor(settings): revert publicSettings change
refactor(home): move confirm snapshot method
* fix(home): show tags
* fix(environments): handle missing snapshots
* fix(kube/volumes): fetch pesistent volume claims
* refactor(kube): remove use of endpointProvider
* refactor(endpoints): set current endpoint
* chore(home): add data-cy for tests
* chore(tests): mock axios-progress-bar
* refactor(home): move use env list to env module
* feat(app): sync home view changes with ee
* fix(home): sort page header
* fix(app): fix tests
* chore(github): use yarn cache
* refactor(environments): load list of groups
* chore(babel): remove auto 18n keys extraction
* chore(environments): fix tests
* refactor(k8s/application): use current endpoint
* fix(app/header): add margin to header
* refactor(app): remove unused types
* refactor(app): use rq onError handler
* refactor(home): wrap element with button
* fix(endpoints): fix broken style (release) [EE-2659]
* fix(endpoints): show margin under env var field [EE-2659]
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
* refactor(azure/aci): migrate dashboard view to react [EE-2189]
* move aggregate function to azure utils file
* fix type
* introduce dashboard item component
* add error notificatons
* hide resource groups widget if failed to load
* make dashboard a default export
* revert mistake
* refactor based on suggestions
* use object for error data instead of array
* return unused utils file
* move length calculations out of return statement
* only return first error of resource groups queries
* refactor imports/exports, fix bug with errors & add test
* WIP dashboard tests
* allow mocking multiple resource groups
* test for total number of resource groups
* update lock file to fix lint action issue
* finish dashboard tests
* dashboarditem story
* fix(auth): remove caching of user
* add option for link to dashboard item
* rename dashboard test case to match file
* remove optional link and update storybook
* create aria label based on already provided text
* change param name to be clearer
* fix(templates): EE-2117: show docker-compose app templates when in swarm mode and the user selects 'showContainers
Signed-off-by: Sven Dowideit <sven.dowideit@portainer.io>
* fix(templates): keep original behavior for standalone
* fix(templates): display all templates on Swarm
* refactor(templates): update method name
Co-authored-by: deviantony <anthony.lapenna@portainer.io>
* fix(settings): clear helm url if requested [EE-2494]
fix [EE-2494]
before this PR, helm url would clear when updating settings, if the helm url key wasn't provided.
in this PR, it will be changed only if required
* fix(settings): allow empty helm repo
* chore(deps): run yarn
* fix(settings): set helm repo url
* refactor(storidge): remove Storidge support from backend
* refactor(storidge): remove Storidge support from backend
* refactor(storidge): remove Storidge support from frontend