blylei / frabit

The next-generation database automatic operation platform

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

frabit@The next-gen database automatic operation platform

简体中文 | English

GitHub Workflow Status (branch) GitHub release GoDoc GitHub go.mod Go version (subdirectory of monorepo) Go Report Card GitHub

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

  • Web-based database cluster deployment and upgrade
  • Built-in query editor
  • Detailed migration history
  • Online schema change based on gh-ost or pt-osc
  • Backup and restore
  • Point-in-time recovery (PITR)
  • Environment policy
    • Approval policy
    • Backup schedule enforcement
  • Role-based access control (RBAC)
  • Webhook integration for Slack, DingTalk(钉钉), Feishu(飞书), WeCom(企业微信)

Community

Install

One-liner for any platform

/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
brew install frabits/tap/frabit

1.2、rpm or deb package

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:

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

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
git clone https://github.com/frabits/frabit.git

Change directory to frabit and perform below command

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

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, or ask a question on the mailing list.

License

Unless otherwise noted, the Frabit source files are distributed under the GNU GENERAL PUBLIC LICENSE Version 3 license found in the LICENSE file.

About

The next-generation database automatic operation platform

License:GNU General Public License v3.0


Languages

Language:Go 81.0%Language:TypeScript 7.4%Language:Vue 6.7%Language:Shell 2.2%Language:CSS 1.3%Language:Dockerfile 0.7%Language:Makefile 0.4%Language:HTML 0.2%Language:JavaScript 0.2%