dsrvlabs / vatz

Node management integration tools in purpose of maximizing node's uptime for any protocols
https://www.dsrvlabs.com/
GNU General Public License v3.0
28 stars 15 forks source link

Request for Proposal - New Architecture for General Plugin System #495

Open rootwarp opened 10 months ago

rootwarp commented 10 months ago

Checklist

Please describe, what it's about or related Problem with

A clear description of what feature need to be developed or enhanced in Vatz

Describe the output that you are expecting for above

A clear and concise description of what you expect to happen.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.


WIP - Drafting.

Rationale

Plugin Side Feature Registration

Technical Challanges

Expected Effects

rootwarp commented 10 months ago

@xellos00 We could start discussion from this.

xellos00 commented 10 months ago

@xellos00 We could start discussion from this.

I will set up a meeting next Tuesday, if you are available on 10:00 AM at 9/12/2023 (KST). let me know.

rootwarp commented 10 months ago

@xellos00 We could start discussion from this.

I will set up a meeting next Tuesday, if you are available on 10:00 AM at 9/12/2023 (KST). let me know.

@xellos00 I'm good.

xellos00 commented 10 months ago

@xellos00 We could start discussion from this.

I will set up a meeting next Tuesday, if you are available on 10:00 AM at 9/12/2023 (KST). let me know.

@xellos00 I'm good.

Sent you an invitation.

xellos00 commented 10 months ago

Meeting Paper


All of those steps are simply would be done by 3 dockers

rootwarp commented 9 months ago

Plans for PoC stage

The key part of the V2 is reconstructing the gRPC call between the plugin and VATZ by using reflection.

For proofing the possibility, I would suggest followings:

  1. Implement dummy gRPC service for testing, reflection feature should be enabled.
    • Simple protobuf spec is required.
    • The protobuf should have several functions to test various type of the parameters.
  2. Implement client application to interact gRPC server. a. Retrieve reflection data. b. Marshaling it to store into persistence layer. (structure -> json) c. Unmarshaling stored reflection data. (json -> structure) d. Contract gRPC request from the reflection data.
rootwarp commented 9 months ago

Meeting Paper

image
  • @rootwarp and @xellos00 are confirmed that their consensus has met for Vatz V2 development idea.

  • Background

    • @dsrvlabs/validator team doesn't have a service that can make profit from it.
    • Vatz V2 mainly targeting a SaaS platform that Validator team can provide overall.
    • Targeting a service that run & manage on K8s.
    • V2 test scenarios conduct the test briefly and concisely.
  • V2 poc test scenario based on brief architecture above (Note: let say Plugin:A sends a notification to discord, Plugin:B sends any event

    1. Vatz V2 Agent is running

    2. Plugin A: Connect to Vatz agent (notify to VATZ agent that plugin A is running)

    3. Exchange a Reflection

    4. Register the Plugin A spec

    5. Plugin B: Connect to Vatz agent (notify to VATZ agent that plugin B is running)

    6. Exchange a Reflection

    7. Register the Plugin B spec

    8. Plugin B requests & receives a Query to Check the spec of plugins (for this case Plugin A)

    9. Plugin B creates a event with a schedule itself and request to VATZ agent to call a function in Plugin A

    10. Vatz Agents relay plugin B's call to Plugin A

    11. Plugin A send a notification to discord.

All of those steps are simply would be done by 3 dockers

@xellos00

Regarding background I rather think like this,

xellos00 commented 4 months ago

@rootwarp I apologize for the huge delay in the developments. now finally could get back to move on v2. will get back to you soon, with its time schedule for the development in the meeting v2 and will give you heads up regarding development.

rootwarp commented 4 months ago

@rootwarp

I apologize for the huge delay in the developments.

Not finally could get back to move on v2.

will get back to you soon, with its time schedule for the development in the meeting v2 and will give you heads up regarding development.

v2-pilot branch pushed again. 😀