Skip to main content
Jump to: navigation, search

Etcd3-based Discovery Provider

A new ECF discovery provider has been created, based upon the etcd3 server/service. Etcd3 is the most recent version of the etcd protocol, and is implemented by gRPC. See the etcd github project here for specifics about the etcd project. etcd is often used as part of Kubernetes.

Getting and Using Etcd3 Discovery Provider

The ECF Etcd3 Discovery Provider is currently available as one of ECF's github repositories. The etcd3 provider repository is here.

A Etcd3 Discovery Provider is available at Maven Central here

Etcd3 Discovery Provider Configuration Properties

As with other discovery providers, the ECF Etcd3 Discovery Provider is configured via system properties so that it can be configured and run automatically at startup. Here is a table of the Etcd3 Discovery Provider configuration properties and their default values:

Property Name Description Type Default value
ecf.discovery.etcd3.protocol Etcd Server URL protocol. Example: 'http' in constructed Etcd3 Server URL 'http://127.0.0.1:2379' String http
ecf.discovery.etcd3.hostname Etcd3 Server URL hostname. Example: '127.0.0.1' in constructed Etcd Server URL 'http://127.0.0.1:2379' String 127.0.0.1
ecf.discovery.etcd3.port Etcd3 Server URL port. Example: '2379' in constructed Etcd Server URL 'http://127.0.0.1:2379' String 2379
ecf.discovery.etcd3.keyPrefix Etcd3 Server keyPrefix. String org.eclipse.ecf.provider.etcd3.EtcdDiscoveryContainer
ecf.discovery.etcd3.usePlaintext Whether Etcd3 server is using/allowing plain text. String false
ecf.discovery.etcd3.ttl Etcd3 time-to-live (in seconds). This is the time that the etcd3 key->value entries will live on the etcd3 server String 30 seconds
ecf.discovery.etcd3.disabled Whether the default discovery provider is disabled on startup. Note that if disabled discovery will not occur automatically upon framework startup, and will have to be started in some other way. See the start method in this class a code example of how to start the etcd3 discovery. String false
ecf.discovery.etcd3.retry Whether the gRPC etcd client will retry failed calls. String false

Note that these values and defaults are also defined in the source code in the org.eclipse.ecf.provider.etcd3.container.Etcd3DiscoveryContainerConfig class available at githhub here.

Back to the top