feat:添加bytebase到列表#182

This commit is contained in:
okxlin 2023-11-30 11:46:05 +08:00
parent 4193898db5
commit d6cfd3d3e6
6 changed files with 481 additions and 0 deletions

View File

@ -0,0 +1,8 @@
CONTAINER_NAME="bytebase"
PANEL_APP_PORT_HTTP="40171"
PANEL_DB_NAME="bytebase"
POSTGRES_HOST="postgres"
PANEL_DB_USER_PASSWORD="password_xxJdZD"
POSTGRES_PORT="5432"
PANEL_DB_USER="postgres"
DATA_PATH="./data"

View File

@ -0,0 +1,57 @@
additionalProperties:
formFields:
- default: ""
edit: true
envKey: POSTGRES_HOST
key: postgresql
labelEn: Postgres database Service
labelZh: Postgres数据库服务
required: true
type: service
- default: "5432"
edit: true
envKey: POSTGRES_PORT
labelEn: Postgres database Service Port
labelZh: Postgres数据库服务端口
required: true
rule: paramPort
type: number
- default: bytebase
edit: true
envKey: PANEL_DB_NAME
labelEn: Database
labelZh: 数据库名
required: true
rule: paramCommon
type: text
- default: ""
edit: true
envKey: PANEL_DB_USER
labelEn: User
labelZh: 数据库用户
required: true
rule: paramCommon
type: text
- default: ""
edit: true
envKey: PANEL_DB_USER_PASSWORD
labelEn: Password
labelZh: 数据库用户密码
required: true
rule: paramCommon
type: password
- default: 40171
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: ./data
edit: true
envKey: DATA_PATH
labelEn: Data storage folder
labelZh: 数据存放文件夹
required: true
type: text

View File

@ -0,0 +1,30 @@
version: '3'
services:
bytebase:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
ports:
- "${PANEL_APP_PORT_HTTP}:8080"
volumes:
- "${DATA_PATH}:/var/opt/bytebase"
init: true
healthcheck:
test: ["CMD", "curl", "--fail", "http://localhost:5678/healthz", "||", "exit", "1"]
interval: 5m
timeout: 60s
command:
- "--data"
- "/var/opt/bytebase"
- "--port"
- "8080"
- "--pg"
- "postgresql://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${PANEL_DB_NAME}"
image: bytebase/bytebase:2.11.2
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

366
apps/bytebase/README.md Normal file
View File

