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.
- Host: GitHub
- URL: https://github.com/siderolabs/devise
- Owner: siderolabs
- License: mpl-2.0
- Archived: true
- Created: 2016-12-11T23:56:56.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-29T07:34:24.000Z (over 8 years ago)
- Last Synced: 2025-04-26T19:42:27.491Z (about 1 year ago)
- Topics: configuration-as-code, configuration-management, go
- Language: Go
- Homepage: https://www.autonomy.io/project/devise
- Size: 4.47 MB
- Stars: 4
- Watchers: 2
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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](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
[](https://github.com/autonomy/devise/blob/master/LICENSE)