All Projects → yeqown → cassem

yeqown / cassem

Licence: MIT license
(WIP) A distributed Configuration Center Application.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to cassem

WDR
Jython framework aiming for simplified WebSphere Application Server scripting
Stars: ✭ 43 (+86.96%)
Mutual labels:  configuration-management
DazzleConf
Incredible configuration library
Stars: ✭ 34 (+47.83%)
Mutual labels:  configuration-management
delta reporting
Promise reporting portal using CFEngine Community
Stars: ✭ 13 (-43.48%)
Mutual labels:  configuration-management
bmcbutler
BMC configuration management tool
Stars: ✭ 70 (+204.35%)
Mutual labels:  configuration-management
openraft
rust raft with improvements
Stars: ✭ 826 (+3491.3%)
Mutual labels:  raft
netcfgbu
Network Configuration Backup
Stars: ✭ 93 (+304.35%)
Mutual labels:  configuration-management
Braft
An industrial-grade C++ implementation of RAFT consensus algorithm based on brpc, widely used inside Baidu to build highly-available distributed systems.
Stars: ✭ 2,964 (+12786.96%)
Mutual labels:  raft
sitri
Sitri - powerful settings & configs for python
Stars: ✭ 20 (-13.04%)
Mutual labels:  configuration-management
juno-agent
juno-agent
Stars: ✭ 46 (+100%)
Mutual labels:  configuration-management
jcliff
Manage JBossAS 7/EAP6/Wildfly with modular configuration files from command line, puppet, ansible, chef, etc.
Stars: ✭ 42 (+82.61%)
Mutual labels:  configuration-management
runcom
An XDG enhanced run command manager for command line interfaces.
Stars: ✭ 16 (-30.43%)
Mutual labels:  configuration-management
SeLite
Automated database-enabled navigation ✔️ of web applications
Stars: ✭ 34 (+47.83%)
Mutual labels:  configuration-management
6.824
Distributed Systems
Stars: ✭ 35 (+52.17%)
Mutual labels:  raft
ini
📝 Go INI config management. support multi file load, data override merge. parse ENV variable, parse variable reference. Dotenv file parse and loader. INI配置读取管理,支持多文件加载,数据覆盖合并, 解析ENV变量, 解析变量引用。DotEnv 解析加载
Stars: ✭ 72 (+213.04%)
Mutual labels:  configuration-management
puppet-st2
Puppet Module to install and configure StackStorm, IFTTT for Ops
Stars: ✭ 20 (-13.04%)
Mutual labels:  configuration-management
go-uci
Native Go bindings for OpenWrt's UCI.
Stars: ✭ 69 (+200%)
Mutual labels:  configuration-management
DeployMachineLearningModels
This Repo Contains Deployment of Machine Learning Models on various cloud services like Azure, Heroku, AWS,GCP etc
Stars: ✭ 14 (-39.13%)
Mutual labels:  configuration-management
lol
A Raft implementation in Rust language. The name is not a joke.
Stars: ✭ 130 (+465.22%)
Mutual labels:  raft
kickstart
Agentless configuration manager in Bash
Stars: ✭ 71 (+208.7%)
Mutual labels:  configuration-management
vyper
Python configuration with (more) fangs
Stars: ✭ 121 (+426.09%)
Mutual labels:  configuration-management

cassem

Go Report Card go.de │ v reference

CASSEM is a distributed config management center, it is totally independent, so it's easy to deploy and maintain in your environment. At the same time, it's deployed by Go which gives it platform-cross ability and fast-compile.

Features

  • HTTP Restful API to manage all configs cassemadm.
    • Stateless so that it can be easily scaled.
    • Gray released.
    • Multi-version management.
    • Operation log, each operation to config elements will be recorded.
    • Permission control.
    • Client instance management.
    • CTL / UI tool support these are constructing on cassemadm RESTful API.
      • Web UI is developing.
      • CTL tool to debug and manage config from terminal.
  • Distributed storage component cassemdb, based on raft consensus algorithm.
    • Master can read and write.
    • Slave node can only respond to read request.
    • Use gRPC protocol to communicate.
    • Watch TTL features support.
    • Lazy Deletion the expired KV. There is a deleting working thread to delete KV from queue, the queue's data is from two part, one is operation check, another is timer check.
  • Stateless agent component cassemagent to improve client's usability.
    • Cache config elements, and using LRU-K replacing algorithm.
    • Language independent support HTTP and gRPC protocol.
    • Client SDK, easy to use.
    • Change Push ability, gray released also built on this.

Documentation

Explanation:

  • cassemdb provide KV storage capacity.
  • cassemadm is the manager to whole cassem application.
  • cassemagent‘s major duty is helping clients to access config easier, makes cassemdb work transparently to clients. Importantly, cassemagent is stateless so that it could easily scale up and load balance.

- cassemdb

The KV storage component in cassem, provide gRPC API.

- cassemadm

The manager in cassem, provide RESTful API to communicate. It is serving for CTL and Dashboard UI.

- cassemagent

Agent is serving for user's client, agent SDK, actually. Of course, agent is stateless server.

Benchmark

benchmark tested core RESTful API and try to optimize them, each benchmark test displays the final QPS result.

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].