Primer commit

This commit is contained in:
2025-04-27 00:12:49 +00:00
commit 801f07c13c
4 changed files with 64 additions and 0 deletions

28
ingress/ingress.yaml Normal file
View File

@ -0,0 +1,28 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd
namespace: argocd
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- argo.manabo.org
secretName: argocd-tls
rules:
- host: argo.manabo.org
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argocd-server
port:
number: 443

4
namespace.yaml Normal file
View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: argocd

14
readme.md Normal file
View File

@ -0,0 +1,14 @@
# Manifiestos para Argo CD
Este repositorio contiene los manifiestos necesarios para desplegar Argo CD, una herramienta de Continuous Delivery para Kubernetes basada en GitOps.
Se instala en el namespace argocd, utilizando los recursos oficiales del proyecto, y se expone al exterior mediante un servicio NodePort, permitiendo su acceso a través de Nginx Proxy Manager o directamente desde IP pública.
>Argo CD monitoriza los repositorios Git declarativos del clúster y sincroniza automáticamente el estado deseado con el real, facilitando el despliegue, control y actualización de aplicaciones en Kubernetes.
## Despliegue
kubectl apply -f namespace.yaml
# Instalar ArgoCD desde manifiesto oficial (26000 líneas aprox)
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl apply -f services/argocd.yaml

18
services/argocd.yaml Normal file
View File

@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: argocd-server-nodeport
namespace: argocd
spec:
type: NodePort
selector:
app.kubernetes.io/name: argocd-server
ports:
- name: http
port: 80
targetPort: 8080
nodePort: 32080
- name: https
port: 443
targetPort: 8080
nodePort: 32443