question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Optional path consuming for the ingress identifier

See original GitHub issue

Similar to the path identifier, I suspect most folks will want the l5d ingress controller consume the beginning of the path used for routing.

One way to do this would be with ingress resource annotations, something like

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    kubernetes.io/ingress.class: "linkerd"
    linkerd/consume.segments: 2

Another would be in the linkerd config:

routers:
- protocol: http
  identifier:
    kind: io.l5d.http.ingress
    segments: 2

Or we could support both? I’m leaning towards ingress resource annotations since it would be the most flexible for users.

Issue Analytics

  • State:open
  • Created 7 years ago
  • Reactions:4
  • Comments:10 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
ppwfxcommented, Apr 2, 2017

Isn’t the path identifier intended to be used for routing? At least that’s how the mainstream implementations are behaving.

E.g. given the configuration below, /foo/yo would be routed to the service listed in -path: /foo.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - path: /foo
        backend:
          serviceName: s1
          servicePort: 80

I actually don’t see any need for providing additional vendor specific configuration. Please correct me if I’m wrong… 😃

0reactions
esbiecommented, May 25, 2017

Cool! Convened w/ @adleong and it seems like the h2 requests’s :path header should be changed since there’s no uri

Read more comments on GitHub >

github_iconTop Results From Across the Web

Ingress - Kubernetes
An optional host. · A list of paths (for example, /testpath ), each of which has an associated backend defined with a service.name...
Read more >
Configuring Ingress features | Google Kubernetes Engine (GKE)
The Ingress controller uses the specific BackendConfig when it creates a load balancer backend service for a referenced Service port. Replace the following:...
Read more >
Path-based Nginx Ingress Routing Example for Runtime ...
A template that uses the rtf- prefix in the ingressClassName, for example, rtf-nginx, is consumed by the Runtime Fabric agent only and not...
Read more >
Regular expressions in paths - NGINX Ingress Controller
The ingress controller supports case insensitive regular expressions in the spec.rules.http.paths.path field. This can be enabled by setting the ...
Read more >
Module Configuration | Apache Flink Stateful Functions
An ingress is an input point where data is consumed from an external system and forwarded to zero or more functions. It is...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found