## Ingress são configuração para o Proxy Http do cluster. 
## As requisições feitas são direcionadas para o Service correto de acordo 
## com os vários arquivos de configuração Ingress.
## Um arquivo pode possuir mais de um DNS, ou é possível separar em diversos arquivos.
## É possível configurar mais de um Proxy Http para o cluster.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  ## para o k8s versão < 1.18.0, usamos a anotação abaixo para indicar 
  ## qual proxy configurado no cluster deve ser usado
  # annotations:
  #   kubernetes.io/ingress.class: generic-ingress  # 
  name: example-ingress
  namespace: example-ns
  labels:
    ## Labels comuns - https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
    app.kubernetes.io/name: example-app
    app.kubernetes.io/instance: example-app-1
    app.kubernetes.io/version: "4.0.0"
    app.kubernetes.io/component: api
    app.kubernetes.io/part-of: example-app
    app.kubernetes.io/managed-by: manual
    app.kubernetes.io/created-by: manual
spec:
  ## para o k8s versão >= 1.18.0, usamos a propriedade abaixo para
  ## indicar qual proxy configurado no cluster deve ser usado
  ingressClassName: generic-ingress 
  rules:
  - host: example.127-0-0-1.nip.io
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: example-service
            port:
              name: http
