Add skeleton for gRPC Commander Service #408
Merged
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.
Fixes #377
Adds a gRPC server and the skeleton for the Commander service.
The Commander service implementation is a version of this example. It's the least amount of code required to get the agent and control plane to communicate without errors. The Commander code is for demo purposes only and will change once I add the config push and registration functionality. The agent requests exercise both the
CommandChannel
andUpload
functions but not theDownload
function. To exercise theDownload
function, I would have to add a fair amount of code that would just be removed later. I think the current functionality is enough to demonstrate that the agent and control plane can communicate.The purpose of this PR is to show the general skeleton of the server and Commander service and get early feedback before adding a bunch of business logic.
Here are some of the logs of the
nginx-gateway
container showing the agent messages:and here are some of the logs of the
nginx-with-agent
container that show the successful connection to the control plane:The
nginx-with-agent
container is currently running as a third container inside thenginx-gateway
Pod, alongside thenginx
andnginx-gateway
containers. Once #378 and #379 are complete, I'll remove thenginx
container.