Peanut
为开发和测试管道轻松地部署数据库和服务。
仪表板截图
Peanut提供了一个REST API,管理仪表板和一个命令行工具来部署和配置常用的服务,如数据库,消息经纪人,图形,跟踪,缓存工具...等,它完全适用于开发、手动测试、自动测试管道。
在引擎盖下,它与容器化运行时间(如docker)一起工作,以部署和配置服务。如果服务是临时的,就销毁它。
从技术上讲,你可以通过一堆yaml文件或使用配置管理工具或像helm这样的包管理器来实现同样的目的,但花生是相当小的,使用起来也很有趣,应该可以加快你的工作流程。
支持的服务。
- MySQL。
- MariaDB。
- PostgreSQL。
- Redis。
- Etcd.
- Grafana.
- Elasticsearch.
- MongoDB.
- Graphite.
- 普罗米修斯。
- Zipkin.
- Memcached.
- Mailhog.
- Jaeger。
- RabbitMQ。
- Consul。
- Vault。
文档
在Ubuntu上运行Peanut
要在ubuntu上运行Peanut,你可以使用下面的bash脚本,因为冷启动可能需要一段时间。该脚本将安装etcd、docker、docker-compose和Peanut。
$ bash
花生将在80 端口运行,用户界面在这个URLhttp://x.x.x.x 。请打开这个文件/etc/peanut/config.prod.yml ,并将下面一行调整为你的Public IP 或hostname
# App configs
然后重新启动Peanut
$ systemctl restart peanut
为了确保Peanut的运行,从你的笔记本上运行以下内容,运行一些redis实例10分钟。
# To provision redis services for 10 minutes
还有一个脚本用于升级Peanut。
$ bash
Linux 部署说明
下载最新的Peanut二进制文件。让它可以从任何地方执行。
$
然后安装etcd 集群或单节点!请参考etcd docs或这个软件库里面的bin目录。
安装虚拟化运行时间!默认情况下,花生使用docker &docker-compose
$ apt-get update
$ apt-get install docker.io -y
$ systemctl
从config.dist.yml 创建配置文件config.yml 。类似下面的内容。
# App configs
运行peanut 与systemd
$ peanut api -c /path/to/config.yml
部署你的第一个redis服务器!
$ curl -X POST http://127.0.0.1:8000/api/v1/service -d
要运行管理仪表板(仅限开发)。
克隆该项目或你自己的分叉。
$ git clone https://github.com/Clivern/Peanut.git
从web/.env.dist 创建仪表板配置文件web/.env 。类似下面的内容。
VUE_APP_API_URL=http://localhost:8080
然后你可以建立或运行仪表盘
# Install npm packages
命令行工具
为了与花生API服务器互动,你可以进行基本的API调用或使用所提供的命令行工具。它还没有完成,但很快就会准备好。
支持的服务
这里是迄今为止所有支持的服务的列表,以及部署这些服务的API调用。
- MySQL。
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- MariaDB。
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- PostgreSQL。
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Redis.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Etcd.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Grafana.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Elasticsearch.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- MongoDB.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Graphite.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- 普罗米修斯。
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Zipkin.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Memcached.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Mailhog.
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Jaeger。
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- RabbitMQ。
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Consul。
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
- Vault。
$ curl -X POST http://127.0.0.1:8000/api/v1/service \
-d
要创建一个临时服务,你将需要在创建它时添加额外的参数。
# It will be deleted after 30 seconds
要列出在单个或多个节点上运行的所有服务。
$ curl -X GET http://127.0.0.1:8000/api/v1/service \
-H
删除一个服务。
$ curl -X DELETE http://127.0.0.1:8000/api/v1/service/:serviceId \
-H
获取类似部署状态的异步工作状态。
$ curl -X DELETE http://127.0.0.1:8000/api/v1/job/:serviceId/:jobId \
-H
获取服务版本。
$ curl -X GET http://127.0.0.1:8000/api/v1/tag/
版本管理
为了使我们的发布周期透明化,并努力保持向后的兼容性,Peanut是根据语义版本指南进行维护的,发布过程是可预测的,并且对商业友好。
参见我们GitHub项目的发布部分,了解花生每个发布版本的变更记录。它包含每个版本中最值得注意的变化的摘要。
Bug跟踪器
如果你有任何建议、错误报告或烦恼,请将它们报告给我们的问题跟踪器:github.com/clivern/pea…
安全问题
如果你在花生中发现了安全漏洞,请发邮件到hello@clivern.com
贡献
我们是一个开源的、社区驱动的项目,所以请随时加入我们。更多细节请参见贡献指南。
许可证
© 2021, Clivern.在MIT许可下发布。
花生的作者和维护者是@clivern。





