An open API service indexing awesome lists of open source software.

https://github.com/siderolabs/devise

Configuration as Code.
https://github.com/siderolabs/devise

configuration-as-code configuration-management go

Last synced: 6 months ago
JSON representation

Configuration as Code.

Awesome Lists containing this project

README

          


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](http://www.grpc.io/). 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](https://developers.google.com/protocol-buffers/) and [gRPC](http://www.grpc.io/), applications written in any of the [supported laguages](http://www.grpc.io/docs/reference/) 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:
```sh
$ 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](https://github.com/autonomy/devise/tree/master/examples/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](https://github.com/autonomy/conform):
```sh
$ go get -u github.com/autonomy/conform
```
> **Note:** Conform leverages [multi-stage builds](https://docs.docker.com/engine/userguide/eng-image/multistage-build/). Docker 17.05.0 or greater is required.

To build the image, run:
```sh
$ conform enforce
```

### License
[![license](https://img.shields.io/github/license/autonomy/devise.svg?style=flat-square)](https://github.com/autonomy/devise/blob/master/LICENSE)