# ArgoCD DevEnv Ubuntu
## Docker
From https://docs.docker.com/engine/install/ubuntu/
### Installation
```bash
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world # test
```
### Fix normal user to Docker
```bash=
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world # test
```
### Enable docker to start on boot
```bash=
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
```
---------------------------------------------------
# Install Go
wget https://go.dev/dl/go1.20.2.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.20.2.linux-amd64.tar.gz
vim ~/.bashrc
```bash
export GOPATH="$HOME/go"
export GOBIN="$GOPATH/bin"
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOBIN
```
source ~/.bashrc
go version
mkdir $GOPATH
mkdir -p $GOPATH/{src,pkg,bin}
mkdir -p $GOPATH/github.com/src/github.com/argoproj
cd $GOPATH/github.com/src/github.com/argoproj
git clone https://github.com/argoproj/argo-cd
---------------------------------------------------
# Install Kubernetes stuff
## kubectl client
```bash=
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client
echo 'source <(kubectl completion bash)' >>~/.bashrc
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc
source ~/.bashrc
```
## Disable swap
```bash=
sudo swapoff -a
sudo vim /etc/fstab # disable the swap. e.g. #UUID=67e55e7a-dc77-46e7-aa5e-3333ed840cde none swap sw 0 0
```
## Install kind
```bash=
go install sigs.k8s.io/kind@latest # this oes to /home/drpaneas/go/bin/kind
```
## Install kustomize
```bash=
## Kustomize
curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/latest | grep browser_download_url | grep linux | cut -d '"' -f 4 | xargs curl -O -L
tar xzf kustomize_v5.0.1_linux_amd64.tar.gz
sudo mv kustomize /usr/local/bin
rm kustomize_v5.0.1_linux_amd64.tar.gz
```
## Make sure you have shasum
```bash=
which shasum
```
## Install yarn and npm
```bash=
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/yarn.gpg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt-get install npm yarn
```
## Install goreman
```bash=
go install github.com/mattn/goreman@latest
```
-----------------------------------------------------------------------------
# ArgoCD devenv
1. Create cluster config with 2 workers nodes
```bash!
vim ~/kind-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
```
2. Create the cluster
```bash!
kind create cluster --name my-argocd-cluster --config ~/kind-config.yaml --kubeconfig ~/.kube/config-kind
kubectl cluster-info --context kind-my-argocd-cluster --kubeconfig ~/.kube/config-kind
export KUBECONFIG=~/.kube/config-kind
```
3. Create namespace argocd and configure the client to look into it by default
```bash!
kubectl create namespace argocd
kubectl config set-context --current --namespace=argocd
```
4. Install ArgoCD manifests and scale down
a. Install Argo manifests
```bash!
cd $GOPATH/src/github.com/argoproj/argo-cd/
kubectl -n argocd apply -f manifests/install.yaml
```
Expected output:
```bash
$ k get all
NAME READY STATUS RESTARTS AGE
pod/argocd-application-controller-0 1/1 Running 0 54s
pod/argocd-applicationset-controller-75cb58f45c-hjz29 1/1 Running 0 54s
pod/argocd-dex-server-74968b5fdc-psfvr 1/1 Running 0 54s
pod/argocd-notifications-controller-65fbf675f4-58dft 1/1 Running 0 54s
pod/argocd-redis-75b645466f-gpjng 1/1 Running 0 54s
pod/argocd-repo-server-57df48bf86-55n6p 1/1 Running 0 54s
pod/argocd-server-94468c5cc-qkl6q 1/1 Running 0 54s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/argocd-applicationset-controller ClusterIP 10.96.125.89 <none> 7000/TCP,8080/TCP 54s
service/argocd-dex-server ClusterIP 10.96.253.223 <none> 5556/TCP,5557/TCP,5558/TCP 54s
service/argocd-metrics ClusterIP 10.96.94.181 <none> 8082/TCP 54s
service/argocd-notifications-controller-metrics ClusterIP 10.96.206.214 <none> 9001/TCP 54s
service/argocd-redis ClusterIP 10.96.72.148 <none> 6379/TCP 54s
service/argocd-repo-server ClusterIP 10.96.135.57 <none> 8081/TCP,8084/TCP 54s
service/argocd-server ClusterIP 10.96.200.146 <none> 80/TCP,443/TCP 54s
service/argocd-server-metrics ClusterIP 10.96.148.88 <none> 8083/TCP 54s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/argocd-applicationset-controller 1/1 1 1 54s
deployment.apps/argocd-dex-server 1/1 1 1 54s
deployment.apps/argocd-notifications-controller 1/1 1 1 54s
deployment.apps/argocd-redis 1/1 1 1 54s
deployment.apps/argocd-repo-server 1/1 1 1 54s
deployment.apps/argocd-server 1/1 1 1 54s
NAME DESIRED CURRENT READY AGE
replicaset.apps/argocd-applicationset-controller-75cb58f45c 1 1 1 54s
replicaset.apps/argocd-dex-server-74968b5fdc 1 1 1 54s
replicaset.apps/argocd-notifications-controller-65fbf675f4 1 1 1 54s
replicaset.apps/argocd-redis-75b645466f 1 1 1 54s
replicaset.apps/argocd-repo-server-57df48bf86 1 1 1 54s
replicaset.apps/argocd-server-94468c5cc 1 1 1 54s
NAME READY AGE
statefulset.apps/argocd-application-controller 1/1 54
```
2. Scale down, so argocd is not running from within the cluster but later will run from your host
```bash
kubectl -n argocd scale statefulset/argocd-application-controller --replicas 0
kubectl -n argocd scale deployment/argocd-dex-server --replicas 0
kubectl -n argocd scale deployment/argocd-repo-server --replicas 0
kubectl -n argocd scale deployment/argocd-server --replicas 0
kubectl -n argocd scale deployment/argocd-redis --replicas 0
kubectl -n argocd scale deployment/argocd-applicationset-controller --replicas 0
kubectl -n argocd scale deployment/argocd-notifications-controller --replicas 0
```
Expected output:
```bash
$ k get all
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/argocd-applicationset-controller ClusterIP 10.96.125.89 <none> 7000/TCP,8080/TCP 2m59s
service/argocd-dex-server ClusterIP 10.96.253.223 <none> 5556/TCP,5557/TCP,5558/TCP 2m59s
service/argocd-metrics ClusterIP 10.96.94.181 <none> 8082/TCP 2m59s
service/argocd-notifications-controller-metrics ClusterIP 10.96.206.214 <none> 9001/TCP 2m59s
service/argocd-redis ClusterIP 10.96.72.148 <none> 6379/TCP 2m59s
service/argocd-repo-server ClusterIP 10.96.135.57 <none> 8081/TCP,8084/TCP 2m59s
service/argocd-server ClusterIP 10.96.200.146 <none> 80/TCP,443/TCP 2m59s
service/argocd-server-metrics ClusterIP 10.96.148.88 <none> 8083/TCP 2m59s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/argocd-applicationset-controller 0/0 0 0 2m59s
deployment.apps/argocd-dex-server 0/0 0 0 2m59s
deployment.apps/argocd-notifications-controller 0/0 0 0 2m59s
deployment.apps/argocd-redis 0/0 0 0 2m59s
deployment.apps/argocd-repo-server 0/0 0 0 2m59s
deployment.apps/argocd-server 0/0 0 0 2m59s
NAME DESIRED CURRENT READY AGE
replicaset.apps/argocd-applicationset-controller-75cb58f45c 0 0 0 2m59s
replicaset.apps/argocd-dex-server-74968b5fdc 0 0 0 2m59s
replicaset.apps/argocd-notifications-controller-65fbf675f4 0 0 0 2m59s
replicaset.apps/argocd-redis-75b645466f 0 0 0 2m59s
replicaset.apps/argocd-repo-server-57df48bf86 0 0 0 2m59s
replicaset.apps/argocd-server-94468c5cc 0 0 0 2m59s
NAME READY AGE
statefulset.apps/argocd-application-controller 0/0 2m59s
```
3. Build
```
make
```
4. Get the tools to run it locally
```bash
make install-tools-local
```
5. Run it locally:
```bash
export ARGOCD_GPG_ENABLED=false
make start-local
```
6. Login
a. Via terminal
```bash
PASSWORD_ARGOCD=$(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo)
dist/argocd login localhost:8080 --plaintext --insecure --username admin --password $PASSWORD_ARGOCD
```
b. Via browser (localhost:4000)
![](https://i.imgur.com/b4wQzzT.png)
7. Stop it and clear things up
Stop the ArgoCD components
```
Press CTRL+C # for the goreman
```
Delete the cluster
```bash
kind delete cluster --name my-argocd-cluster
```
## Start locally performance test
At some point, after startng the SSH server:
```logs
23:12:28 git-server | 21:12:28 sshd | Server listening on 0.0.0.0 port 2222.
23:12:28 git-server | 21:12:28 sshd | Server listening on :: port 2222.
```
For about 3 minutes, the CPU is going 100% and nearly eat up all the memory.
![](https://i.imgur.com/2GLMBlb.png)
After these 3 minutes (notice the timestamp 23:12:28 --> 23:15:28), the CPU goes into normal usage, this what where you start seeing logs again:
![](https://i.imgur.com/usVPQYF.png)
```
23:15:28 cmp-server | INFO[0000] ArgoCD ConfigManagementPlugin Server is starting built="1970-01-01T00:00:00Z" commit= version=v99.99.99+unknown
23:15:28 cmp-server | INFO[0000] No discovery configuration is defined for plugin cmp-plugin. To use this plugin, specify "cmp-plugin-v1.0" in the Application's spec.source.plugin.name field.
23:15:28 cmp-server | INFO[0000] argocd-cmp-server v99.99.99+unknown serving on ./test/cmp/cmp-plugin-v1.0.sock
23:15:28 notification | time="2023-04-05T23:15:28+02:00" level=info msg="ArgoCD Notifications Controller is starting" built="1970-01-01T00:00:00Z" commit= namespace=argocd version=v99.99.99+unknown
23:15:28 notification | time="2023-04-05T23:15:28+02:00" level=info msg="serving metrics on port 9001"
23:15:28 notification | time="2023-04-05T23:15:28+02:00" level=info msg="loading configuration 9001"
23:15:28 notification | time="2023-04-05T23:15:28+02:00" level=warning msg="Controller is running."
23:15:28 api-server | INFO[0000] ArgoCD API Server is starting built="1970-01-01T00:00:00Z" commit= namespace=argocd port=8080 version=v99.99.99+unknown
23:15:28 api-server | INFO[0000] Starting configmap/secret informers
23:15:28 api-server | INFO[0000] Configmap/secret informer synced
23:15:28 api-server | WARN[0000] argocd not in PATH
23:15:28 api-server | INFO[0000] argocd v99.99.99+unknown serving on port 8080 (url: , tls: false, namespace: argocd, sso: false)
23:15:28 api-server | INFO[0000] Enabled application namespace patterns: argocd
23:15:28 api-server | INFO[0000] 0xc000503680 subscribed to settings updates
23:15:28 api-server | INFO[0000] Starting rbac config informer
23:15:28 api-server | INFO[0000] RBAC ConfigMap 'argocd-rbac-cm' added
23:15:28 applicationset-controller | time="2023-04-05T23:15:28+02:00" level=info msg="ArgoCD ApplicationSet Controller is starting" built="1970-01-01T00:00:00Z" commit= namespace=argocd version=v99.99.99+unknown
23:15:28 applicationset-controller | time="2023-04-05T23:15:28+02:00" level=info msg="Starting configmap/secret informers"
23:15:28 repo-server | INFO[0000] ArgoCD Repository Server is starting built="1970-01-01T00:00:00Z" commit= port=8081 version=v99.99.99+unknown
23:15:28 repo-server | INFO[0000] Generating self-signed TLS certificate for this session
23:15:28 controller | INFO[0000] ArgoCD Application Controller is starting built="1970-01-01T00:00:00Z" commit= namespace=argocd version=v99.99.99+unknown
23:15:28 dex | time="2023-04-05T23:15:28+02:00" level=info msg="Starting configmap/secret informers"
23:15:28 controller | INFO[0000] Processing all cluster shards
23:15:28 controller | INFO[0000] appResyncPeriod=3m0s, appHardResyncPeriod=0s
23:15:28 controller | INFO[0000] Starting configmap/secret informers
23:15:28 applicationset-controller | time="2023-04-05T23:15:28+02:00" level=info msg="Configmap/secret informer synced"
23:15:28 applicationset-controller | time="2023-04-05T23:15:28+02:00" level=info msg="Starting manager"
23:15:28 applicationset-controller | time="2023-04-05T23:15:28+02:00" level=info msg="Starting webhook server"
23:15:28 dex | time="2023-04-05T23:15:28+02:00" level=info msg="Configmap/secret informer synced"
23:15:28 controller | INFO[0000] Configmap/secret informer synced
23:15:28 controller | INFO[0000] Start watch clusters
23:15:28 controller | INFO[0000] 0xc000e3c360 subscribed to settings updates
23:15:28 dex | time="2023-04-05T23:15:28+02:00" level=info msg="dex is not configured"
23:15:28 controller | INFO[0000] Starting secretInformer forcluster
23:15:28 repo-server | INFO[0000] argocd-repo-server is listening on [::]:8081
23:15:28 controller | DEBU[0000] Successfully saved info of 1 clusters
```
Notice that all these logs are happening at the same exact time.
In general, it looks like running `make start-local` requires a PC with 32GB of RAM and more than 4 native CPU cores.
Another thing I've noticed is that here is network spike every 15 seconds.
# Make start workflow
Pretty much do all the same thing but in the end run `make start` instead of `make start-local`
This fails, see the full log:
```bash=
21:48:27 repo-server | Starting repo-server on port 5400
21:48:27 reaper | Starting reaper on port 5600
21:48:27 api-server | Starting api-server on port 5100
21:48:27 sshd | Starting sshd on port 5700
21:48:27 dex | Starting dex on port 5200
21:48:27 applicationset-controller | Starting applicationset-controller on port 6200
21:48:27 dev-mounter | Starting dev-mounter on port 6100
21:48:27 nginx | Starting nginx on port 5900
21:48:27 ui | Starting ui on port 5500
21:48:27 notification | Starting notification on port 6300
21:48:27 controller | Starting controller on port 5000
21:48:27 fcgiwrap | Starting fcgiwrap on port 5800
21:48:27 helm-registry | Starting helm-registry on port 6000
21:48:27 redis | Starting redis on port 5300
21:48:27 reaper | Running as ./test/container/reaper.sh (/go/src/github.com/argoproj/argo-cd)
21:48:27 dex | cannot find package "github.com/argoproj/argo-cd/vendor/github.com/argoproj/argo-cd/cmd" in:
21:48:27 dex | /go/src/github.com/argoproj/argo-cd/vendor/github.com/argoproj/argo-cd/cmd
21:48:27 dex | Terminating dex
21:48:27 sshd | Terminating sshd
21:48:27 fcgiwrap | Terminating fcgiwrap
21:48:27 nginx | Terminating nginx
21:48:27 redis | 11967:C 05 Apr 2023 21:48:27.355 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
21:48:27 redis | 11967:C 05 Apr 2023 21:48:27.355 # Redis version=7.0.9, bits=64, commit=00000000, modified=0, pid=11967, just started
21:48:27 redis | 11967:C 05 Apr 2023 21:48:27.355 # Configuration loaded
21:48:27 redis | 11967:M 05 Apr 2023 21:48:27.356 * monotonic clock: POSIX clock_gettime
21:48:27 redis | 11967:M 05 Apr 2023 21:48:27.357 * Running mode=standalone, port=6379.
21:48:27 redis | 11967:M 05 Apr 2023 21:48:27.357 # Server initialized
21:48:27 redis | 11967:M 05 Apr 2023 21:48:27.358 * Ready to accept connections
21:48:27 helm-registry | time="2023-04-05T21:48:27.419818535Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.16.15 instance.id=818d8a71-1a57-4912-b1b5-aefdc145f8b4 service=registry version="v2.8.1+unknown"
21:48:27 helm-registry | time="2023-04-05T21:48:27.42045247Z" level=info msg="Starting upload purge in 52m0s" go.version=go1.16.15 instance.id=818d8a71-1a57-4912-b1b5-aefdc145f8b4 service=registry version="v2.8.1+unknown"
21:48:27 helm-registry | time="2023-04-05T21:48:27.420708146Z" level=info msg="redis not configured" go.version=go1.16.15 instance.id=818d8a71-1a57-4912-b1b5-aefdc145f8b4 service=registry version="v2.8.1+unknown"
21:48:27 helm-registry | time="2023-04-05T21:48:27.433586054Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.16.15 instance.id=818d8a71-1a57-4912-b1b5-aefdc145f8b4 service=registry version="v2.8.1+unknown"
21:48:27 helm-registry | time="2023-04-05T21:48:27.434172793Z" level=info msg="listening on [::]:5000" go.version=go1.16.15 instance.id=818d8a71-1a57-4912-b1b5-aefdc145f8b4 service=registry version="v2.8.1+unknown"
21:48:27 ui | yarn run v1.22.19
21:48:27 ui | $ webpack-dev-server --config ./src/app/webpack.config.js --mode development
21:48:29 ui | Bundling in development...
21:48:31 ui | <i> [webpack-dev-server] [HPM] Proxy created: /extensions -> http://localhost:8080
21:48:31 ui | <i> [webpack-dev-server] [HPM] Proxy created: /api -> http://localhost:8080
21:48:31 ui | <i> [webpack-dev-server] [HPM] Proxy created: /auth -> http://localhost:8080
21:48:31 ui | <i> [webpack-dev-server] [HPM] Proxy created: /terminal -> ws://localhost:8080
21:48:31 ui | <i> [webpack-dev-server] [HPM] Proxy created: /swagger-ui -> http://localhost:8080
21:48:31 ui | <i> [webpack-dev-server] [HPM] Proxy created: /swagger.json -> http://localhost:8080
21:48:34 ui | <i> [webpack-dev-server] Project is running at:
21:48:34 ui | <i> [webpack-dev-server] Loopback: http://localhost:4000/
21:48:34 ui | <i> [webpack-dev-server] On Your Network (IPv4): http://172.17.0.2:4000/
21:48:34 ui | <i> [webpack-dev-server] Content not from webpack is served from '/go/src/github.com/argoproj/argo-cd/ui/public' directory
21:48:34 ui | <i> [webpack-dev-server] 404s will fallback to '/index.html'
21:50:33 dev-mounter | time="2023-04-05T21:50:33Z" level=fatal msg="invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable"
21:50:33 dev-mounter | exit status 1
21:50:33 dev-mounter | Terminating dev-mounter
21:51:04 ui | <i> [webpack-dev-middleware] wait until bundle finished: /api/v1/applications?fields=metadata.resourceVersion%2Citems.metadata.name%2Citems.metadata.namespace%2Citems.metadata.annotations%2Citems.metadata.labels%2Citems.metadata.creationTimestamp%2Citems.metadata.deletionTimestamp%2Citems.spec%2Citems.operation.sync%2Citems.status.sync.status%2Citems.status.sync.revision%2Citems.status.health%2Citems.status.operationState.phase%2Citems.status.operationState.finishedAt%2Citems.status.operationState.operation.sync%2Citems.status.summary%2Citems.status.resources&selector=&appNamespace=
21:51:15 ui | assets by path *.js 42.9 MiB
21:51:15 ui | assets by chunk 2.15 MiB (id hint: vendors)
21:51:15 ui | asset vendors-include-loader_node_modules_monaco-editor_esm_vs_editor_editor_main_js.242cd316879acf04e5cc.chunk.js 425 KiB [emitted] [immutable] (id hint: vendors)
21:51:15 ui | asset vendors-node_modules_monaco-editor_esm_vs_language_json_jsonMode_js.c165ea5b8bf5877dcfa7.chunk.js 221 KiB [emitted] [immutable] (id hint: vendors)
21:51:15 ui | asset vendors-node_modules_monaco-editor_esm_vs_language_html_htmlMode_js.ee8b6767b72162d20a89.chunk.js 183 KiB [emitted] [immutable] (id hint: vendors)
21:51:15 ui | asset vendors-node_modules_monaco-editor_esm_vs_language_css_cssMode_js.e8cd4184e97663550f2c.chunk.js 180 KiB [emitted] [immutable] (id hint: vendors)
21:51:15 ui | + 23 assets
21:51:15 ui | + 58 assets
21:51:15 ui | assets by path assets/ 3.05 MiB
21:51:15 ui | assets by path assets/images/ 636 KiB 39 assets
21:51:15 ui | assets by path assets/fonts/ 1.6 MiB 33 assets
21:51:15 ui | assets by path assets/favicon/ 4.17 KiB 3 assets
21:51:15 ui | asset assets/scripts/redoc.standalone.js 846 KiB [emitted] [copied]
21:51:15 ui | asset assets/fonts.css 2.16 KiB [emitted] [copied]
21:51:15 ui | asset index.html 870 bytes [emitted]
21:51:15 ui | orphan modules 462 KiB [orphan] 643 modules
21:51:15 ui | runtime modules 39.3 KiB 18 modules
21:51:15 ui | modules by path ./node_modules/ 11.7 MiB 2070 modules
21:51:15 ui | modules by path ./src/app/ 892 KiB
21:51:15 ui | modules by path ./src/app/applications/ 531 KiB 129 modules
21:51:15 ui | modules by path ./src/app/shared/ 118 KiB 75 modules
21:51:15 ui | modules by path ./src/app/settings/ 192 KiB 41 modules
21:51:15 ui | modules by path ./src/app/user-info/ 8.28 KiB 5 modules
21:51:15 ui | modules by path ./src/app/help/ 5.46 KiB 4 modules
21:51:15 ui | modules by path ./src/app/login/ 10.8 KiB 4 modules
21:51:15 ui | modules by path ./src/app/ui-banner/ 7.25 KiB 3 modules
21:51:15 ui | modules by path ./src/app/sidebar/ 8 KiB 3 modules
21:51:15 ui | modules by path ./src/app/*.tsx 10.9 KiB 2 modules
21:51:15 ui | semver (ignored) 15 bytes [built] [code generated]
21:51:15 ui | ./util.inspect (ignored) 15 bytes [built] [code generated]
21:51:15 ui | webpack 5.70.0 compiled successfully in 162251 ms
21:51:15 ui | <e> [webpack-dev-server] [HPM] Error occurred while proxying request localhost:4000/api/v1/applications?fields=metadata.resourceVersion%2Citems.metadata.name%2Citems.metadata.namespace%2Citems.metadata.annotations%2Citems.metadata.labels%2Citems.metadata.creationTimestamp%2Citems.metadata.deletionTimestamp%2Citems.spec%2Citems.operation.sync%2Citems.status.sync.status%2Citems.status.sync.revision%2Citems.status.health%2Citems.status.operationState.phase%2Citems.status.operationState.finishedAt%2Citems.status.operationState.operation.sync%2Citems.status.summary%2Citems.status.resources&selector=&appNamespace= to http://localhost:8080/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)
21:51:18 repo-server | INFO[0000] ArgoCD Repository Server is starting built="1970-01-01T00:00:00Z" commit= port=8081 version=v99.99.99+unknown
21:51:18 repo-server | INFO[0000] Generating self-signed TLS certificate for this session
21:51:19 api-server | FATA[0000] invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
21:51:19 api-server | exit status 20
21:51:19 repo-server | INFO[0000] Initializing GnuPG keyring at /tmp/argocd-local/gpg/keys
21:51:19 repo-server | INFO[0000] gpg --no-permission-warning --logger-fd 1 --batch --gen-key /tmp/gpg-key-recipe3347780450 dir= execID=af98a
21:51:19 api-server | Terminating api-server
21:51:19 controller | FATA[0000] invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
21:51:19 controller | exit status 20
21:51:19 repo-server | DEBU[0000] gpg: keybox '/tmp/argocd-local/gpg/keys/pubring.kbx' created
21:51:19 repo-server | gpg: /tmp/argocd-local/gpg/keys/trustdb.gpg: trustdb created
21:51:19 repo-server | gpg: key 5A195DC8557BFC6E marked as ultimately trusted
21:51:19 repo-server | gpg: directory '/tmp/argocd-local/gpg/keys/openpgp-revocs.d' created
21:51:19 repo-server | gpg: revocation certificate stored as '/tmp/argocd-local/gpg/keys/openpgp-revocs.d/6B151EEA501974D396037FCE5A195DC8557BFC6E.rev' duration=237.955558ms execID=af98a
21:51:19 repo-server | INFO[0000] Trace args="[gpg --no-permission-warning --logger-fd 1 --batch --gen-key /tmp/gpg-key-recipe3347780450]" dir= operation_name="exec gpg" time_ms=238.118304
21:51:19 repo-server | INFO[0000] Populating GnuPG keyring with keys from /tmp/argocd-local/gpg/source
21:51:19 repo-server | INFO[0000] gpg --no-permission-warning --list-public-keys dir= execID=54361
21:51:19 repo-server | DEBU[0000] /tmp/argocd-local/gpg/keys/pubring.kbx
21:51:19 repo-server | --------------------------------------
21:51:19 repo-server | pub rsa2048 2023-04-05 [SC] [expires: 2023-10-02]
21:51:19 repo-server | 6B151EEA501974D396037FCE5A195DC8557BFC6E
21:51:19 repo-server | uid [ultimate] Anon Ymous (ArgoCD key signing key) <noreply@argoproj.io>
21:51:19 repo-server | duration=9.227392ms execID=54361
21:51:19 repo-server | INFO[0000] Trace args="[gpg --no-permission-warning --list-public-keys]" dir= operation_name="exec gpg" time_ms=9.295919999999999
21:51:19 repo-server | INFO[0000] gpg --no-permission-warning -a --export 5A195DC8557BFC6E dir= execID=0540a
21:51:19 repo-server | DEBU[0000] -----BEGIN PGP PUBLIC KEY BLOCK-----
21:51:19 repo-server | mQENBGQt7VcBCADnSwNOpJo3gI2RSjnrhQGwAOJw9XpExOlFMk6ircsbnZvXIVH3
21:51:19 repo-server | XF1KN1gwpVcCD5URPpsVZxvm1f1W98XAmQshuYasdo9kIZb8NBSCV08/FZU80fqT
21:51:19 repo-server | z9lSorP3uOHPL5fopkmsAkJ2rEP71GUvarFhZE2dKwyVfnif7A+D9SSs92z1MCb2
21:51:19 repo-server | GsAIqWfkoS3Tp9Kc6gKmhRu4l/LC0Ucg1R2HptApBRCT/RonUsRQehuc1MzGvZUq
21:51:19 repo-server | Ha97bfgNyob14I8v7vLDKkCSa8z++tWzqTPPLz5WdwEnQFnESsOSYpfOCqll1IFZ
21:51:19 repo-server | qQYykU/s8vOZH5oKBoX+KPWVhp1TADbQ4yVZABEBAAG0OUFub24gWW1vdXMgKEFy
21:51:19 repo-server | Z29DRCBrZXkgc2lnbmluZyBrZXkpIDxub3JlcGx5QGFyZ29wcm9qLmlvPokBVAQT
21:51:19 repo-server | AQoAPhYhBGsVHupQGXTTlgN/zloZXchVe/xuBQJkLe1XAhsDBQkA7U4ABQsJCAcC
21:51:19 repo-server | BhUKCQgLAgQWAgMBAh4BAheAAAoJEFoZXchVe/xuMlsIAKioCJI9toFktXS9+Q9K
21:51:19 repo-server | JEh9iZUclbsZReWT7uUFP6bvwcqT8nJ1VyrE3dBfEhbdFbSMdfmxUp+yyxazg2na
21:51:19 repo-server | qUA1e+hL/+ys51ZxfsGA9grOrKoi+yO1THWFeWg2OSm7D/FRT8kM6I6nYsVXlPr0
21:51:19 repo-server | gtTxvDDEopJlDpBKx6Ixw03S7oeeFb6427nn2kGBoI9zJzpmGhQlXSuQcYiJnBOQ
21:51:19 repo-server | 57qbhtWZkZXM+cxLH8nFi8iTdmVvOX8DPnl61I6Zi+RKoK1M6QYDTlkqCqwHW/Wv
21:51:19 repo-server | 3NSoV3H1iwjyE+fXBrxObv3XFzLxy9oh3UA1TbCfWziA8XjuQfNpAUfRIXLu+Fyw
21:51:19 repo-server | e4Q=
21:51:19 repo-server | =IlYI
21:51:19 repo-server | -----END PGP PUBLIC KEY BLOCK----- duration=3.040023ms execID=0540a
21:51:19 repo-server | INFO[0000] Trace args="[gpg --no-permission-warning -a --export 5A195DC8557BFC6E]" dir= operation_name="exec gpg" time_ms=3.156215
21:51:19 repo-server | INFO[0000] gpg-wrapper.sh --no-permission-warning --list-secret-keys 5A195DC8557BFC6E dir= execID=af594
21:51:19 repo-server | DEBU[0000] sec rsa2048 2023-04-05 [SC] [expires: 2023-10-02]
21:51:19 repo-server | 6B151EEA501974D396037FCE5A195DC8557BFC6E
21:51:19 repo-server | uid [ultimate] Anon Ymous (ArgoCD key signing key) <noreply@argoproj.io> duration=11.853366ms execID=af594
21:51:19 repo-server | INFO[0000] Trace args="[gpg-wrapper.sh --no-permission-warning --list-secret-keys 5A195DC8557BFC6E]" dir= operation_name="exec gpg-wrapper.sh" time_ms=11.953927
21:51:19 repo-server | INFO[0000] Loaded 0 (and removed 0) keys from keyring
21:51:19 repo-server | INFO[0000] argocd-repo-server is listening on [::]:8081
21:51:19 repo-server | INFO[0000] Starting GPG sync watcher on directory '/tmp/argocd-local/gpg/source'
21:51:19 controller | Terminating controller
21:51:19 notification | time="2023-04-05T21:51:19Z" level=fatal msg="invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable"
21:51:19 notification | exit status 20
21:51:19 applicationset-controller | time="2023-04-05T21:51:19Z" level=fatal msg="invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable"
21:51:19 applicationset-controller | exit status 20
21:51:19 notification | Terminating notification
21:51:19 applicationset-controller | Terminating applicationset-controller
21:53:53 ui | <e> [webpack-dev-server] [HPM] Error occurred while proxying request localhost:4000/api/v1/applications?fields=metadata.resourceVersion%2Citems.metadata.name%2Citems.metadata.namespace%2Citems.metadata.annotations%2Citems.metadata.labels%2Citems.metadata.creationTimestamp%2Citems.metadata.deletionTimestamp%2Citems.spec%2Citems.operation.sync%2Citems.status.sync.status%2Citems.status.sync.revision%2Citems.status.health%2Citems.status.operationState.phase%2Citems.status.operationState.finishedAt%2Citems.status.operationState.operation.sync%2Citems.status.summary%2Citems.status.resources&selector=&appNamespace= to http://localhost:8080/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)
21:53:54 ui | <e> [webpack-dev-server] [HPM] Error occurred while proxying request localhost:4000/extensions.js to http://localhost:8080/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)
21:53:54 ui | <e> [webpack-dev-server] [HPM] Error occurred while proxying request localhost:4000/api/version to http://localhost:8080/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)
21:53:54 ui | <e> [webpack-dev-server] [HPM] Error occurred while proxying request localhost:4000/api/v1/settings to http://localhost:8080/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)
21:53:54 ui | <e> [webpack-dev-server] [HPM] Error occurred while proxying request localhost:4000/api/v1/settings to http://localhost:8080/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)
21:53:54 ui | <e> [webpack-dev-server] [HPM] Error occurred while proxying request localhost:4000/api/version to http://localhost:8080/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors)
```
This is how it looks like from the UI:
![](https://i.imgur.com/IxWfhfn.png)