* 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(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>
* 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
* feat(logs): added orange border to export button.
* fix(ldap): fixed connectivity check radio button alignment issue
* fix(be-feature): added box shadow to limited feature border
* fix(be-feature): fixed hide internal auth toggle issue.
* feat(ldap): added isLimitedFeatureSelfContained config to ldap-custom-admin-group and test-login components
* feat(auth): moved save settings button in auth page to a component.
* feat(oauth): use saveSettingsButton component in oauth
* feat(oauth): use saveSettingsButton component in internal auth
* feat(oauth): use saveSettingsButton component in MS active directory auth
* feat(oauth): use saveSettingsButton component in ldap auth
* feat(auth): added new component to index.js
* removed css inline styles.
* feat(ad): added disable check method to ad auth.
* feat(ldap): moved save settings disable method to parent component
* removed inline styles.
* fix(ldap): fixed test login misalignment issue
* fix(ldap): pass isLdapFormValid function from page component
* fix(ldap): made the toggle button in custom admin group orange when it's limited to CE.
* fix(auth): fixed save setting button in Microsoft Active Directory auth
* fix(ldap): made the assign admin toggle bright orange
* kubernetes sidebar configuration lingo updated
* configurations list view updated
* updated configurations list add config button
* - updated create and update configuration buttons to display type of configuration being created/updated
- configuration filter displays explicit configuration type
* updated create configuration sub-title
* add configmap wording update
* portainer service lingo updated in k8s app creation and update forms
* publishing mode text updates
* KubernetesApplicationPublishingTypes updated INTERNAL and CLUSTER to CLUSTER_IP and NODE_PORT respectively
* application ports datatable updated
* updated service and ingress lingo on application view page
* reduced spacing to fit in ConfigMaps & Secrets in sidenav for different screen res
* feat(applications): show status indication
* feat(k8s/applications): move colors to theme
* fix helm application indicator for main header
* refactor(k8s/apps): receive more general ok status
Co-authored-by: waysonwei <degui.wei@gmail.com>
* feat(helm): add helm chart backport to ce EE-1409 (#5425)
* EE-1311 Helm Chart Backport from EE
* backport to ce
Co-authored-by: Matt Hook <hookenz@gmail.com>
* feat(helm): list and configure helm chart (#5431)
* backport and tidyup code
* --amend
* using rocket icon for charts
* helm chart bugfix - clear category button
* added matomo analytics for helm chart install
* fix web editor exit warning without changes
* editor modified exit bugfix
* fixed notifications typo
* updated helm template text
* helper text to convey slow helm templates load
Co-authored-by: zees-dev <dev.786zshan@gmail.com>
* removing redundant time-consuming api call by using prop attribute
* feat(helm) helm chart backport from ee EE-1311 (#5436)
* Add missing defaultHelmRepoUrl and mock testing
* Backport EE-1477
* Backport updates to helm tests from EE
* add https by default changes and ssl to tls renaming from EE
* Port install integration test. Disabled by default to pass CI checks
* merged changes from EE for the integration test
* kube proxy whitelist updated to support internal helm install command
Co-authored-by: zees-dev <dev.786zshan@gmail.com>
* Pull in all changes from tech review in EE-943
* added helm to sidebar after rebase, sync CE with EE
* bugfix: kubectl shell not opening - bearer token bug
* tidy go modules & remove yarn-error.log
* removed redundant handler (not used) - to match EE
* resolved merge conflicts, updated code
* feat(helm/views): helm release and application views EE-1236 (#5529)
* feat(helm): add helm chart backport to ce EE-1409 (#5425)
* EE-1311 Helm Chart Backport from EE
* backport to ce
Co-authored-by: Matt Hook <hookenz@gmail.com>
* Pull in all changes from tech review in EE-943
* added helm to sidebar after rebase, sync CE with EE
* removed redundant handler (not used) - to match EE
* feat(helm) display helm charts - backend EE-1236
* copy over components for new applications view EE-1236
* Add new applications datatable component
* Add more migrated files
* removed test not applicable to CE
* baclkported EE app data table code to CE
* removed redundant helm repo url
* resolved conflicts, updated code
* using endpoint middleware
* PR review fixes
* using constants, openapi updated
Co-authored-by: Richard Wei <54336863+WaysonWei@users.noreply.github.com>
Co-authored-by: zees-dev <dev.786zshan@gmail.com>
* fixed test conflicts, go linted
* feat(helm/templates-add): helm templates add repo for user support EE-1278 (#5514)
* feat(helm): add helm chart backport to ce EE-1409 (#5425)
* EE-1311 Helm Chart Backport from EE
* backport to ce
Co-authored-by: Matt Hook <hookenz@gmail.com>
* feat(helm) helm chart backport from ee EE-1311 (#5436)
* Add missing defaultHelmRepoUrl and mock testing
* Backport EE-1477
* Backport updates to helm tests from EE
* add https by default changes and ssl to tls renaming from EE
* Port install integration test. Disabled by default to pass CI checks
* merged changes from EE for the integration test
* kube proxy whitelist updated to support internal helm install command
Co-authored-by: zees-dev <dev.786zshan@gmail.com>
* Pull in all changes from tech review in EE-943
* feat(helm): add helm chart backport to ce EE-1409 (#5425)
* EE-1311 Helm Chart Backport from EE
* backport to ce
Co-authored-by: Matt Hook <hookenz@gmail.com>
* Pull in all changes from tech review in EE-943
* added helm to sidebar after rebase, sync CE with EE
* backport EE-1278, squashed, diffed, updated
* helm install openapi spec update
* resolved conflicts, updated code
* - matching ee codebase at 0afe57034449ee0e9f333d92c252a13995a93019
- helm install using endpoint middleware
- remove trailing slash from added/persisted helm repo urls
* feat(helm) use libhelm url validator and improved path assembly EE-1554 (#5561)
* feat(helm/userrepos) fix getting global repo for ordinary users EE-1562 (#5567)
* feat(helm/userrepos) fix getting global repo for ordinary users EE-1562
* post review changes and further backported changes from EE
* resolved conflicts, updated code
* fixed helm_install handler unit test
* user cannot add existing repo if suffix is '/' (#5571)
* feat(helm/docs) fix broken swagger docs EE-1278 (#5572)
* Fix swagger docs
* minor correction
* fix(helm): migrating code from user handler to helm handler (#5573)
* - migrated user_helm_repos to helm endpoint handler
- migrated api operations from user factory/service to helm factory/service
- passing endpointId into helm service/factory as endpoint provider is deprecated
* upgrade libhelm to hide secrets
Co-authored-by: Matt Hook <hookenz@gmail.com>
* removed duplicate file - due to merge conflict
* dependency injection in helm factory
Co-authored-by: Richard Wei <54336863+WaysonWei@users.noreply.github.com>
Co-authored-by: Matt Hook <hookenz@gmail.com>
* kubernetes.templates -> kubernetes.templates.helm name conflict fix
* Validate the URL added as a public helm repo (#5579)
* fix(helm): helm app deletion fix EE-1581 (#5582)
* updated helm lib to show correct error on uninstall failure
* passing down helm app namespace on deletion
* fix(k8s): EE-1591 non-admin users cannot deploy charts containing secrets (#5590)
Co-authored-by: Simon Meng <simon.meng@portainer.io>
* fix(helm): helm epic bugfixes EE-1582 EE-1593 (#5585)
* - trim trailing slash and lowercase before persisting helm repo
- browser helm templates url /kubernetes/templates/templates -> /kubernetes/templates/helm
- fix publish url
- fix helm repo add refresh
- semi-fix k8s app expansion
* Tidy up swagger documentation related to helm. Make json consistent
* fixed helm release page for non-default namespaces
* k8s app view table expansion bugfix
* EE-1593: publish url load balancer fallback
Co-authored-by: Matt Hook <hookenz@gmail.com>
* k8s app list fix for charts with deployments containing multiple pods - which use the same label (#5599)
* fix(kubernetes): app list view fix for secrets with long keys or values EE-1600 (#5600)
* k8s app secrets key value text overflow ellipses
* wrapping key value pairs instead of ellipses
* fix(helm): helm apps bundling issue across different namespaces EE-1619 (#5602)
* helm apps bundling issue across different namespaces
* - code comments and indentation to ease reading
- moved namespace calc out of loop
* feat(helm/test) disable slow helm search test by default EE-1599 (#5598)
* skip helm_repo_search as it's an integration test
* switch to portainer built in integration test checker
* make module order match EE
* don't print test struct out when skipping integration test
Co-authored-by: Richard Wei <54336863+WaysonWei@users.noreply.github.com>
Co-authored-by: Matt Hook <hookenz@gmail.com>
Co-authored-by: cong meng <mcpacino@gmail.com>
Co-authored-by: Simon Meng <simon.meng@portainer.io>
* feat(analytics): add apis for event tracking
feat(api): fetch instanceID
feat(state): set instance id and version on matomo
refactor(state): export validation of app state
feat(analytics): update dimensions
refactor(analytics): move matomo to module
feat(analytics): disable analytics on non production
feat(analytics): track event metadata
refactor(analytics): clean push function
refactor(analytics): rename init function
feat(analytics): track user role
feat(analytics): track user global role
fix(stacks): remove event tracking for stack create
* style(analytics): remove TODO
* feat(build): add testing env
* feat(git): save git config when creating stack (#5048)
* feat(git): save git config when creating stack
* chore(fs): test fileExists
* fix(git): fix tests to use CloneRepository
* refactor(git): move options to new object
* feat(stacks): redeploy git stack api (#5112)
* feat(stacks): redeploy git stacks form
[EE-666]
* feat(stack): show loading after confirmation
* fix(stacks): show same size description
* fix(stacks): reload state when deployed
* feat(stacks): set stopped stacks status to activate when updating
* feat(stacks): backup stack folder before cloning
* feat(stacks): don't accept prune and env on update git
Co-authored-by: Chaim Lev-Ari <chiptus@users.noreply.github.com>
Co-authored-by: Chaim Lev-Ari <chiptus@gmail.com>
* feat-app/endpoint-group): replace the tag dropdown by isteven-multi-select
* feat(app/endpoint-group): fix the dropdown height
* feat(app/tag-selector): remove the slice on filtered tags and add some style to fix the dropdown height
* feat(frontend): de-emphasize internal login when OAuth is enabled (#3065)
* feat(frontend): change the "Use internal authentication" style to be primary (#3065)
* feat(frontend): resize the login with "provider" button to use a 120% font size (#3065)
* feat(frontend): remove unused css for h1 tag (#3065)
Co-authored-by: Simon Meng <simon.meng@portainer.io>
* 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
* feat(k8s/application): expose placement conditions
* feat(k8s/applications): minor UI update
* feat(k8s/application): update message for admin and non admin users
* feat(kubernetes/applications): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): fix duplicate published mode
* feat(kubernetes): group port mappings by applications
* feat(kubernetes): updated UX
* feat(kubernetes): updated UX
* feat(kubernetes): new applications list view
* fix(kubernetes): applications - expand ports on row click
* refactor(kubernetes): applications - replace old view with new
* fix(kubernetes): disable access management for default resource pool
* feat(kubernetes): app creation - limit stacks suggestion to selected resource pool
* feat(kubernetes): do not allow access management on system resource pools
* refactor(kubernetes): refactor services
* create view node detail
* compute node status
* compute resource reservations
* resource reservation progress bar
* create applications node datatable
* fix(kubernetes): fix invalid method name
* feat(kubernetes): minor UI changes
* feat(kubernetes): update application inspect UI
* feat(kubernetes): add the ability to copy load balancer IP
* fix(kubernetes): minor fixes on applications view
* feat(kubernetes): set usage level info on progress bars
* fix(kubernetes): fix an issue with duplicate pagination controls
* fix(kubernetes): fix an issue with unexpandable items
* refacto(kubernetes): clean status and resource computation
* fix(kubernetes): remove a bad line
* feat(kubernetes): update application detail view
* feat(kubernetes): change few things on view
* refacto(kubernetes): Corrections relative to PR #13
* refacto(kubernetes): remove old functions
* feat(kubernetes): add application pod logs
* fix(kubernetes): PR #13
* feat(kubernetes): Enable quotas by default
* feat(kubernetes): allow non admin to have access to ressource pool list/detail view
* feat(kubernetes): UI changes
* fix(kubernetes): fix resource reservation computation in node view
* fix(kubernetes): pods are correctly filter by app name
* fix(kubernetes): nodeapplicationsdatatable is correctly reorder by cpu and memory
* fix(kubernetes): nodeapplications datatable is correctly reorder on reload
* feat(kubernetes): update podService
* refacto(kubernetes): rename nodeInspect as node
* refaceto(kubernetes): use colspan 6 instead of colspan 3
* refacto(kubernetes): use genericdatatablecontroller and make isadmin a binding
* refacto(kubernetes): remove not needed lines
* refacto(kubernetes) extract usageLevelInfo as html filter
* refacto(kubernetes): no line break for params
* refacto(kubernetes): change on node converter and filters
* refacto(kubernetes): remove bad indentations
* feat(kubernetes): add plain text informations about resources limits for non admibn user
* refacto(kubernetes): ES6 format
* refacto(kubernetes): format
* refacto(kubernetes): format
* refacto(kubernetes): add refresh callback for nodeapplicationsdatatable
* refacto(kubernetes): change if else structure
* refactor(kubernetes): files naming and format
* fix(kubernetes): remove checkbox and actions on resourcespools view for non admin
* feat(kubernetes): minor UI update
* fix(kubernetes): bind this on getPodsApplications to allow it to access $async
* fix(kubernetes): bind this on getEvents to allow it to access $async
* fix(kubernetes): format
* feat(kubernetes): minor UI update
* feat(kubernetes): add support for container console
* fix(kubernetes): fix a merge issue
* feat(kubernetes): update container console UI
* fix(api): fix typo
* feat(api): proxy pod websocket to agent
* fix(api): fix websocket pod proxy
* refactor(kubernetes): uniformize k8s merge comments
* refactor(kubernetes): update consoleController
* feat(kubernetes): prevent the removal of the default resource pool (#38)
* feat(kubernetes): show all applications running inside the resource pool (#35)
* add new datatable
* feat(kubernetes): add resource pool applications datatable to resource pool detail view
* refacto(kubernetes): factorise computeResourceReservation
* fix(kubernetes): colspan 6 to colspan 5
* fix(kubernetes): rename resourceReservationHelper into kubernetesResourceReservationHelper
* fix(kubernetes): add await to avoid double diggest cycles
* feat(kubernetes): add link to application name
* fix(kubernetes): change kubernetes-resource-pool-applications-datatable table key
* fix(kubernetes): change wording
* feat(kubernetes): add proper support for persisted folders (#36)
* feat(kubernetes): persistent volume mockups
* feat(kubernetes): persistent volume mockups
* feat(kubernetes): update persisted folders mockups
* feat(kubernetes): endpoint configure storage access policies
* fix(kubernetes): restrict advanced deployment to admin
* refactor(kubernetes): storageclass service / rest / model
* refactor(kubernetes): params/payload/converter pattern for deployments and daemonsets
* feat(kubernetes): statefulset management for applications
* fix(kubernets): associate application and pods
* feat(kubernetes): statefulset support for applications
* refactor(kubernetes): rebase on pportainer/k8s
* fix(kubernetes): app create - invalid targetPort on loadbalancer
* fix(kubernetes): internal services showed as loadbalancer
* fix(kubernetes): service ports creation / parsing
* fix(kubernetes): remove ports on headless services + ensure nodePort is used only for Cluster publishing
* fix(kubernetes): delete headless service on statefulset delete
* fix(kubernetes): statefulset replicas count display
* refactor(kubernetes): rebase on pportainer/k8s
* refactor(kubernetes): cleanup
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* fix(kubernetes): remove mockup routes
* feat(kubernetes): only display applications running on node/in resource pool when there are any
* feat(kubernetes): review resource reservations and leverage requests instead of limits (#40)
* fix(kubernetes): filter resource reservation by app in node view (#48)
* refactor(kubernetes): remove review comment
* chore(version): bump version number
* refactor(kubernetes): remove unused stacks view and components
* feat(kubernetes): update CPU slider step to 0.1 for resource pools (#60)
* feat(kubernetes): round up application CPU values (#61)
* feat(kubernetes): add information about application resource reservat… (#62)
* feat(kubernetes): add information about application resource reservations
* feat(kubernetes): apply kubernetesApplicationCPUValue to application CPU reservation
* refactor(kubernetes): services layer with models/converter/payloads (#64)
* refactor(kubernetes): services layer with models/converter/payloads
* refactor(kubernetes): file rename and comment update
* style(kubernetes): replace strings double quotes with simple quotes
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* fix(kubernetes): filter application by node in node detail view (#69)
* fix(kubernetes): filter applications by node
* fix(kubernetes): remove js error
* refactor(kubernetes): delete resource quota deletion process when deleting a resource pool (#68)
* feat(kubernetes): enforce valid resource reservations and clarify its… (#70)
* feat(kubernetes): enforce valid resource reservations and clarify its usage
* feat(kubernetes): update instance count input behavior
* feat(kubernetes): resource pools labels (#71)
* feat(kubernetes): resource pools labels
* fix(kubernetes): RP/RQ/LR owner label
* feat(kubernetes): confirmation popup on RP delete (#76)
* feat(kubernetes): application labels (#72)
* feat(kubernetes): application labels
* feat(kubernetes): display application owner in details when available
* style(kubernetes): revert StackName column labels
* fix(kubernetes): default displayed StackName
* feat(kubernetes): remove RQ query across cluster (#73)
* refactor(kubernetes): routes as components (#75)
* refactor(kubernetes): routes as components
* refactor(kubernetes): use component lifecycle hook
* refactor(kubernetes): files naming consistency
* fix(kubernetes): fix invalid component name for cluster view
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): update portaineruser cluster role policy rules (#78)
* refactor(kubernetes): remove unused helper
* fix(kubernetes): fix invalid reload link in cluster view
* feat(kubernetes): add cluster resource reservation (#77)
* feat(kubernetes): add cluster resource reservation
* fix(kubernetes): filter resource reservation with applications
* fix(kubernetes): fix indent
* refacto(kubernetes): extract megabytes value calc as resourceReservationHelper method
* fix(kubernetes): remove unused import
* refacto(kubernetes): add resourcereservation model
* fix(kubernetes): add parenthesis on arrow functions parameters
* refacto(kubernetes): getpods in applicationService getAll
* fix(kubernetes): let to const
* fix(kubernetes): remove unused podservice
* fix(kubernetes): fix computeResourceReservation
* fix(kubernetes): app.pods to app.Pods everywhere and camelcase of this.ResourceReservation
* feat(kubernetes): configurations list view (#74)
* feat(kubernetes): add configuration list view
* feat(kubernetes): add configurations datatable
* feat(kubernetes): add item selection
* feat(kubernetes): allow to remove configuration
* feat(kubernetes): allow non admin user to see configurations
* fix(kubernetes): configurations view as component
* feat(kubernetes): remove stack property for secret and configurations
* fix(kubernetes): update import
* fix(kubernetes): remove secret delete payload
* fix(kubernetes): rename configuration model
* fix(kubernetes): remove configmap delete payload
* fix(Kubernetes): fix configuration getAsync
* fix(kubernetes): extract params as variables
* refacto(kubernetes): extract configurations used lines as helper
* fix(kubernetes): add verification of _.find return value
* fix(kubernetes): fix kubernetes configurations datatable callback
* refacto(Kubernetes): extract find before if
* fix(kubernetes): replace this by KubernetesConfigurationHelper in static method
* fix(Kubernetes): fix getASync
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* review(kubernetes): todo comments (#80)
* feat(kubernetes): minor UI update
* feat(kubernetes): round max cpu value in application creation
* feat(kubernetes): minor UI update
* fix(kubernetes): no-wrap resource reservation bar text (#89)
* docs(kubernetes): add review for formValues to resource conversion (#91)
* feat(kubernetes): configuration creation view (#82)
* feat(kubernetes): create configuration view
* feat(kubernetes): add advanced mode and create entry from file
* fix(kubernetes): fix validation issues
* fix(kubernetes): fix wording
* fix(kubernetes): replace data by stringdata in secret payloads
* fix(kubernetes): rename KubernetesConfigurationEntry to KubernetesConfigurationFormValuesDataEntry
* refacto(kubernetes): add isSimple to formValues and change configuration creation pattern
* fix(kubernetes): fix some bugs
* refacto(kubernetes): renaming
* fix(kubernetes): fix few bugs
* fix(kubernetes): fix few bugs
* review(kubernetes): refactor notices
Co-authored-by: xAt0mZ <baron_l@epitech.eu>
* feat(kubernetes): rename codeclimate file
* feat(kubernetes): re-enable codeclimate
* feat(project): update codeclimate configuration
* feat(project): update codeclimate configuration
* feat(project): update codeclimate configuration
* feat(kubernetes): minor UI update
* feat(project): update codeclimate
* feat(project): update codeclimate configuration
* feat(project): update codeclimate configuration
* feat(kubernetes): configuration details view (#93)
* feat(kubernetes): configuration details view
* fix(kubernetes): fix wording
* fix(kubernetes): fix update button
* fix(kubernetes): line indent
* refacto(kubernetes): remove conversion
* refacto(kubernetes): remove useless line
* refacto(kubernetes): remove useless lines
* fix(kubernetes): revert error handling
* fix(kubernetes): fix wording
* fix(kubernetes): revert line deletion
* refacto(kubernetes): change data mapping
* fix(kubernetes): create before delete
* fix(kubernetes): fix duplicate bug
* feat(kubernetes): configurations in application creation (#92)
* feat(kubernetes): application configuration mockups
* feat(kubernetes): update mockup
* feat(kubernetes): app create - dynamic view for configurations
* feat(kubernetes): app create - configuration support
* refactor(kubernetes): more generic configuration conversion function
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): automatically display first entry in configuration creation
* feat(kubernetes): minor UI update regarding applications and configurations
* feat(kubernetes): update Cluster icon in sidebar
* feat(kubernetes): volumes list view (#112)
* feat(kubernetes): add a feedback panel on main views (#111)
* feat(kubernetes): add a feedback panel on main views
* feat(kubernetes): add feedback panel to volumes view
* fix(kubernetes): isolated volumes showed as unused even when used (#116)
* feat(kubernetes): remove limit range from Portainer (#119)
* limits instead of requests (#121)
* feat(kubernetes): volume details (#117)
* feat(kubernetes): volume details
* fix(kubernetes): yaml not showed
* feat(kubernetes): expandable stacks list (#122)
* feat(kubernetes): expandable stacks list
* feat(kubernetes): minor UI update to stacks datatable
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): uibprogress font color (#129)
* feat(kubernetes): minor UI update to resource reservation component
* feat(kubernetes): automatically select a configuration
* refactor(kubernetes): remove comment
* feat(kubernetes): minor UI update
* feat(kubernetes): add resource links and uniformize view headers (#133)
* feat(kubernetes): prevent removal of system configurations (#128)
* feat(kubernetes): prevent removal of system configurations
* fix(kubernetes): KubernetesNamespaceHelper is not a function
* refacto(kubernetes): change prevent removal pattern
* fix(kubernetes): remove unused dependencies
* fix(kubernetes): fix configuration used label (#123)
* fix(kubernetes): fix used configurations
* fix(kubernetes): remove console log
* feat(kubernetes): rename configuration types (#127)
* refacto(kubernetes): fix wording and use configMap instead of Basic in the code
* feat(kubernetes): prevent the removal of system configuration
* fix(kubernetes): remove feat on bad branch
* fix(kubernetes): rename configuration types
* refacto(kubernetes): use a numeric enum and add a filter to display the text type
* refacto(kubernetes): fix wording and use configMap instead of Basic in the code
* feat(kubernetes): prevent the removal of system configuration
* fix(kubernetes): remove feat on bad branch
* fix(kubernetes): rename configuration types
* refacto(kubernetes): use a numeric enum and add a filter to display the text type
* fix(kubernetes): rename file and not use default in switch case
* feat(kubernetes): update advanced deployment UI/UX (#130)
* feat(kubernetes): update advanced deployment UI/UX
* feat(kubernetes): review HTML tags indentation
* feat(kubernetes): applications stacks delete (#135)
* fix(kubernetes): multinode resources reservations (#118)
* fix(kubernetes): filter pods by node
* fix(kubernetes): fix applications by node filter
* fix(kubernetes): filter pods by node
* Update app/kubernetes/views/cluster/node/nodeController.js
Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io>
* feat(kubernetes): limit usage of pod console view (#136)
* feat(kubernetes): add yaml and events to configuration details (#126)
* feat(kubernetes): add yaml and events to configuration details
* fix(kubernetes): fix errors on secret details view
* fix(kubernetes): display only events related to configuration
* fix(kubernetes): fix applications by node filter
* fix(kubernetes): revert commit on bad branch
* refacto(kubernetes): refacto configmap get yaml function
* refacto(kubernetes): add yaml into converter
* feat(kubernetes): improve application details (#141)
* refactor(kubernetes): remove applications retrieval from volume service
* feat(kubernetes): improve application details view
* feat(kubernetes): update kompose binary version (#143)
* feat(kubernetes): update kubectl version (#144)
* refactor(kubernetes): rename portainer system namespace (#145)
* feat(kubernetes): add a loading view indicator (#140)
* feat(kubernetes): add an example of view loading indicator
* refactor(css): remove comment
* feat(kubernetes): updated loading pattern
* feat(kubernetes): add loading indicator for resource pool views
* feat(kubernetes): add loading indicator for deploy view
* feat(kubernetes): add loading view indicator to dashboard
* feat(kubernetes): add loading view indicator to configure view
* feat(kubernetes): add loading indicator to configuration views
* feat(kubernetes): add loading indicator to cluster views
* feat(kubernetes): rebase on k8s branch
* feat(kubernetes): update icon size
* refactor(kubernetes): update indentation and tag format
* feat(kubernetes): backend role validation for stack deployment (#147)
* feat(kubernetes): show applications when volume is used
* feat(kubernetes): set empty value when node is not set
* feat(kubernetes): update configuration UI/UX
* feat(kubernetes): update configuration UX
* fix(kubernetes): Invalid value for a configuration (#139)
* fix(kubernetes): Invalid value for a configuration
* fix(kubernetes): remove auto JSON convertion for configMap ; apply it for RPool Accesses only
* refactor(kubernetes): remove unneeded line
* fix(kubernetes): remove default JSON parsing on configMap API retrieval
Co-authored-by: xAt0mZ <baron_l@epitech.eu>
* feat(kubernetes): applications table in configuration details (#154)
* feat(kubernetes): Add the ability to filter system resources (#142)
* feat(kubernetes): hide system configurations
* feat(kubernetes): Add the ability to filter system resources
* feat(kubernetes): add the ability to hide system resources on volumes
* fix(kubernetes): fix few issue in volumesDatatableController
* fix(kubernetes): fix applications / ports / stacks labels
* feat(kubernetes): add volumes and configurations to dashboard (#152)
* feat(kubernetes): event warning indicator (#150)
* feat(kubernetes): event warning indicator for applications
* refactor(kubernetes): refactor events indicator logic
* feat(kubernetes): add event warning indicator to all resources
* feat(kubernetes): fix missing YAML panel for node (#157)
* feat(kubernetes): revised application details view (#159)
* feat(kubernetes): revised application details view
* refactor(kubernetes): remove comment
* feat(kubernetes): rebase on k8s
* refactor(kubernetes): remove extra line
* feat(kubernetes): update kubernetes beta feedback panel locations (#161)
* feat(kubernetes): stack logs (#160)
* feat(kubernetes): stack logs
* fix(kubernetes): ignore starting pods
* fix(kubernetes): colspan on expandable stack applications table
* feat(kubernetes): add an information message about system resources (#163)
* fix(kubernetes): fix empty panel being display in cluster view (#165)
* fix(kubernetes): Invalid CPU unit for node (#156)
* fix(kubernetes): Invalid CPU unit for node
* fix(kubernetes): Invalid CPU unit for node
* refacto(kubernetes): extract parseCPU function in helper
* refacto(kubernetes): rewrite parseCPU function
* feat(kubernetes): add the kube-node-lease namespace to system namespaces (#177)
* feat(kubernetes): tag system applications on node details view (#175)
* feat(kubernetes): tag system applications on node details view
* fix(kubernetes): remove system resources filter
* feat(kubernetes): review UI/UX around volume size unit (#178)
* feat(kubernetes): updates after review (#174)
* feat(kubernetes): update access user message
* feat(kubernetes): relocate resource pool to a specific form section
* feat(kubernetes): review responsiveness of port mappings
* feat(kubernetes): clarify table settings
* feat(kubernetes): add resource reservation summary message
* feat(kubernetes): review wording (#182)
* feat(kubernetes): application stack edit (#179)
* feat(kubernetes): update UI -- update action missing
* feat(kubernetes): application stack update
* feat(kubernetes): change services stacks
* feat(kubernetes): hide default-tokens + prevent remove (#183)
* feat(kubernetes): hide default-tokens + prevent remove
* feat(kubernetes): do not display unused label for system configurations
* fix(kubernetes): minor fix around showing system configurations
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): rebase on k8s branch (#180)
* fix(kubernetes): prevent the display of system resources in dashboard (#186)
* fix(kubernetes): prevent the display of system resources in dashboard
* fix(kubernetes): prevent the display of frontend filtered resource pools
* feat(kubernetes): support downward API for env vars in application details (#181)
* feat(kubernetes): support downward API for env vars in application details
* refactor(kubernetes): remove comment
* feat(kubernetes): minor UI update
* feat(kubernetes): remove Docker features (#189)
* chore(version): bump version number (#187)
* chore(version): bump version number
* feat(kubernetes): disable update notice
* feat(kubernetes): minor UI update
* feat(kubernetes): minor UI update
* feat(kubernetes): form validation (#170)
* feat(kubernetes): add published node port value check
* feat(kubernetes): add a dns compliant validation
* fix(kubernetes): fix port range validation
* feat(kubernetes): lot of form validation
* feat(kubernetes): add lot of form validation
* feat(kubernetes): persisted folders size validation
* feat(kubernetes): persisted folder path should be unique
* fix(kubernetes): fix createResourcePool button
* fix(kubernetes): change few things
* fix(kubernetes): fix slider memory
* fix(kubernetes): fix duplicates on dynamic field list
* fix(kubernetes): remove bad validation on keys
* feat(kubernetes): minor UI enhancements and validation updates
* feat(kubernetes): minor UI update
* fix(kubernetes): revert on slider fix
* review(kubernetes): add future changes to do
* fix(kubernetes): add form validation on create application memory slider
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
Co-authored-by: xAt0mZ <baron_l@epitech.eu>
* feat(kubernetes): remove Docker related content
* feat(kubernetes): update build system to remove docker binary install
* fix(kubernetes): fix an issue with missing user settings
* feat(kubernetes): created column for apps and resource pools (#184)
* feat(kubernetes): created column for apps and resource pools
* feat(kubernetes): configurations and volumes owner
* feat(kubernetes): rename datatables columns
* fix(kubernetes): auto detect statefulset headless service name (#196)
* fix(applications): display used configurations (#198)
* feat(kubernetes): app details - display data access policy (#199)
* feat(kubernetes): app details - display data access policy
* feat(kubernetes): tooltip on data access info
* feat(kubernetes): move DAP tooltip to end of line
* feat(kubernetes): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* fix(kubernetes): fix an issue when updating the local endpoint (#204)
* fix(kubernetes): add unique key to configuration overriden key path field (#207)
* feat(kubernetes): tag applications as external (#221)
* feat(kubernetes): tag applications as external first approach
* feat(kubernetes): tag applications as external
* feat(kubernetes): Use ibytes as the default volume size unit sent to the Kubernetes API (#222)
* feat(kubernetes): Use ibytes as the default volume size unit sent to the Kubernetes API
* fix(kubernetes): only display b units in list and details views
* feat(kubernetes): add note to application details (#212)
* feat(kubernetes): add note to application details
* fix(kubernetes): remove eslintcache
* feat(kubernetes): update application note UI
* feat(kubernetes): add an update button to the note form when a note is already associated to an app
* feat(kubernetes): fix with UI changes
* fix(kubernetes): change few things
* fix(kubernetes): remove duplicate button
* fix(kubernetes): just use a ternary
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): fix data persistence display for isolated DAP (#223)
* feat(kubernetes): add a quick action to copy application name to clipboard (#225)
* feat(kubernetes): revert useless converter changes (#228)
* feat(kubernetes): edit application view (#200)
* feat(kubernetes): application to formValues conversion
* feat(kubernetes): extract applicationFormValues conversion as converter function
* feat(kubernetes): draft app patch
* feat(kubernetes): patch on all apps services + service service + pvc service
* feat(kubernetes): move name to labels and use UUID as kubernetes Name + patch recreate if necessary
* feat(kubernetes): move user app name to label and use UUID for Kubernetes Name field
* feat(kubernetes): kubernetes service patch mechanism
* feat(kubernetes): application edit
* feat(kubernetes): remove stack edit on app details
* feat(kubernetes): revert app name saving in label - now reuse kubernetes Name field
* feat(kubernetes): remove the ability to edit the DAP
* feat(kubernetes): cancel button on edit view
* feat(kubernetes): remove ability to add/remove persisted folders for SFS edition
* feat(kubernetes): minor UI update and action changes
* feat(kubernetes): minor UI update
* feat(kubernetes): remove ability to edit app volumes sizes + disable update button if no changes are made + codeclimate
* fix(kubernetes): resource reservation sliders in app edit
* fix(kubernetes): patch returned with 422 when trying to create nested objects
* fix(kubernetes): changing app deployment type wasn't working (delete failure)
* style(kubernetes): codeclimate
* fix(kubernetes): app edit - limits sliders max value
* feat(kubernetes): remove prefix on service name as we enforce DNS compliant app names
* fix(kubernetes): edit app formvalues replica based on target replica count and not total pods count
* fix(kubernetes): disable update for RWO on multi replica + delete service when changing app type
* fix(kubernetes): app details running / target pods display
* feat(kubernetes): add partial patch for app details view
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): disable edit capability for external and system apps (#233)
* feat(kubernetes): minor UI update
* fix(kubernetes): edit application issues (#235)
* feat(kubernetes): disable edition of load balancer if it's in pending state
* fix(kubernetes): now able to change from LB to other publishing types
* feat(kuberntes): modal on edit click to inform on potential service interruption
* feat(kubernetes): hide note when empty + add capability to collapse it
* fix(kubernetes): UI/API desync + app update button enabled in some cases where it shouldn't be
* fix(kubernetes): all apps are now using rolling updates with specific conditions
* style(kubernetes): code indent
* fix(kubernetes): disable sync process on endpoint init as current endpoint is not saved in client state
* fix(kubernetes): sliders refresh on app create + app details bad display for sfs running pods
* feat(kubernetes): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): bump up kubectl version to v1.18.0
* feat(kubernetes): when refreshing a view, remember currently opened tabs (#226)
* feat(kubernetes): When refreshing a view, remember currently opened tabs
* fix(kubernetes): only persist the current tab inside the actual view
* fix(kubernetes): not working with refresh in view header
* fix(kubernetes): skip error on 404 headless service retrieval if missconfigured in sfs (#242)
* refactor(kubernetes): use KubernetesResourcePoolService instead of KubernetesNamespaceService (#243)
* fix(kubernetes): create service before app to enforce port availability (#239)
* fix(kubernetes): external flag on application ports mappings datatable (#245)
* refactor(kubernetes): remove unused KubernetesResourcePoolHelper (#246)
* refactor(kubernetes): make all *service.getAllAsync functions consistent (#249)
* feat(kubernetes): Tag external applications in the application table of the resource pool details view (#251)
* feat(kubernetes): add ability to redeploy application (#240)
* feat(kubernetes): add ability to redeploy application
* feat(kubernetes): allow redeploy for external apps
* Revert "feat(kubernetes): allow redeploy for external apps"
This reverts commit 093375a7e93c1a07b845ebca1618da034a97fbcd.
* refactor(kubernetes): use KubernetesPodService instead of REST KubernetesPods (#247)
* feat(kubernetes): prevent configuration properties edition (#248)
* feat(kubernetes): prevent configuration properties edition
* feat(kubernetes): Relocate the Data/Actions to a separate panel
* feat(kubernetes): remove unused functions
* feat(kubernetes): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* refactor(kubernetes): Simplify the FileReader usage (#254)
* refactor(kubernetes): simplify FileReader usage
* refactor(kubernetes): Simplify FileReader usage
* refactor(kubernetes): rename e as event for readability
* feat(kubernetes): Tag system Configs in the Config details view (#257)
* refactor(kubernetes): Refactor the isFormValid function of multiple controllers (#253)
* refactor(kubernetes): refactor isFormValid functions in configurations
* refactor(kubernetes): refactor isformValid functions in create application
* refactor(kubernetes): remove duplicate lines
* refactor(kubernetes): remove commented line
* feat(kubernetes): Tag external volumes and configs (#250)
* feat(kubernetes): Tag external volumes and configs
* feat(kubernetes): remove .eslintcache
* feat(kubernetes): change few things
* feat(kubernetes): don't tag system configuration as external
* feat(kubernetes): minor UI update
* feat(kubernetes): extract inline css and clean all tags
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* fix(kubernetes): daemon set edit (#258)
* fix(kubernetes): persistent folder unit parsing
* fix(kubernetes): edit daemonset on RWO storage
* fix(kubernetes): external SFS had unlinked volumes (#264)
* feat(kubernetes): prevent to override two different configs on the same filesystem path (#259)
* feat(kubernetes): prevent to override two different configs on the same filesystem path
* feat(kubernetes): The validation should only be triggered across Configurations.
* feat(kubernetes): fix validations issues
* feat(kubernetes): fix form validation
* feat(kubernetes): fix few things
* refactor(kubernetes): Review the code mirror component update for configurations (#260)
* refactor(kubernetes): extract duplicate configuration code into a component
* refactor(kubernetes): fix form validation issues
* refactor(kubernetes): fix missing value
* refactor(kubernetes): remove useless await
* feat(kubernetes): Update the shared access policy configuration for Storage (#263)
* feat(kubernetes): Update the shared access policy configuration for Storage
* Update app/kubernetes/models/storage-class/models.js
* feat(kubernetes): remove ROX references and checks
Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io>
Co-authored-by: xAt0mZ <baron_l@epitech.eu>
* feat(kubernetes): provide the remove/restore UX for environment variables when editing an application (#261)
* feat(kubernetes): Provide the remove/restore UX for environment variables when editing an application
* feat(kubernetes): fix ui issue
* feat(kubernetes): change few things
* fix(kubernetes): Invalid display for exposed ports in accessing the application section (#267)
* feat(kubernetes): application rollback (#269)
* feat(kubernetes): retrieve all versions of a deployment
* feat(kubernetes): application history for all types
* feat(kubernetes): deployment rollback
* feat(kubernetes): daemonset / statefulset rollback
* feat(kubernetes): remove the revision selector and rollback on previous version everytime
* feat(kubernetes): minor UI changes
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): reservations should be computed based on requests instead of limits (#268)
* feat(kubernetes): Reservations should be computed based on requests instead of limits
* feat(kubernetes): use requests instead of limits in application details
* feat(kubernetes): removes unused limits
* feat(kubernetes): Not so useless
* feat(kubernetes): use service selectors to bind apps and services (#270)
* feat(kubernetes): use service selectors to bind apps and services
* Update app/kubernetes/services/statefulSetService.js
* style(kubernetes): remove comment block
Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io>
* chore(version): bump version number
* feat(kubernetes): update feedback panel text
* chore(app): add prettier to k8s
* style(app): apply prettier to k8s codebase
* fix(kubernetes): Cannot read property 'port' of undefined (#272)
* fix(kubernetes): Cannot read property 'port' of undefined
* fix(kubernetes): concat app ports outside publishedports loop
* fix(application): fix broken display of the persistence layer (#274)
* chore(kubernetes): fix conflicts
* chore(kubernetes): fix issues related to conflict resolution
* refactor(kubernetes): refactor code related to conflict resolution
* fix(kubernetes): fix a minor issue with assets import
* chore(app): update yarn.lock
* fix(application): ports mapping are now correctly detected (#300)
* fix(build-system): fix missing docker binary download step
* feat(kubernetes): application auto scaling details (#301)
* feat(kubernetes): application auto scaling details
* feat(kubernetes): minor UI update
Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
* feat(kubernetes): Introduce a "used by" column in the volume list view (#303)
Co-authored-by: xAt0mZ <baron_l@epitech.eu>
Co-authored-by: Maxime Bajeux <max.bajeux@gmail.com>
Co-authored-by: xAt0mZ <xAt0mZ@users.noreply.github.com>