@ -0,0 +1,366 @@
<h1 align="center">
<a
target="_blank"
href="https://bytebase.com?source=github"
>
<img
align="center"
alt="Bytebase"
src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/banner.webp"
style="width:100%;"
/>
</a>
</h1>
<p align="center">
<a href="https://demo.bytebase.com?source=github" target="_blank"><b>🔥 Live Demo</b></a>
<a href="https://bytebase.com/docs/get-started/install/overview" target="_blank"><b>⚙️ Install</b></a>
<a href="https://bytebase.com/docs"><b>📚 Docs</b></a>
<a href="https://discord.gg/huyw7gRsyA"><b>💬 Discord</b></a>
<a href="https://www.bytebase.com/request-demo/"><b>🙋‍♀️ Book Demo</b></a>
</p>
<p align="center">
<a href="https://goreportcard.com/report/github.com/bytebase/bytebase">
<img alt="go report" src="https://goreportcard.com/badge/github.com/bytebase/bytebase" />
</a>
<a href="https://artifacthub.io/packages/search?repo=bytebase">
<img alt="Artifact Hub" src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/bytebase" />
</a>
<a
href="https://github.com/bytebase/bytebase"
target="_blank"
>
<img alt="Github Stars" src="https://img.shields.io/github/stars/bytebase/bytebase?logo=github">
</a>
</p>
<p align="center">
<b> Different </b> database development tasks
</p>
<p align="center">
<b> Multiple </b> database systems
</p>
<p align="center">
<b> Unified </b> process
</p>
<p align="center">
<b> Single </b> tool
</p>
<br />
<p align="center" >
<img src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/old-to-new-world.webp" />
</p>
<br />
<p align="center">
<img src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/fish.webp" />
</p>
<br />
<p align="center" >
<img src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/change-query-secure-govern.webp" />
</p>
<br />
<p align="center">🪜</p>
<h1 align="center">Change</h1>
<p align="center">
Want to formalize the database change process but don't know how?
</p>
| | |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| <b>Standard Operating Procedure (SOP) </b><br />Standardize the database schema and data change process across different database systems, small or [large tables](https://www.bytebase.com/docs/change-database/online-schema-migration-for-mysql) and [different tenants](https://www.bytebase.com/docs/change-database/batch-change/#change-databases-from-multiple-tenants).<br /><br/><b>SQL Review</b><br />[100+ lint rules](https://www.bytebase.com/docs/sql-review/review-rules) to detect SQL anti-patterns and enforce consistent SQL style in the organization.<br /><br /><b>GitOps</b><br />[Point-and-click GitHub and GitLab integration](https://www.bytebase.com/docs/vcs-integration/overview) to enable GitOps workflow for changing database. | <img src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/issue-detail.webp" /> |
<br />
<p align="center">🔮</p>
<h1 align="center">Query</h1>
<p align="center">
Want to control the data access but don't know how?
</p>
| | |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| <b>All-in-one SQL Editor</b><br />Web-based IDE specifically for performing SQL specific tasks.<br /><br/><b>Data Masking</b><br />State-of-the-art [column level masking](https://www.bytebase.com/docs/sql-editor/mask-data) engine to cover complex situations like subquery, CTE.<br /><br /><b>Data Access Control</b><br />Organization level policy to centralize the [data access control](https://www.bytebase.com/docs/security/data-access-control). | <img src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/sql-editor.webp" /> |
<br />
<p align="center">🔒</p>
<h1 align="center">Secure</h1>
<p align="center">
Want to avoid data leakage, change outage and detect malicious behavior but don't know how?
</p>
| | |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| <b>Centralize Change, Query and Admin Tasks</b><br />A single place to perform different tasks on different databases, thus enforce policy and monitor activity accordingly. <br /><br /><b>RBAC</b><br />[Two-level RBAC model](https://www.bytebase.com/docs/concepts/roles-and-permissions) mapping to the organization wide privileges and application team privileges respectively.<br /><br /><b>Anomaly Center and Audit Logging</b><br /> Capture all database [anomalies](https://www.bytebase.com/docs/administration/anomaly-center), user actions and system events and present them in a holistic view. | <img src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/anomaly-center.webp" /> |
<br />
<p align="center">👩‍💼</p>
<h1 align="center">Govern</h1>
<p align="center">
Want to enforce organization policy but don't know how?
</p>
| | |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| <b>Manage Database Resources</b><br /> A single place to manage environments, database instances, database users for application development, with optional [Terraform integration](https://registry.terraform.io/providers/bytebase/bytebase/latest/docs). <br /><br /><b>Policy Enforcement</b><br />Enforce organization wide SQL Review policy, backup policy and data access policy.<br /><br/><b>SQL Editor Admin mode</b><br />[CLI like experience](https://www.bytebase.com/docs/sql-editor/admin-mode) without setting up bastion. | <img src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/sql-review-policy.webp" /> |
<br />
# 🖖 Intro
Bytebase is a Database CI/CD solution for the Developers and DBAs. It's the **only database CI/CD project** included by the [CNCF Landscape](https://landscape.cncf.io/?selected=bytebase). The Bytebase family consists of these tools:
- [Bytebase Console](https://bytebase.com/?source=github): A web-based GUI for developers and DBAs to manage the database development lifecycle.
- [Bytebase CLI (bb)](https://www.bytebase.com/docs/cli/overview): The CLI to help developers integrate database changes into the existing CI/CD workflow.
- [Bytebase GitHub App](https://github.com/marketplace/bytebase) and [SQL Review GitHub Action](https://github.com/marketplace/actions/sql-review): The GitHub App and GitHub Action to detect SQL anti-patterns and enforce a consistent SQL style guide during Pull Request.
- [Terraform Bytebase Provider](https://registry.terraform.io/providers/bytebase/bytebase/latest/docs): The Terraform
provider enables team to manage Bytebase resources via Terraform. A typical setup involves teams using
Terraform to provision database instances from Cloud vendors, followed by using Bytebase provider to
prepare those instances ready for application use.
| | Topic |
| --- | :------------------------------------------------------------------ |
| 🏗️ | <b>[Installation](#-installation)</b> |
| 🎮 | <b>[Demo](#-demo)</b> |
| 👩‍🏫 | <b>[Tutorials](#-tutorials)</b> |
| 💎 | <b>[Design Principles](#-design-principles)</b> |
| 🧩 | <b>[Data Model](#-data-model)</b> |
| 🎭 | <b>[Roles](#-roles)</b> |
| 🕊 | <b>[Developing and Contributing](#-developing-and-contributing)</b> |
| 🤺 | <b>[Bytebase vs Alternatives](#-bytebase-vs-alternatives)</b> |
<br />
# 🏗️ Installation
### One liner
```bash
# One-liner installation script from latest release
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bytebase/install/main/install.sh)"
```
- [Build from source](https://www.bytebase.com/docs/get-started/install/build-from-source-code)
- [Docker](https://www.bytebase.com/docs/get-started/install/deploy-with-docker)
- [Kubernetes](https://www.bytebase.com/docs/get-started/install/deploy-to-kubernetes)
- [render.com](https://www.bytebase.com/docs/get-started/install/deploy-to-render)
- [Rainbond](https://www.bytebase.com/docs/get-started/install/deploy-to-rainbond)
<br />
# 🎮 Demo
Live demo at https://demo.bytebase.com
You can also [book a 30min product walkthrough](https://cal.com/adela-bytebase/30min) with one of
our product experts.
<br />
# 👩‍🏫 Tutorials
Product tutorials are available at https://www.bytebase.com/tutorial.
## Integrations
- [Manage Supabase PostgreSQL](https://www.bytebase.com/docs/how-to/integrations/supabase)
- [Manage render PostgreSQL](https://www.bytebase.com/docs/how-to/integrations/render)
- [Manage Neon database](https://www.bytebase.com/docs/how-to/integrations/neon)
- [Deploy to sealos](https://www.bytebase.com/docs/get-started/install/deploy-to-sealos)
- [Deploy to Rainbond](https://www.bytebase.com/docs/get-started/install/deploy-to-rainbond)
<br />
# 💎 Design Principles
| | | |
| --- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 🪶 | Dependency Free | Start with a single command `./bytebase` without any external dependency. External PostgreSQL data store and others are optional. |
| 🔗 | Integration First | Solely focus on database management and leave the rest to others. We have native VCS integration with [GitHub/GitLab](https://www.bytebase.com/docs/vcs-integration/overview), [Terraform Provider](https://registry.terraform.io/providers/bytebase/bytebase/latest/docs), [webhook](https://www.bytebase.com/docs/change-database/webhook), and etc. |
| 💂‍♀️ | Engineering Disciplined | Disciplined [bi-weekly release](https://www.bytebase.com/changelog) and [engineering practice](https://github.com/bytebase/bytebase/blob/main/docs/life-of-a-feature.md). |
<br />
# 🧩 Data Model
More details in [Data Model Doc](https://www.bytebase.com/docs/concepts/data-model).
<p align="center">
<img
align="center"
alt="Data Model"
src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/data-model-v2.webp"
style="width:100%;"
/>
</p>
<br />
# 🎭 Roles
More details in [Roles and Permissions Doc](https://www.bytebase.com/docs/concepts/roles-and-permissions).
Bytebase employs RBAC (Role-Based-Access-Control) and provides two role sets at the workspace and project level:
- Workspace roles: `Owner`, `DBA`, `Developer`. The workspace role maps to the role in an engineering organization.
- Project roles: `Owner`, `Developer`. The project level role maps to the role in a specific team or project.
Every user is assigned a workspace role, and if a particular user is involved in a particular project, then she will also be assigned a project role accordingly.
Below diagram describes a typical mapping between an engineering org and the corresponding roles in the Bytebase workspace
<p align="center">
<img
align="center"
alt="Role Mapping"
src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/org-role-mapping.webp"
style="width:100%;"
/>
</p>
<br />
# 🕊 Developing and Contributing
<p align="center">
<img
align="center"
alt="Tech Stack"
src="https://raw.githubusercontent.com/bytebase/bytebase/main/docs/assets/techstack.webp"
style="width:100%;"
/>
</p>
- Bytebase is built with a curated tech stack. It is optimized for **developer experience** and is very easy to start
working on the code:
1. It has no external dependency.
1. It requires zero config.
1. 1 command to start backend and 1 command to start frontend, both with live reload support.
- Interactive code walkthrough
- [Life of a schema change](https://sourcegraph.com/github.com/bytebase/bytebase/-/blob/docs/design/life-of-a-schema-change.snb.md)
- [SQL Review](https://sourcegraph.com/github.com/bytebase/bytebase/-/blob/docs/design/sql-review-source-code-tour.snb.md)
- Follow [Life of a Feature](https://github.com/bytebase/bytebase/blob/main/docs/life-of-a-feature.md).
## Dev Environment Setup
### Prerequisites
- [Go](https://golang.org/doc/install) (1.21.3 or later)
- [pnpm](https://pnpm.io/installation)
- [Air](https://github.com/bytebase/air) (**our forked repo @87187cc with the proper signal handling**). This is for backend live reload.
```bash
go install github.com/bytebase/air@87187cc
```
### Steps
1. Pull source.
```bash
git clone https://github.com/bytebase/bytebase
```
1. Create an external Postgres database on localhost.
```sql
CREATE USER bbdev SUPERUSER;
CREATE DATABASE bbdev;
```
1. Start backend using air (with live reload).
```bash
PG_URL=postgresql://bbdev@localhost/bbdev air -c scripts/.air.toml
```
Change the open file limit if you encounter "error: too many open files".
```bash
ulimit -n 10240
```
If you need additional runtime parameters such as --backup-bucket, please add them like this:
```bash
air -c scripts/.air.toml -- --backup-region us-east-1 --backup-bucket s3:\\/\\/example-bucket --backup-credential ~/.aws/credentials
```
1. Start frontend (with live reload).
```bash
cd frontend && pnpm i && pnpm dev
```
Bytebase should now be running at http://localhost:3000 and change either frontend or backend code would trigger live reload.
### Tips
* Use [Code Inspector](https://en.inspector.fe-dev.cn/guide/start.html#method1-recommend) to locate
frontend code from UI. Hold `Option + Shift` on Mac or `Alt + Shift` on Windows
<br />
# Bytebase vs Flyway, Liquibase
- [Bytebase vs Liquibase](https://www.bytebase.com/blog/bytebase-vs-liquibase/)
- [Bytebase vs Flyway](https://www.bytebase.com/blog/bytebase-vs-flyway/)
Either Flyway or Liquibase is a library and CLI focusing on schema change. While Bytebase is an one-stop
solution covering the entire database development lifecycle for Developers and DBAs to collaborate.
Another key difference is Bytebase **doesn't** support Oracle and SQL Server. This is a conscious
decision we make so that we can focus on supporting other databases without good tooling support.
In particular, many of our users tell us Bytebase is by far the best (and sometimes the only) database
tool that can support their PostgreSQL and ClickHouse use cases.
[![Star History Chart](https://api.star-history.com/svg?repos=bytebase/bytebase,liquibase/liquibase,flyway/flyway&type=Date)](https://star-history.com/#bytebase/bytebase&liquibase/liquibase&flyway/flyway&Date)
# Bytebase vs Yearning, Archery
Either Yearning or Archery provides a DBA operation portal. While Bytebase provides a collaboration
workspace for DBAs and Developers, and brings DevOps practice to the Database Change Management (DCM).
Bytebase has the similar `Project` concept seen in GitLab/GitHub and provides native GitOps integration
with GitLab/GitHub.
Another key difference is Yearning, Archery are open source projects maintained by the individuals part-time. While Bytebase is open-sourced, it adopts an open-core model and is a commercialized product, supported
by a [fully staffed team](https://www.bytebase.com/about#team) [releasing new version every 2 weeks](https://www.bytebase.com/changelog).
[![Star History Chart](https://api.star-history.com/svg?repos=bytebase/bytebase,cookieY/Yearning,hhyo/Archery&type=Date)](https://star-history.com/#bytebase/bytebase&cookieY/Yearning&hhyo/Archery&Date)
# 👨‍👩‍👧‍👦 Community
[![Hang out on Discord](https://img.shields.io/badge/%20-Hang%20out%20on%20Discord-5865F2?style=for-the-badge&logo=discord&labelColor=EEEEEE)](https://discord.gg/huyw7gRsyA)
[![Follow us on Twitter](https://img.shields.io/badge/Follow%20us%20on%20Twitter-1DA1F2?style=for-the-badge&logo=twitter&labelColor=EEEEEE)](https://twitter.com/Bytebase)
<br />
# 🤔 Frequently Asked Questions (FAQs)
Check out our [FAQ](https://www.bytebase.com/docs/faq).
<br />
# 🙋 Contact Us
- Interested in joining us? Check out our [jobs page](https://bytebase.com/jobs?source=github) for openings.
- Want to solve your schema change and database management headache? Book a [30min demo](https://cal.com/adela-bytebase/30min) with one of our product experts.

20
apps/bytebase/data.yml Normal file
View File

@ -0,0 +1,20 @@
name: Bytebase
tags:
- DevOps
title: 开源的数据库 DevOps 工具
type: DevOps
description: 开源的数据库 DevOps 工具
additionalProperties:
key: bytebase
name: Bytebase
tags:
- DevOps
shortDescZh: 开源的数据库 DevOps 工具
shortDescEn: An open-source database DevOps tool
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://www.bytebase.com
github: https://github.com/bytebase/bytebase
document: https://www.bytebase.com/docs

BIN
apps/bytebase/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB