Open NiklasRosenstein opened 7 months ago
Application manifest:
project: default
source:
repoURL: 'http://manifest-server/app-manifests-minio'
path: ./
destination:
server: 'https://kubernetes.default.svc'
namespace: minio
syncPolicy:
retry:
limit: 1
I've now set up HTTPS using a custom root CA, but I end up with the same error after I managed to configure the TLS certificate in ArgoCD (before that it would give x509 certificate signed by unknown authority error as one would expect).
So the issue might not be related to cloning via HTTP instead of HTTPS after all. I've also verified that the repository content can be understood by ArgoCD by replicating the content in a GitHub repository and pulling it from there.
It might be that ArgoCD can't clone from a "dumb Git server". I'm indeed using a dumb NGINX web server at the moment and run git update-server-info
on the Git repositories to be able to clone them. I will try to setup up a "Smart HTTP" server next.
Indeed, using fcgiwrap
+ git-http-backend
works with HTTPS. I might give it a try with HTTP tomorrow, but given that I've now got HTTPS set up I might just roll with it.
server {
server_name _;
listen 8080 ssl;
ssl_certificate /opt/ssl/tls.crt;
ssl_certificate_key /opt/ssl/tls.key;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param GIT_HTTP_EXPORT_ALL "";
fastcgi_param GIT_PROJECT_ROOT /srv/git;
fastcgi_param PATH_INFO $uri;
fastcgi_pass unix:/opt/run/fcgiwrap.socket;
}
}
Any idea what could be preventing ArgoCD from cloning a Git repository from a "dumb" Git HTTP(S) server?
+1, I am experiencing exactly the same problem
Have you tried to overcome this problem by using SSH connection over HTTPS?
Checklist:
argocd version
.Describe the bug
I'm deploying in an on-prem environment and need to make pre-built manifests available to ArgoCD. My chosen method currently involves deploying an additional NGINX web server that serves bare Git repositories (with
git update-server-info
) from disk.This works well up until the point when ArgoCD tries to clone the repository.
However, in ArgoCD I get the following error:
To Reproduce
mkdir -p /tmp/test && cd /tmp/test && g init --bare . && git update-server-info
docker run --name nginx-test -v /tmp/test:/usr/share/nginx/html:ro -p 8080:8080 -d nginx
http://localhost:8080/
withpath: ./
Expected behavior
ArgoCD is able to clone the repository via HTTP and apply the
manifest.yaml
file from the cloned repository.Screenshots
Version
Logs