• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.gitignoreH A D05-Feb-202023

LICENSEH A D05-Feb-202011.1 KiB

README.mdH A D05-Feb-2020930

builder.goH A D05-Feb-20206.7 KiB

builder_test.goH A D05-Feb-20204.9 KiB

kubernetes.goH A D05-Feb-20203.5 KiB

models.goH A D05-Feb-20201.2 KiB

stream.goH A D05-Feb-20202.5 KiB

util.goH A D05-Feb-2020605

README.md

1# kuberesolver
2Grpc Client-Side Load Balancer with Kubernetes name resolver
3
4```go
5// Register kuberesolver to grpc
6kuberesolver.RegisterInCluster()
7// is same as
8resolver.Register(kuberesolver.NewBuilder(nil))
9// you can bring your own k8s client, below is default behaviour
10client, err := kuberesolver.NewInClusterK8sClient()
11resolver.Register(kuberesolver.NewBuilder(client))
12
13// USAGE:
14// if schema is 'kubernetes' then grpc will use kuberesolver to resolve addresses
15cc, err := grpc.Dial("kubernetes:///service-name.namespace:portname", opts...)
16```
17
18An url can be one of the following, [grpc naming docs](https://github.com/grpc/grpc/blob/master/doc/naming.md)
19```
20kubernetes:///service-name:8080
21kubernetes:///service-name:portname
22kubernetes:///service-name.namespace:8080
23
24kubernetes://namespace/service-name:8080
25kubernetes://service-name:8080/
26kubernetes://service-name.namespace:8080/
27
28```
29