---
# System prepended metadata

title: TLS Ingress Configuration

---

Hello Mr. Nino, a few days ago i configured the TLS Ingress in our kubernetes cluster. The TLS Ingress configuration applied in our few services such as : 
* Grafana => [Grafana](http://grafana.openetra.net)
* Jenkins => [Jenkins](http://jenkins.openetra.net)
* Longhorn => [Longhorn](http://longhorn.openetra.net)
* Kibana => [Kibana](http://logging.openetra.net)
* Argocd => [ArgoCD](http://argocd.openetra.net)

**Here the configuration for each service:**
**1. Grafana**
```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: grafana
  namespace: monitoring
spec:
  ingressClassName: nginx
  rules:
    - host: "grafana.openetra.net"
      http:
        paths:
          - path: "/"
            pathType: Prefix
            backend:
              service:
                name: stable-grafana
                port:
                  number: 80
```

**2. Jenkins**
```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: jenkins
  namespace: jenkins
spec:
  ingressClassName: nginx
  rules:
    - host: "jenkins.openetra.net"
      http:
        paths:
          - path: "/"
            pathType: Prefix
            backend:
              service:
                name: jenkins
                port:
                  number: 8080
```

**3. ArgoCD**
```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: argocd
  namespace: argocd
  annotations:
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
  ingressClassName: nginx
  rules:
    - host: "argocd.openetra.net"
      http:
        paths:
          - path: "/"
            pathType: Prefix
            backend:
              service:
                name: argocd-server
                port:
                  number: 443
```

**4. Longhorn**
```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: longhorn
  namespace: longhorn-system
spec:
  ingressClassName: nginx
  rules:
    - host: "longhorn.openetra.net"
      http:
        paths:
          - path: "/"
            pathType: Prefix
            backend:
              service:
                name: longhorn-frontend
                port:
                  number: 80
```

**5. Kibana**
```
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: elastic-search
  namespace: kube-logging
spec:
  ingressClassName: nginx
  rules:
    - host: "logging.openetra.net"
      http:
        paths:
          - path: "/"
            pathType: Prefix
            backend:
              service:
                name: kibana-kb-http
                port:
                  number: 5601
```

My ongoing progress is configuring tls using lets encrypt in kubernetes cluster. The lets encrypt applied in cluster, but the problem is when the ingress created, the order(crd) always in pending state. 

I still search for the problem, any suggestion Mr. Nino?