{"id":13515372,"url":"https://github.com/nmaggioni/gerph","last_synced_at":"2025-03-31T04:37:00.199Z","repository":{"id":89734156,"uuid":"68802052","full_name":"nmaggioni/gerph","owner":"nmaggioni","description":"A simple and blazing fast networked key-value configuration store written in Go.","archived":false,"fork":false,"pushed_at":"2018-03-28T15:58:56.000Z","size":1249,"stargazers_count":98,"open_issues_count":0,"forks_count":5,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-11-01T19:36:23.691Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nmaggioni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-09-21T09:33:39.000Z","updated_at":"2024-01-04T16:07:45.000Z","dependencies_parsed_at":"2024-01-24T12:04:22.924Z","dependency_job_id":"f284b1e9-85eb-4a57-9539-50a48b5db172","html_url":"https://github.com/nmaggioni/gerph","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmaggioni%2Fgerph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmaggioni%2Fgerph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmaggioni%2Fgerph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmaggioni%2Fgerph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmaggioni","download_url":"https://codeload.github.com/nmaggioni/gerph/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246418657,"owners_count":20773934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T05:01:10.316Z","updated_at":"2025-03-31T04:36:58.561Z","avatar_url":"https://github.com/nmaggioni.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","others"],"sub_categories":[],"readme":"# Gerph [![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)\n\n\u003e A simple and blazing fast networked key-value configuration store written in Go.\n\nBased on the [bolt](https://github.com/boltdb/bolt) key/value database and the [goat](https://github.com/bahlo/goat) API framework.\n\n## Table of Contents\n\n- [Install](#install)\n\t- [Packaged releases](#packaged-releases)\n\t- [From source](#from-source)\n- [Usage](#usage)\n    - [WebUI](#webui)\n    - [CLI](#cli)\n\t- [API](#api)\n- [Examples](#examples)\n- [Known issues](#known-issues)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Install\n\n### Packaged releases\n\nCheck out [the releases section](https://github.com/nmaggioni/gerph/releases) for ready-to-run binaries. [Here's the latest one!](https://github.com/nmaggioni/gerph/releases/latest)\n\n### From source\n\nGiven that your `$PATH` already has `$GOPATH/bin` in it, get the package and install it:\n\n```\n$ go install github.com/nmaggioni/gerph\n```\n\n## Usage\n\n### WebUI\n\nGerph has an easy to use Dashboard that covers all the basic operations, reachable at the root of the domain. You can move around using the arrow keys too.\n\n![WebUI Dashboard](https://raw.githubusercontent.com/nmaggioni/gerph/master/dashboard.png)\n\n### CLI\n\nGerph has some useful command line options, you can check them by using the help flag:\n\n```\n$ gerph -h\n```\n### API\n\nBeing based on [bolt](https://github.com/boltdb/bolt), Gerph has the concept of _buckets_: they are containers of key/value pairs.\n\n**All endpoints answer in JSON format.** The following table summarizes the available routes and their parameters, expressed in the form of _`:parameter`_ :\n\n| HTTP Method | Path | Explanation |\n|-------------|------|-------------|\n| OPTIONS | /api | Will show a list of all the endpoints grouped by method. |\n| GET | /api | Will reply with a listing of all the buckets and their keys. |\n| GET | /api/:bucket | Will show all the keys inside the specified bucket. |\n| DELETE | /api/:bucket | Will delete the specified bucket and its keys. |\n| GET | /api/:bucket/:key | Will reply with the content of the specified key of the specified bucket. |\n| PUT or POST | /api/:bucket/:key | Will set the content of the specified key of the specified bucket to the given content. Content must be sent in `x-www-form-urlencoded` encoding (`Content-Type` header set to `application/x-www-form-urlencoded`), and the value of the key must be set to the `value` field.|\n| DELETE | /api/:bucket/:key | Will delete the specified key of the specified bucket. |\n\nEach call can answer with one of these status codes:\n\n+ `200` - OK\n+ `204` - No Content\n+ `400` - Bad Request\n+ `500` - Internal Server Error\n\n## Examples\n\nTo access the WebUI just point your browser to the root of the domain: `http://localhost:3000/`.\n\n### cURL\nSetting a key:\n\n```bash\ncurl -X PUT -d 'value=myValue' \"http://localhost:3000/api/myBucket/myKey\"\n```\n\nGetting a key:\n\n```bash\ncurl \"http://localhost:3000/api/myBucket/myKey\"\n```\n\nGetting all keys of a bucket:\n\n```bash\ncurl \"http://localhost:3000/api/myBucket\"\n```\n\nGetting all keys of all buckets:\n\n```bash\ncurl \"http://localhost:3000/api/\"\n```\n\n## Known issues\n\n+ **At the moment Gerph is only capable of storing strings as values.** If other types of data are in need of being stored, the effort of casting back and forth from strings to the actual data type falls on the developer.\n\n## Contribute\n\nPRs gladly accepted! Basing them on a new feature/fix branch would help in reviewing.\n\n## License\n\n[MIT © Niccolò Maggioni](https://github.com/nmaggioni/gerph/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmaggioni%2Fgerph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmaggioni%2Fgerph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmaggioni%2Fgerph/lists"}