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.

Synchrony Ingress Path Incorrect

See original GitHub issue

The ingress path for synchrony is incorrect.

- path: "{{ trimSuffix "/" .Values.ingress.path }}/synchrony"

This should not rely on the .Values.ingress.path as it then nests the synchrony path inside the Confluence contextPath and/or puts synchrony at the same base path, which usually users have to authenticate to with SSO. I fixed it manually by just changing this path to /synchrony in the ingress, as I already have a context path for Confluence.

The path in the ingress should be changed to /synchrony if Confluence is using a contextPath already. But, ideally the ingress for Synchrony should be broken down in the same way the ingress is for Confluence where a host and a path are both parameters. There will also be a different requirement for ingress depending on whether the user uses or does not use a contextPath with Confluence.

User Case 1 - User uses a contextPath with Confluence

  • The same ingress can be used for both Confluence and Synchrony by putting both Confluence and Synchrony at different contextPaths. Confluence would route to {{ .Values.ingress.host }}/confluence and and Synchrony would route to {{ .Values.ingress.host }}/synchrony for example.

Use Case 2 - User does not use a contextPath with Confluence

  • The same ingress can’t be used for both Confluence and Synchrony as a different ingress will be used for a second host used by Synchronys ingress to avoid SSO collisions with the baseURL. Synchrony would route to {{ .Values.sychrony.ingress.host }} and Confluence would route to {{ .Values.ingress.host }} where they don’t have any chance of colliding.

This would create a conditional requirement to create a second ingress specifically for synchrony if a contextPath is not used as well.

I can work on a PR if you think creating a conditional for second ingress and breaking down synchrony into host and path options is feasible.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:1
  • Comments:10 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
errcode1202commented, Apr 13, 2022

All good @bordenit, we’ll look into getting this tee’d up on our end.

1reaction
badgersowcommented, Aug 4, 2021

I agree that we shouldn’t force people to have Confluence and Synchrony on the same host or with the same context path. I think it’s OK to always create a separate ingress for Synchrony - I don’t like the idea of having a conditional ingress, as it adds complexity. We can introduce new values Values.synchrony.ingress.host and Values.synchrony.ingress.path. They can by default resolve to what they are now (confluence.host and confluence.path/synchrony), but the user can override them if they want. This gives the user more flexibility, but at the same time we have sensible default values and we don’t force additional configuration on the user. Finally, I see no problem of having multiple ingresses, because Confluence does it now anyway and it works well: there is a separate ingress for /setup endpoints because they need bigger timeout.

Read more comments on GitHub >

github_iconTop Results From Across the Web

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 >
K8S Ingress controller redirect to the wrong path
I have an Nginx ingress controller running on one k8s namespace, and on another k8s namespace, I defined a pod, a service, and...
Read more >
Kubernetes: troubleshooting ingress and services traffic flows
I am going to walk you through how traffic flows from the ingress all the way to a pod. Hopefully, this will help...
Read more >
HTTPProxy Fundamentals - Documentation
HTTPProxy Fundamentals. The Ingress object was added to Kubernetes in version 1.1 to describe properties of a cluster-wide reverse HTTP proxy.
Read more >
Advanced ingress configuration - Giant Swarm Documentation
Note: If you are using TLS you also need each of the hosts in the tls section (see below) of the yaml. Path...
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