https://github.com/dracuxan/blod-bank
configuration manager in go
https://github.com/dracuxan/blod-bank
blod flakes go golang grpc nix
Last synced: about 1 month ago
JSON representation
configuration manager in go
- Host: GitHub
- URL: https://github.com/dracuxan/blod-bank
- Owner: dracuxan
- License: bsd-3-clause
- Created: 2024-07-30T19:22:56.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-02T10:05:19.000Z (9 months ago)
- Last Synced: 2026-04-21T05:42:24.149Z (2 months ago)
- Topics: blod, flakes, go, golang, grpc, nix
- Language: Go
- Homepage:
- Size: 62.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# blod-bank
A gRPC-based configuration management service with a simple CLI client.
Currently supports fetching and listing stored YAML-like config files.
## Project Structure
```sh
blod-bank
│
├── server
│ ├── main.go
│ └── models
│ └── models.go
├── client
│ ├── helper
│ │ └── helper.go
│ ├── main.go
│ └── runner
│ ├── commands
│ │ ├── delete.go
│ │ ├── get.go
│ │ ├── list.go
│ │ ├── register.go
│ │ └── update.go
│ └── run.go
├── proto
│ ├── blod_grpc.pb.go
│ ├── blod.pb.go
│ └── blod.proto
├── flake.lock
├── flake.nix
├── go.mod
├── go.sum
├── LICENSE
├── Makefile
└── README.md
```
## Getting Started
1. Clone the repo
2. Run the server:
```sh
go run server/main.go
```
3. Run the client:
```sh
go run client/main.go
```
## Roadmap
- [x] Get single config
- [x] List all config
- [x] Register new config
- [x] Update config
- [x] Delete config
- [x] Basic CLI tool
## TODO
- [x] Add database connection
- [x] Replace in-memory storage with Postgress in server
- [x] Replace raw queries with orm
- [x] Add rpc server for other apps to access the server