Hello,
i have to application with different nginx configuration that i'm trying to "translate" into ingress traefik mode (not ingress route)
i have trying different solution but i think i'm missing some.
the first one:
testkube-api:
uiIngress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /$1
cert-manager.io/cluster-issuer: letsencrypt-prod
acme.cert-manager.io/http01-edit-in-place: "true"
path: /results/(v\d/.*)
hosts:
- your-host.com
tlsenabled: "true"
tls:
- hosts:
- your-host.com
secretName: testkube-cert-secret
testkube-dashboard:
ingress:
enabled: "true"
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
cert-manager.io/cluster-issuer: letsencrypt-prod
acme.cert-manager.io/http01-edit-in-place: "true"
path: /
hosts:
- your-host.com
tlsenabled: "true"
tls:
- hosts:
- your-host.com
secretName: testkube-cert-secret
apiServerEndpoint: "your-host.com/results"
i have trying someting like:
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: cors
namespace: kube-infra
spec:
headers:
accessControlAllowMethods:
- "GET"
- "OPTIONS"
accessControlAllowOriginList:
- "https://testkube.home.oursain.net"
accessControlMaxAge: 100
addVaryHeader: true
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: strip-prefix
namespace: kube-infra
spec:
stripPrefix:
prefixes:
- /results
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: cli-header
namespace: kube-infra
spec:
headers:
customRequestHeaders:
X-CLI-Ingress: "true"
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: testkube-traefik
namespace: testkube
spec:
entryPoints:
- web
- websecure
routes:
- kind: Rule
match: Host(`testkube-api.home.oursain.net`) && PathPrefix(`/results/v1/{path:.*}`)
middlewares:
- name: strip-prefix
namespace: kube-infra
#- name: cli-header
# namespace: kube-infra
services:
- name: testkube-api-server
port: 8088
- kind: Rule
match: Host(`testkube-api.home.oursain.net`) && PathPrefix(`/results/v1/executions{path:.*}`)
middlewares:
- name: strip-prefix
namespace: kube-infra
- name: cors
namespace: kube-infra
services:
- name: testkube-api-server
port: 8088
- kind: Rule
match: Host(`testkube.home.oursain.net`) && PathPrefix(`/`)
services:
- name: testkube-dashboard
port: 8080
tls:
secretName: testkube-tf.home.oursain.net-secret
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: testkube-tf-tls
namespace: testkube
spec:
secretName: testkube-tf.home.oursain.net-secret
issuerRef:
name: letsencrypt
kind: ClusterIssuer
dnsNames:
- testkube-tf.home.oursain.net
without success
and the second use case look like
host:
name: litmusportal.home.oursain.net
frontend:
#path: /
path: /(.*)
pathType: ImplementationSpecific
backend:
#path: /backend/
path: /backend/(.*)
pathType: ImplementationSpecific
any help should be really apprecied