Installation
information
Only available for Kubernetes (k8s)
To proceed with the installation of ArgoCD on our platform we need to execute the following steps:
- We create the namespace
kubectl create namespace argocd
- Install the manifest with kubectl
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Since ArgoCD is not exposed to the outside, we have two options:
- Access internally with
kubectl port-forward svc/argocd-server -n argocd 8080:443
- Or expose it and for this we must create an ingress.yaml for them as follows:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-server-ingress
namespace: argocd
annotations:
cert-manager.io/cluster-issuer: letsencrypt-nginx
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
# If you encounter a redirect loop or are getting a 307 response code
# then you need to force the nginx ingress to connect to the backend using HTTPS.
#
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
ingressClassName: appsec-nginx
rules:
- host: argocd.yourdomain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argocd-server
port:
name: https
tls:
- hosts:
- argocd.yourdomain.com
secretName: argocd-server-tls # as expected by argocd-server
And now we must apply it with:
kubectl apply -f ingress.yaml -n argocd