Thanks for the detailed response.

I do trust the hardware running on and I will read more about client side
certificates. Currently reading
https://github.com/grpc/grpc-go/tree/master/examples/route_guide as you
recommended and will figure out bi-directional streaming RPC

On Mon, Feb 5, 2018 at 3:41 PM, 'Carl Mastrangelo' via grpc.io <
[email protected]> wrote:

> Sounds like you want to use a client streaming rpc.  The client will start
> an RPC, and periodically send messages to the server, which will never
> respond.  This works well if the time between updates is small perhaps no
> more than a minute apart.   If it's longer, it would be better to just make
> it unary because the connection will be at risk of being torn down by
> intermediary things.
>
> If you trust the hardware you are running on, a common way of authing
> would be client side certificates, but we leave the problem of certificate
> rotation and revocation up to you.  In gRPC, auth is more commonly
> (always?) done at the RPC level.  Each RPC would need an auth token, like a
> JWT.
>
> If you want a command and control style system, you'll need to use a
> bidirectional streaming RPC.   This would let the client phone home, and
> wait for messages to come down from the server to be executed.  The client
> must initiate the connection and the RPC, but after that each side is a
> peer.
>
> There are examples on how to do each style of these commands in the github
> repos.  Look for "Route Guide" examples on how to do it in each language.
>
> On Sunday, February 4, 2018 at 5:37:40 PM UTC-8, [email protected]
> wrote:
>>
>> I manage a fleet of linux devices and I need a way to send
>> telemetry data(CPU, memory, drives, etc.)  from devices to a centralized
>> server and also send commands(linux service restarts for example) from
>> server to devices to execute on the device. The 15 different linux
>> devices are bare metal boxes in 15 different locations access to WAN with a
>> dynamic IP address. In a year the number of devices could jump to 100.
>>
>> I'm looking for suggestions on:
>> - how to gather telemetry data to send to grpc server
>> - how authenticate and identify devices
>> - how to run commands locally on each device and report back
>>
>> Thanks.
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "grpc.io" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/grpc-io/YB0HErGYZPw/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/grpc-io.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/grpc-io/66ed336c-6de9-4f80-b0e0-55b05338e45a%40googlegroups.com
> <https://groups.google.com/d/msgid/grpc-io/66ed336c-6de9-4f80-b0e0-55b05338e45a%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CAKNtY_zdiyP_NmYUzZQyHETs91Sr78VfzRwRnFouCjgeH1L4Yw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to