Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Etcd-Based Discovery Provider
As per enhancement request 440824, recently a new ECF discovery provider has been created, based upon the etcd server/service. See the etcd github project here for specifics about the etcd project.
Getting and Building the ECF Etcd Discovery Provider
The ECF Etcd Discovery Provider is currently available as one of ECF's github repositories. The etcd provider repository is here.
ECF does not currently build this provider, but this is something that could be done in the near future (fall 2014) if there is sufficient interest and some support for the necessary build and test configuration on ECF's build server. If you are able/willing to contribute to make this happen, please communicate with the project team by joining and posting to the ecf-def mailing list.
The ECF Etcd Discovery Provider is the project org.eclipse.ecf.provider.etcd in the bundles subdirectory. This is an Eclipse project and may be built via Eclipse Kepler or newer. Note that there is also a PDE feature project available in features/org.eclipse.ecf.provider.etcd.feature.
Etcd Discovery Provider Configuration Properties
As with other discovery providers, the ECF Etcd Discovery Provider is configured properties. Here is a table of the Etcd Discovery Provider configuration properties and their default values:
Property Name | Description | Type | Default value |
---|---|---|---|
ecf.discovery.etcd.protocol | Etcd Server URL protocol. Example: 'http' in constructed Etcd Server URL 'http://127.0.0.1:4001/v2/keys' | String | http |
ecf.discovery.etcd.hostname | Etcd Server URL hostname. Example: '127.0.0.1' in constructed Etcd Server URL 'http://127.0.0.1:4001/v2/keys' | String | 127.0.0.1 |
ecf.discovery.etcd.port | Etcd Server URL port. Example: '4001' in constructed Etcd Server URL 'http://127.0.0.1:4001/v2/keys' | String | 4001 |
ecf.discovery.etcd.path | Etcd Server URL initial path. Example: '/v2/keys' in constructed Etcd Server URL 'http://127.0.0.1:4001/v2/keys' | String | /v2/keys |
ecf.discovery.etcd.targetid | Etcd Server target. Example: 'http://foo.bar:4002/v2/keys' in 'http://foo.bar:4002/v2/keys'. Note that
if set, the value provided by this property will override the protocol, hostname, port, and path specified by the properties defined above. |
String | null/no value resulting in the protocol, hostname, port, and path properties used to construct the etcd service URL |
ecf.discovery.etcd.sessionid | Etcd Client Container SessionId. This is typically an automatically-generiated UUID String value...e.g.: de1326d9-1ac6-431f-8ae1-9c0e31294047. If this property is set | String | null/no value resulting in a new UUID being created and assigned as the Etcd Client Container SessionId. |
ecf.discovery.etcd.closettl | Etcd Client Container Close Time To Live (TTL). In seconds. This is the default time in seconds that the ECF Etcd Client 'close' message has on the etcd server as a time to live. | Integer | 10 seconds |
Note that these values and defaults are also defined in the source code in the org.eclipse.ecf.provider.etcd.EtcdDiscoveryContainerConfig class available at githhub here.