-
Notifications
You must be signed in to change notification settings - Fork 825
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
Support Rust SDK by gRPC-rs #230
Support Rust SDK by gRPC-rs #230
Conversation
Build Succeeded 👏 Build Id: f46cc00f-46c8-416c-8ed3-63df602d3113 The following development artifacts have been built, and will exist for the next 30 days:
|
At first pass, this looks pretty awesome! I'll take a deeper look as soon as I can, but a few things to get this to completion: I noticed that there is no Dockerfile, or gameserver.yaml for the example? We'll need those so people can test this out. Maybe we can do a multistage-build so people can test it without having to install anything? (We could actually do this for lots of our examples). Also, can we have a README for the example, explaining what is does, how to build it, etc? We will want to edit the sdk docs to include a reference to the Rust SDK. Which may mean we need some kind of Rust docs. Not sure if there is an auto-generated version like godoc we can use, or whether this should be just some hand written markdown? Looking forward to taking this for a spin! |
@markmandel I added gameserver.yaml for running minikude. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quick question how do you generate the sdk code ? I think you should include that, unless I missed it.
Sample:
https://github.com/GoogleCloudPlatform/agones/blob/master/build/build-image/gen-grpc-cpp.sh
https://github.com/GoogleCloudPlatform/agones/blob/master/build/Makefile#L184
It looks good !
@Kuqd I added Rust SDK generation to gen-gameservers-sdk-grpc task in build/Makefile . I'm still working to fix the CrashLoopBackOff bug in rust-sample. |
Build Succeeded 👏 Build Id: 545ea3ff-8cf1-437c-97b1-007851d26d43 The following development artifacts have been built, and will exist for the next 30 days:
|
Don't hesitate to ask questions on slack so we can help you troubleshoot, is the simple-udp working in your cluster ? By this I mean only your example is in crashloop, did you try other examples ? It could be a wrong installation... |
This is looking awesome! Love the new docs, and the integration into the build system! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a thought on your CrashLoopBackoff issue - you can test locally without having to push to minikube.
https://github.com/GoogleCloudPlatform/agones/tree/master/sdks#local-development
Maybe easier to determine exactly what the issue is (unless someone else wants to try building this, and see if they can see what is going wrong)
&& cd /usr/src/cmake \ | ||
&& ./configure && make -j$(nproc) && make install | ||
|
||
## Go |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love the multi-stage builder image - we should do that more.
Out of curiosity, why do we need Go here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity, why do we need Go here?
This Rust SDK depends gRPC-RS.
It needs Go for TLS encryption and some authentication mechanism.
See also https://github.com/pingcap/grpc-rs#prerequisites.
examples/rust-simple/gameserver.yaml
Outdated
spec: | ||
containers: | ||
- name: rust-simple | ||
image: rust-simple-server:0.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be:
gcr.io/agones-images/rust-simple-server:0.1
As once this gets merged, I'll build this, and push the image up to the public registry 👍
@Kuqd Thanks you for your concern. |
Build Failed 😱 Build Id: 38bda07b-e338-4cb9-898f-af003643d922 Build Logs
|
Build Succeeded 👏 Build Id: 969c1b2f-3d5e-4d5e-bf17-f235e243b0af The following development artifacts have been built, and will exist for the next 30 days:
|
I just looked - can we rebase this down to a single commit? Once that's done, we should merge this in! |
Build Succeeded 👏 Build Id: a72ddab9-cdbb-4039-81c4-44431fc634e0 The following development artifacts have been built, and will exist for the next 30 days:
|
I fixed the CrashLoopBackOff bug in rust-sample. |
54c51e7
to
7749145
Compare
Build Succeeded 👏 Build Id: 295ca252-2206-43f9-9d78-3265989d6c0f The following development artifacts have been built, and will exist for the next 30 days:
|
@markmandel I rebased to a single commit. |
Build Succeeded 👏 Build Id: 61b6992c-b35c-4011-afc8-f3fcd3607b40 The following development artifacts have been built, and will exist for the next 30 days:
|
7749145
to
3825db1
Compare
sorry I merged a PR in between, so I rebased your branch, will merge asap. |
Build Succeeded 👏 Build Id: 63af5572-d524-4b77-97c8-90feda3e93b9 The following development artifacts have been built, and will exist for the next 30 days:
|
( This PR is restarted from #167 to keep things clean. )
Rust is a system programming language that runs fast, has memory safety.
It is good for game server implementation too.
Core implementations of the SDK functions are generated by gRPC-rs and located to
sdks/rust/src/grpc
directory.