Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Suggestion] - Add the option to add a local proxy container in de application pod when the Base URL is not reachable from within the pod #895

Open
1 task done
ChampiYann opened this issue Oct 18, 2024 · 2 comments

Comments

@ChampiYann
Copy link

Suggestion

We are running into the following situation:
Jira needs to be able to reach itself using the base URL but the ingress controller we have at our disposal does not allow connections from within the cluster. Therefore there is no path to the base URL and Jira cannot work properly.
Similarly Confluence needs to be able to reach synchrony through the same URL as user do, which is the URL configured at the ingress controller. Therefore Confluence synchrony do not work properly together.
Another related issue is the creation of an application link which does not work due to the same problem when running both applications in the same cluster.

One solution would be to add a proxy container to the application pod and "trick" the application to connect to it instead when the application connects to the base URL.
The Jira proxy would then redirect Jira traffic to the Jira container within the pod and the Confluence proxy would redirect synchrony traffic to the synchrony service.
Additionally this proxy could be used by Jira and Confluence to reach each other using their respective services instead of the ingress controller.

The implementation could look something like this: https://github.com/ChampiYann/data-center-helm-charts/tree/local-proxy

Proposed network flow diagram:

graph TB
client --TCP/443--> ingress-controller
subgraph cluster
  ingress-controller --TCP/80--> jira-svc
  ingress-controller --TCP/80--> confluence-svc
  subgraph jira-ns
    jira-svc{jira-svc} --TCP/8080--> jira
    subgraph jira-pod
      jira --TCP/443--> jira-proxy[proxy]
      jira-proxy --TCP/8080--> jira
    end
  end
  subgraph confluence-ns
    confluence-svc{confluence-svc} --TCP/8090--> confluence
    synchrony-svc{synchrony-svc} --TCP/8091--> synchrony-pod
    confluence-proxy --TCP/80--> synchrony-svc
    subgraph confluence-pod
      confluence --TCP/443--> confluence-proxy[proxy]
    end
  end
end
jira-proxy --TCP/80--> confluence-svc
confluence-proxy --TCP/80--> jira-svc
Loading

Product

Jira, Confluence

Code of Conduct

  • I agree to follow this project's Code of Conduct
@manojks1999
Copy link

Hi @ChampiYann , can I work on this ?

@ChampiYann
Copy link
Author

I don't see why not. You can start from the work I already did on my fork if you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants