* fix(logging): default to pretty logging EE-4371
* feat(app/logs): prettify stack traces in JSON logs
* feat(nomad/logs): prettify JSON logs in log viewer
* feat(kubernetes/logs): prettigy JSON logs in log viewers
* feat(app/logs): format and color zerolog prettified logs
* fix(app/logs): pre-parse logs when they are double serialized
Co-authored-by: andres-portainer <andres-portainer@users.noreply.github.com>
Co-authored-by: LP B <xAt0mZ@users.noreply.github.com>
* fix(stacks): hide stacks in sidebar EE-3683
* fix(stacks): for unauth, take the user to the dashboard
* fix(stacks): block the user from stack details EE-3683
* fix(stacks): disable stack managment for non admins
* 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>
* fix(migration): close the database before running backups
On certain filesystems, particuarly NTFS when a network mounted windows
file server is used to store portainer's database, you are unable to
copy the database while it is open. To fix this we simply close the
database and then re-open it after a backup.
* handle close and open errors
* dont return error on nil
* 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>
* refactor(docker): strongly type snapshot [EE-3256]
fixes [EE-3256]
* fix(endpoints): return empty from association api
* refactor(docker): ignore raw snapshot for swagger
The default expiration time of 8 hours does not make sense in the
context of the docker desktop extension. This adds a new feature flag
which can be enabled with `export DOCKER_EXTENSION=1` and when
present will set the expiration time to 99 years.
I've set this flag in the docker-compose.yml we use when building our
docker extension.
* 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.