* Move utils packages that are required for gitops engine under engine/pkg/utils package.
Following changes were implemented:
* util/health package is split into two parts: resource health assessement & resource health assessement and moved into engine/pkg/utils
* utils packages moved: Closer and Close method of util package moved into engine/pkg/utils/io package
* packages diff, errors, exec, json, kube and tracing moved into engine/pkg/utils
* Move single cluster caching into engine/kube/cache package
* move sync functionality to engine/kube/sync package
* remove dependency on metrics package from engine/pkg/utils/kube/cache
* move annotation label definitions into engine/pkg/utils/kube/sync
* make sure engine/pkg has no dependencies on other argo-cd packages
* allow importing engine as a go module
* implement a high-level interface that might be consumed by flux
* fix deadlock caused by cluster cache event handler
* ClusterCache should return error if requested group kind not found
* remove obsolete tests
* apply reviewer notes
* added path to cookie
* additional changes to support rootpath:
1. when using https, redirect to the right URL.
2. when rootpath is set, handle healthz, swagger, etc.
* additional changes to support rootpath:
1. when using https, redirect to the right URL.
2. when rootpath is set, handle healthz only.
* additional changes to support rootpath:
1. when using https, redirect to the right URL.
2. when rootpath is set, handle healthz only.
* Fixed for swagger-ui with rootpath
* Fixed for swagger test
* Fixed for redirect path
* Fixed for redirect path
* Set root path
* updated http mux if --rootpath is set during server startup.
updated baseHRef if --rootpath is set.
added --grpc-web-root-path for CLI.
* added rootpath as part of config context name
* clean up not used variables.
* fix: Add initial implementation for rate limiting failed logins
* Trigger test build
* Remove deprecated code and fix new project tests
* move cache related code from sessionmanager to cache access wrapper
* avoid using sleep in sessionmanager tests
* mention SECONDS in session manager environment variables to make it easier to understand meaning of each variable
* Login button should be disabled while user is waiting for login result
* prevent timing-based user enumeration attack
* reject too many failed attempts; always compute hash and introduce random delay
* remove unused constants
* fix linter errors
Co-authored-by: Alexander Matyushentsev <amatyushentsev@gmail.com>
* Fixing could not find plugin issue when app sync and app diff
* Fixing codegen error
* Revert "Fixing codegen error"
This reverts commit b2dcfb81
* Fixing codegen error
* If user is logged in, settings API would return ConfigManagementPlugins
* Add some test data for testing static assets
* Optional send X-Frame-Options header for static assets
* Allow fake server some time to settle in tests
* Retrigger CI
This commit makes it so that `registerDexHandlers` in `server/server.go`
only attempts to modify `a.TLSConfig` if TLS is enabled.
Without this, deployments of ArgoCD that don't have a certificate
enabled (in the case where a LB/Ingress Controller is handling SSL
connections as a reverse proxy) end up having a nil pointer reference
panic on start.