etcd is a distributed, consistent key-value store for shared configuration and service discovery, part of the CoreOS project.
This repository provides a library for etcd for C applications. It uses the v2 (REST) api of etcd.
Etcdlib can be used as part of Celix but is also usable stand-alone.
The following packages (libraries + headers) should be installed on your system:
Development Environment
Etcdlib Dependencies
To get started you first have to download the Apache Celix sources. This can be done by cloning the Apache Celix git repository:
# Create a new workspace to work in, e.g: mkdir -p ${HOME}/workspace export WS=${HOME}/workspace cd ${WS} # clone the repro git clone --single-branch --branch master https://github.com/apache/celix.git
Etcdlib uses CMake as build system. CMake can generate (among others) makefiles or ninja build files. Using ninja build files will result in a faster build.
cd ${WS}/celix/etcdlib mkdir build cd build cmake .. make
cd ${WS}/celix/etcdlib mkdir build cd build cmake -G Ninja .. ninja
With use of CMake, Etcdlib makes it possible to edit build options. This enabled users, among other options, to configure a install location. To edit the options use ccmake or cmake-gui. For cmake-gui an additional package install can be necessary (Fedora: dnf install cmake-gui
).
cd ${WS}/celix/etcdlib/build ccmake . # Edit the CMAKE_INSTALL_PREFIX config to set the install location
For this guide we assume the CMAKE_INSTALL_PREFIX is /usr/local
.
cd ${WS}/celix/etcdlib/build make sudo make install