-
Notifications
You must be signed in to change notification settings - Fork 9
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
feat: kyvejs runtime containerization and enhancements #80
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
kchrist-rocketfueldev
changed the title
feat: kyvejs runtime containerization and enhancements #2Feat/runtime containerization
feat: kyvejs runtime containerization and enhancements
Oct 17, 2023
Here my thoughts:
|
- Create runtime gRPC proto definition - gRPC implementation for tendermint runtime - Implementation of calling runtime methods from core - Add separate interface for gRPC runtime Signed-off-by: Kostas Christopoulos <[email protected]>
- Add CLI commands for calling the runtime directly. - Change dist path.
- Migrate tendrmint functionality to grpc runtime - Update docker proxy calling interface - Fix Dockerfile to allow runtime.proto. - Reduce Dockerfile stages for optimization. - Update documentation to include instructions on how to run the image. Signed-off-by: Kostas Christopoulos <[email protected]>
- Removes second interface implementd for docker integrations - Removes refactoring to core to call the new interface Signed-off-by: Kostas Christopoulos <[email protected]>
- cleanup various stuff - apply docker and code fixes to comply with new file structur Signed-off-by: Kostas Christopoulos <[email protected]>
- Adapt proto file to needs, remove unneeed stuff, fix types - Updated changelog and readme - Add scripts exporting grpc typescript code Signed-off-by: Kostas Christopoulos <[email protected]>
* Place the 'runtime.proto' file in 'common/types/src/protos' and use it as the source of truth. * Change the 'export-grpc-stubs' script in the root of the repo to loop through all dirs under 'docker-integrations' and compile the TS files from the 'runtime.proto' which is defined in the first bullet. * In the index.ts of the 'tendermint-grpc' docker integration, remove the dependency of importing the runtime.proto and only use the compiled TS files. Signed-off-by: Harry Touloupas <[email protected]>
Signed-off-by: Kostas Christopoulos <[email protected]>
The linter can be run from the root of the repo with 'yarn lint' Signed-off-by: Harry Touloupas <[email protected]>
- remove not needed files Signed-off-by: Kostas Christopoulos <[email protected]>
Attach the 'shutdown' function to be run when the process receives SIGINT or SIGTERM. Also add some ESLint configuration files and change the scripts to use them. Signed-off-by: Harry Touloupas <[email protected]>
Signed-off-by: Kostas Christopoulos <[email protected]>
kchrist-rocketfueldev
force-pushed
the
feat/runtime-containerization
branch
from
October 26, 2023 06:47
fcbce58
to
5f92860
Compare
- move proto from types to protocal - updated proto to work with new voting functionality - updated client/server to work with new proto Signed-off-by: Kostas Christopoulos <[email protected]>
kchrist-rocketfueldev
force-pushed
the
feat/runtime-containerization
branch
from
October 26, 2023 06:51
5f92860
to
de2cbb2
Compare
harrytou
suggested changes
Oct 27, 2023
kchrist-rocketfueldev
requested review from
christopherbrumm and
mbreithecker
as code owners
October 30, 2023 06:50
kchrist-rocketfueldev
force-pushed
the
feat/runtime-containerization
branch
3 times, most recently
from
October 30, 2023 07:30
29c0250
to
1735455
Compare
kchrist-rocketfueldev
force-pushed
the
feat/runtime-containerization
branch
5 times, most recently
from
October 30, 2023 18:02
ef0b4e4
to
16410d4
Compare
Signed-off-by: Kostas Christopoulos <[email protected]>
kchrist-rocketfueldev
force-pushed
the
feat/runtime-containerization
branch
3 times, most recently
from
October 31, 2023 10:33
06005a7
to
cf3b4c3
Compare
Signed-off-by: Kostas Christopoulos <[email protected]>
Signed-off-by: Kostas Christopoulos <[email protected]>
kchrist-rocketfueldev
force-pushed
the
feat/runtime-containerization
branch
from
October 31, 2023 10:33
cf3b4c3
to
1bbc2e9
Compare
The TARGETARCH build argument for Docker is available by default and can be 'amd64' or 'arm64' (between others). Use it to extract the correct binary architecture we need to build and copy that to the runtime stage of both core and the tendermint runtime. Also add .dockerignore to all 'common/*' in order to minimize the build context. Signed-off-by: Harry Touloupas <[email protected]>
kchrist-rocketfueldev
force-pushed
the
feat/runtime-containerization
branch
from
November 2, 2023 09:15
96b3d52
to
003eb32
Compare
Signed-off-by: Kostas Christopoulos <[email protected]>
kchrist-rocketfueldev
force-pushed
the
feat/runtime-containerization
branch
from
November 2, 2023 09:16
003eb32
to
d4479e6
Compare
harrytou
previously approved these changes
Nov 2, 2023
Signed-off-by: Kostas Christopoulos <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Revamp the KYVE protocol node architecture, which currently consists of two main components: the core and the runtime. The primary focus of this overhaul is the enhancement of the runtime component, which, as of now, is exclusively developed by the KYVE team and implemented in TypeScript.
The primary goal is to introduce a standardized Docker interface, opening the door for the broader community to create their own runtimes in their preferred programming languages, as long as they adhere to the specified Docker interface standards. Consequently, the core component will communicate with the runtime via this Docker interface, simplifying the transfer of data between these two vital parts.
This pull request includes the following key updates:
These changes collectively aim to make the KYVE protocol node more versatile, allowing a wider community of developers to contribute to and extend its functionality.
Resolves https://linear.app/kyve/issue/TECH-1077
Resolves https://linear.app/kyve/issue/TECH-1076
Resolves https://linear.app/kyve/issue/TECH-1034