Giter VIP home page Giter VIP logo

conduit-connector-grpc-client's Introduction

Conduit Connector for gRPC Client

The gRPC Client connector is one of Conduit plugins. It provides a destination gRPC Client connector.

This connector should be paired with another Conduit instance or pipeline, that provides a gRPC server source. Where the client will initiate the connection with the server, and start sending records to it.

How to build?

Run make build to build the connector.

Testing

Run make test to run all the unit tests.

Destination

A client gRPC destination connector initiates connection with a gRPC server using the url provided as a parameter. It creates a bidirectional stream with the server and uses the stream to write records to the server, then waits for acknowledgments to be received from the server through the same stream.

Configuration

name description required default value
url url to gRPC server. true
rateLimit the bandwidth limit in bytes/second, use 0 to disable rate limiting. false 0
reconnectDelay delay between each gRPC request retry. false 5s
maxDowntime max downtime accepted for the server to be off. false 10m
mtls.disabled option to disable mTLS secure connection, set it to true for an insecure connection. false false
mtls.client.certPath the client certificate path. required if mtls.disabled is false
mtls.client.keyPath the client private key path. required if mtls.disabled is false
mtls.ca.certPath the root CA certificate path. required if mtls.disabled is false

Mutual TLS (mTLS)

Mutual TLS is used by default to connect to the server, to disable mTLS you can set the parameter mtls.disabled to true, this will result in an insecure connection to the server.

This repo contains self-signed certificates that can be used for local testing purposes, you can find them under ./test/certs, note that these certificates are not meant to be used in production environment.

To generate your own secure mTLS certificates, check this tutorial.

Planned work

  • Add a source for gRPC client.

conduit-connector-grpc-client's People

Contributors

dependabot[bot] avatar maha-hajja avatar

Watchers

Nassor Paulino da Silva avatar Simon Lawrence avatar Raúl Barroso avatar Ali Hamidi avatar  avatar Haris Osmanagić avatar Samir Ketema avatar Lovro Mažgon avatar  avatar

conduit-connector-grpc-client's Issues

use mTLS

Feature description

use mTLS for secure connection

add backoff retries

Feature description

gRPC should have backoff retries enabled by default, but we need to create a new stream each time the connection is lost and connected again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.