apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kubernetes-api
  namespace: default
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.frontend.rule.type: PathPrefixStrip
spec:
  rules:
  - http:
      paths:
      - path: /api
        backend:
          serviceName: kubernetes
          servicePort: 443
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/ingress.class: traefik
    ingress.kubernetes.io/secure-backends: "true"
    traefik.frontend.rule.type: PathPrefixStrip
spec:
  rules:
  - http:
      paths:
      - path: /kubernetes-dashboard
        backend:
          serviceName: kubernetes-dashboard
          servicePort: 443
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: helloworld
  namespace: default
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  rules:
  - http: &http_rules
      paths:
      - backend:
          serviceName: hello-kubernetes
          servicePort: 80
---
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: jaeger
  namespace: observability
spec:
  allInOne:
    options:
      query:
        base-path: /jaeger
  annotations:
    kubernetes.io/ingress.class: traefik
    ingress.kubernetes.io/auth-type: basic
    ingress.kubernetes.io/auth-secret: observability-jaeger
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: monitoring-prometheus-alertmanager
  namespace: kubernetes-monitoring
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.frontend.rule.type: PathPrefixStrip
    ingress.kubernetes.io/auth-type: basic
    ingress.kubernetes.io/auth-secret: monitoring-prometheus
spec:
  rules:
  - http:
      paths:
      - path: /prometheus-alert
        backend:
          serviceName: monitoring-prometheus-alertmanager
          servicePort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: monitoring-grafana
  namespace: kubernetes-monitoring
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.frontend.rule.type: PathPrefixStrip
spec:
  rules:
  - http:
      paths:
      - path: /grafana
        backend:
          serviceName: monitoring-grafana
          servicePort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: monitoring-prometheus-server
  namespace: kubernetes-monitoring
  annotations:
    kubernetes.io/ingress.class: traefik
    ingress.kubernetes.io/auth-type: basic
    ingress.kubernetes.io/auth-secret: monitoring-prometheus
spec:
  rules:
  - http:
      paths:
      - path: /prometheus
        backend:
          serviceName: monitoring-prometheus-server
          servicePort: 80
