Devise
Configuration as Code.
Devise is a tool for standardized, programmatic, and bi-directional configuration management.
The key features of Devise are:
- Configuration as code: Devise encapsulates a wide range of APIs into a single powerfully simple API that applications can consume via gRPC. By enabling applications to configure themselves programmatically, Devise facilitates configuration as code by providing key-value pair lookups, or fully rendered templates at the request of the application.
- Universal RPC Framework: Utilizing protobuf and gRPC, applications written in any of the supported laguages can use Devise.
Getting Started
By default Devise uses ports 8080
and 50000
for the UI and backend respectively. The UI provides an interface for administration while the backend exposes an API that can be consumed directly inside client applications. To get started:
$ docker run \
--rm \
--detach \
--publish 8080:8080 \
--publish 50000:50000 \
--name devise \
autonomy/devise:latest serve
For an example on how a client might use Devise, see the example client.
Note: The default storage for Devise is an in-memory datastore. It is intended for development. Production deployments should make use of a production quality datastore.
Devloping Devise
To install the binaries required to build Devise:
$ make init
To build the image, run:
$ make
Note: The Makefile leverages multi-stage builds via Dry Dock. Docker 17.05.0 or greater is required.
License