meshery-operator
meshery-operator copied to clipboard
Meshery Operator to watch Broker custom resource for changes to Endpoint location
Current Behavior
Meshery Server connects to Meshery Broker by way of the information contained in the broker
custom resource, specifically, the IP / hostname contained in the Endpoint
section.
...
....
Status:
Endpoint:
External: localhost:4222
Internal: 10.96.168.204:4222
Events: <none>
Desired Behavior
When this endpoint location changes, Meshery Server learns of it and updates the location it connects to.
Implementation
- Ideally, Meshery Operator informs Meshery Server of this change (pushes the change), so that this is an event-based flow.2.
- If this isn't feasible, users should be able to manually have Meshery Server refresh this information. Let's avoid period polling initially as it only brings in more concerns.
Acceptance Tests
- Users can update networking of their broker, update the endpoint location in their custom resource, and then have Meshery Server refresh the endpoint location information. Then, establish a new subscription to the MeshSync topic.2.
Mockups
See Meshery Architecture deck for sequence diagrams.
Contributor Guides and Resources
- π Meshery Build & Release Strategy
- π Instructions for contributing to documentation
- π¨ Wireframes and designs for Meshery UI in Figma
- ππΎππΌ Questions: Layer5 Discussion Forum and Layer5 Community Slack
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@leecalcote I would like to work on this issue. Can you give me some pointer on this?
Bump
I noticed this happening, and I am researching to see how to make this better.
@leecalcote can i take this issue?
@rohan472000, yes, please propose a solution so that your approach can be vetted before you spend time implementing.
@leecalcote we can implement a watch on the custom resource, which tracks changes to the endpoint location, the meshery operator can trigger this watch, which will notify Meshery Server of any changes to the endpoint location.
or
we can provide a manual refresh option to Meshery Server, this option will allow users to update the endpoint location information by triggering a refresh action. Once the endpoint location changes, Meshery Server should establish a new connection to the updated location.
or
we can use API based approach, that Meshery Server can use to retrieve the current endpoint location. Whenever the endpoint location changes, the API can return the updated information to Meshery Server. Server can call this API periodically to fetch endpoint location.
Hey @leecalcote and @acald-creator, is this issue still relevant ?
@i-dipanshu yes it is.
Thank you, @leecalcote , for the update on the issue. I've started my research to understand and resolve it. While I have experience with few other Kubernetes operators, Meshery operator is new to me. Any specific insights to help resolve this issue would be appreciated.