* 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>
* feat(endpoints): add filter by tagIds
* refactor(endpoints): change endpoints service to query by tagIds
* fix(endpoints): filter by tags
* feat(endpoints): filter by endpoint groups tags
* feat(endpoints): filter by ids
* feat(tags): add button to save tag when doesn't exist
* feat(endpoints): allow the creating of tags in endpoint edit
* feat(groups): allow user to create tags in create group
* feat(groups): allow user to create tags in edit group
* feat(endpoint): allow user to create tags from endpoint create
* feat(tags): allow the creation of a new tag from dropdown
* feat(tag): replace "add" with "create"
* feat(tags): show tags input when not tags
* feat(tags): hide create message when not allowed
* refactor(tags): replace component controller with class
* refactor(tags): replace native methods with lodash
* refactor(tags): remove unused onChangeTags function
* refactor(tags): remove on-change binding
* style(tags): remove white space
* refactor(endpoint-groups): move controller to separate file
* fix(groups): allow admin to create tag in group form
* refactor(endpoints): wrap async function with try catch and $async
* style(tags): wrap arrow function args with parenthesis
* refactor(endpoints): return $async functions
* refactor(tags): throw error in the format Notification expects
* refactor(tags): replace tags with tag ids
* refactor(tags): revert tags to be strings and add tagids
* refactor(tags): enable search by tag in home view
* refactor(tags): show endpoint tags
* refactor(endpoints): expect tagIds on create payload
* refactor(endpoints): expect tagIds on update payload
* refactor(endpoints): replace TagIds to TagIDs
* refactor(endpoints): set endpoint group to get TagIDs
* refactor(endpoints): refactor tag-selector to receive tag-ids
* refactor(endpoints): show tags in multi-endpoint-selector
* chore(tags): revert reformat
* refactor(endpoints): remove unneeded bind
* refactor(endpoints): change param tags to tagids in endpoint create
* refactor(endpoints): remove console.log
* refactor(tags): remove deleted tag from endpoint and endpoint group
* fix(endpoints): show loading label while loading tags
* chore(go): remove obsolete import labels
* chore(db): add db version comment
* fix(db): add tag service to migrator
* refactor(db): add error checks in migrator
* style(db): sort props in alphabetical order
* style(tags): fix typo
Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io>
* refactor(endpoints): replace tagsMap with tag string representation
* refactor(tags): rewrite tag delete to be more readable
* refactor(home): rearange code to match former style
* refactor(tags): guard against missing model in tag-selector
* refactor(tags): rename vars in tag_delete
* refactor(tags): allow any authenticated user to fetch tag list
* refactor(endpoints): replace controller function with class
* refactor(endpoints): replace function with helper
* refactor(endpoints): replace controller with class
* refactor(tags): revert tags-selector to use 1 way bindings
* refactor(endpoints): load empty tag array instead of nil
* refactor(endpoints): revert default tag ids
* refactor(endpoints): use function in place
* refactor(tags): use lodash
* style(tags): use parens in arrow functions
* fix(tags): remove tag from tag model
Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io>
* fix(services): enforce minimum replica count of 0
Fixes#3652
Prevents replica count from being set below zero and causing an error.
* fix(services): enforce replica count is an integer
Prevents users entering decimals in the replica count
* feat: add setting to change DNS servers
* style: fixing codeclimate warning
Looks like conditional was excessive, it works as expected even without
it.
* style: rename 'DNS Server 1/2' to 'Primary/Secondary DNS Server'
Signed-off-by: Kirill K <kovalev.kirill.a@gmail.com>
* style: rename variables in code to match UI naming
* feat: add tooltips on DNS servers input fields
Signed-off-by: Kirill K <kovalev.kirill.a@gmail.com>
* Revert "feat: add tooltips on DNS servers input fields"
This reverts commit b83ef50825.
* style: secondary DNS placeholder
Signed-off-by: Kirill K <kovalev.kirill.a@gmail.com>
* feat(api): gitlab registry type
* feat(registries): early support for gitlab registries
* feat(app): registry service selector
* feat(registry): gitlab support : list repositories and tags - remove features missing
* feat(registry): gitlab registry remove features
* feat(registry): gitlab switch to registry V2 API for repositories and tags
* feat(api): use development extension binary
* fix(registry): avoid 401 on gitlab retrieve to disconnect the user
* feat(registry): gitlab browse projects without extension
* style(app): code cleaning
* refactor(app): PR review changes + refactor on types
* fix(gitlab): remove gitlab info from registrymanagementconfig and force gitlab type
* style(api): go fmt
* feat(api): update APIVersion and ExtensionDefinitionsURL
* fix(api): fix invalid RM extension URL
* feat(registry): PAT scope help
* feat(registry): defaults on registry creation
* style(registry-creation): update layout and text for Gitlab registry
* feat(registry-creation): update gitlab notice
Currently we are using RegExp `/\=(.+)/` to catch key-value
of environment variables, which could not match empty-value
environment variables such as `KEY=`.
This commit will change the RegExp to `/\=(.*)/`, which
matches the empty values.
* feat(containers): added support for port range mappings when deploying containers
* feat(containers): added placeholders to port publishing input fields
* feat(containers): added a tooltip to the manual network port publishing
* feat(containers): improved the code consistency
* fix(registry): fetch datatable details on page/filter/order state change instead of fetching all data on first load
* fix(registry): fetch tags datatable details on state change instead of fetching all data on first load
* fix(registry): add pagination support for tags + loading display on data load
* fix(registry): debounce on text filter to avoid querying transient matching values
* refactor(registry): rebase on latest develop
* feat(registries): background tags and optimisation -- need code cleanup and for-await-of to cancel on page leave
* refactor(registry-management): code cleanup
* feat(registry): most optimized version -- need fix for add/retag
* fix(registry): addTag working without page reload
* fix(registry): retag working without reload
* fix(registry): remove tag working without reload
* fix(registry): remove repository working with latest changes
* fix(registry): disable cache on firefox
* feat(registry): use jquery for all 'most used' manifests requests
* feat(registry): retag with progression + rewrite manifest REST service to jquery
* fix(registry): remove forgotten DI
* fix(registry): pagination on repository details
* refactor(registry): info message + hidding images count until fetch has been done
* fix(registry): fix selection reset deleting selectAll function and not resetting status
* fix(registry): resetSelection was trying to set value on a getter
* fix(registry): tags were dropped when too much tags were impacted by a tag removal
* fix(registry): firefox add tag + progression
* refactor(registry): rewording of elements
* style(registry): add space between buttons and texts in status elements
* fix(registry): cancelling a retag/delete action was not removing the status panel
* fix(registry): tags count of empty repositories
* feat(registry): reload page on action cancel to avoid desync
* feat(registry): uncancellable modal on long operations
* feat(registry): modal now closes on error + modal message improvement
* feat(registries): remove empty repositories from the list
* fix(registry): various bugfixes
* feat(registry): independant timer on async actions + modal fix
* feat(container-details): add entrypoint to container details view
* feat(container-details): restore file from develop branch to bring back original indentation
* feat(container-details): add entrypoint to container details view