https://github.com/frabits/frabit
The next-gen database automatic platform
https://github.com/frabits/frabit
automation database golang mysql platform
Last synced: 5 months ago
JSON representation
The next-gen database automatic platform
- Host: GitHub
- URL: https://github.com/frabits/frabit
- Owner: frabits
- License: gpl-3.0
- Created: 2022-10-03T06:18:21.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-27T00:20:15.000Z (almost 2 years ago)
- Last Synced: 2024-11-18T04:03:23.632Z (over 1 year ago)
- Topics: automation, database, golang, mysql, platform
- Language: Go
- Homepage: https://www.frabit.tech
- Size: 3.17 MB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
frabit@The next-gen database automatic platform
[简体中文](https://github.com/frabits/frabit/blob/main/README_CN.md) | [English](https://github.com/frabits/frabit/blob/main/README.md)

[](https://github.com/frabits/frabit/releases)
[](https://godoc.org/github.com/frabits/frabit)

[](https://goreportcard.com/report/github.com/frabits/frabit)

## What is Frabit?
Why named "Frabit"? It's consist of the first letter of "Fly" that means speed and "rabbit" remove repeated letter 'b'.
Crafty rabbit will ready three caves.
Frabit is a comprehensive platform for database and can be used by the Developers and DBAs. The Frabit family consists of these components:
- **Frabit Console**: A web-based GUI for developers and DBAs to use/manage the databases.
- **Frabit CLI (frabit-admin)**: The CLI mostly used to deploy/upgrade database cluster、make backup/restore and so forth. Mostly, DBAs will use this toolkit .
- **Frabit agent**: The frabit-agent take actions at remote node, it's running as daemon process.
- **Frabit server**: The frabit-server is core service for frabit stack,it's running as a centralized daemon process.
## Support Database
✅ MySQL ✅ Redis ✅ MongoDB ✅ ClickHouse
## Support Platform
Currently, we provide support for following platform and architecture
- amd64
- Linux
- Darwin/MacOS
- arm64
- Linux
- Darwin/MacOS
## Features
- [x] Web-based database cluster deployment and upgrade
- [x] Built-in query editor
- [x] Detailed migration history
- [x] Online schema change based on gh-ost or pt-osc
- [x] Backup and restore
- [x] Point-in-time recovery (PITR)
- [x] Environment policy
- Approval policy
- Backup schedule enforcement
- [x] Role-based access control (RBAC)
- [x] Webhook integration for Slack, DingTalk(钉钉), Feishu(飞书), WeCom(企业微信)
## Community
- [Discussion](https://github.com/orgs/frabits/discussions)
- [Issues](https://github.com/frabits/frabit/issues)
- [Twitter](https://twitter.com/frabit_io)
- [Slack](https://frabits.slack.com)
- [Mail list](https://groups.google.com/g/frabit)
## Install
One-liner for any platform
```bash
/bin/bash -c "$(curl -fsSL https://github.com/frabits/frabit/raw/main/scripts/install.sh)"
```
### Linux
#### 1、Install binary file
##### 1.1、Linux/MacOS
- Brew
```bash
brew install frabits/tap/frabit
```
#### 1.2、rpm or deb package
```bash
version="2.0.10"
arch=`uname -r`
yum install -y https://github.com/frabits/frabit/releases/download/v${version}/frabit-server-${version}.${arch}.rpm
# optional
yum install -y https://github.com/frabits/frabit/releases/download/${version}/frabit-agent-${version}.${arch}.rpm
````
#### 1.3、Archiver file
Yeah,we also provide executable files, you can download the archiver files enter below commands:
```bash
version="2.0.10"
# for X86-64
wget https://github.com/frabits/frabit/releases/download/v${version}/frabit_${version}_linux_amd64.tar.gz
# for Arm64
wget https://github.com/frabits/frabit/releases/download/v${version}/frabit_${version}_linux_arm64.tar.gz
tar -xzf frabit_${version}_linux_amd64.tar.gz
sudo mkdir -p /usr/local/frabit
cp -r * /usr/local/frabit
```
### MacOS
```bash
version="2.0.10"
# for X86-64
wget https://github.com/frabits/frabit/releases/download/v${version}/frabit_${version}_darwin_amd64.tar.gz
# for Arm64
wget https://github.com/frabits/frabit/releases/download/v${version}/frabit_${version}_darwin_arm64.tar.gz
tar -xzf frabit_${version}_darwin_amd64.tar.gz
sudo mkdir -p /usr/local/frabit
cp -r * /usr/local/frabit
```
```bash
git clone https://github.com/frabits/frabit.git
```
Change directory to frabit and perform below command
```bash
cd frabit && bash scripts/build.sh
```
#### 2、Build from source code
Assume your already install Golang and git, Change directory to frabit and perform below command
```bash
git clone https://github.com/frabits/frabit.git
cd frabit && bash scripts/build.sh
```
## Contributing
Contributions/suggestions/requests are welcome! Feel free to [open an issue](https://github.com/frabits/frabit/issues), or ask a question on the [mailing list](https://groups.google.com/g/frabit).
## License
Unless otherwise noted, the Frabit source files are distributed under the [GNU GENERAL PUBLIC LICENSE
Version 3](./LICENSE) license found in the LICENSE file.