Skip to content

andrewrynhard/devise

 
 

Repository files navigation

Devise

Configuration as Code.

Gitter GoDoc Travis Codecov Go Report Card Release GitHub (pre-)release


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.

Developing Devise

The build of Devise depends on conform:

$ go get -u github.com/autonomy/conform

Note: Conform leverages multi-stage builds. Docker 17.05.0 or greater is required.

To build the image, run:

$ conform enforce

License

license

Packages

No packages published

Languages

  • Go 57.0%
  • Java 32.4%
  • HTML 5.7%
  • CSS 2.6%
  • Protocol Buffer 2.3%