* Replace `os.Getenv("HOME")` with `os.UserHomeDir()`
`os.UserHomeDir()` is the recommended way of getting user home directory
Signed-off-by: Aryan Pathania <cont-a-pathania@mercari.com>
* Retrigger CI pipeline
Signed-off-by: Aryan Pathania <cont-a-pathania@mercari.com>
---------
Signed-off-by: Aryan Pathania <cont-a-pathania@mercari.com>
* feat: support XDG Base directory standard
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
* chore: set XDG_CONFIG_HOME env var for docs generation
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
* chore: regenerate cli docs
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
* feat: add --headless flag to Argo CD CLI command
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* docs: add headless installation manifests and documentation
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* Apply reviewer notes
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
* Remove port forwarding logs
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
This commit adds support for TLS client authentication in the CLI.
It adds the necessary fields to the config and CLI parameters, modeled
on the existing server-crt functionality.
It also fixes 2 bugs in the grpcproxy:
1. The grpcproxy would ignore the server-crt when making a call to the
upstream server.
2. The grpcproxy would falsely assume that the HTTP status code returned
by the upstream server is always 200. It would then try to parse the
body as if it was a grpc response. At best this led to weird errors
being shown, at worst I have seen it cause the runtime to run out of
memory.
* 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.
* util/localconfig: prefer HOME env var over os/user
The os/user package requires that the current user be in /etc/passwd.
That complicates executing the argocd command in a docker container
when the UID:GID of the executing user is overridden.
This is often done in order to have files generated inside a docker
container have their ownership set to match the uid/gid of the host
user.
For example,
```sh
docker run -ti -u "$(id -u "${USER}"):$(id -g "${USER}")" argocd:latest ...
```
* Makefile: use pinned dev image dependencies to run make lint
* Make use of dex refresh tokens and store them into local config
* API client will automatically redeem OIDC refresh token if auth token expired.
* Stop the practice of reissuing/resigning non-expiring dex claims in API server.
* Add ksonnet version to version endpoint
I needed to move config.go out of the cli package to fix a circular dependency.
* Remove ksonnetVersion field from the ArgoCD version struct
* Refactor local ~/.argocd/config to be similar to kube configs
* `argo login` will detect TLS issues and prompt user before writing config
* version server is unauthenticated and `argo version` will report server version