https://github.com/kubex-ecosystem/gdbase
Modular, scalable, and automatic database management for modern systems.
https://github.com/kubex-ecosystem/gdbase
bussiness-rule data-modeling database docker golang orquestration
Last synced: about 2 months ago
JSON representation
Modular, scalable, and automatic database management for modern systems.
- Host: GitHub
- URL: https://github.com/kubex-ecosystem/gdbase
- Owner: kubex-ecosystem
- License: mit
- Created: 2025-05-29T08:53:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-11-30T23:34:46.000Z (7 months ago)
- Last Synced: 2026-01-12T01:37:06.780Z (6 months ago)
- Topics: bussiness-rule, data-modeling, database, docker, golang, orquestration
- Language: Go
- Homepage: https://github.com/rafa-mori/gdbase
- Size: 8.01 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Support: support/.gitleaks.toml
- Notice: NOTICE.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
#

[](https://go.dev/)
[](https://github.com/kubex-ecosystem/gdbase/blob/main/LICENSE)
[](#features)
[](https://github.com/kubex-ecosystem/goforge/releases)
[](https://github.com/kubex-ecosystem/gdbase/actions/workflows/kubex_go_release.yml)
---
**Modular, scalable, and automatic database management for modern systems.**
---
## **Table of Contents**
1. [About the Project](#about-the-project)
2. [Features](#features)
3. [Installation](#installation)
4. [Usage](#usage)
- [CLI](#cli)
- [Project Structure](#project-structure)
- [Configuration](#configuration)
5. [Roadmap](#roadmap)
6. [Contributing](#contributing)
7. [Contact](#contact)
---
## **About the Project**
**GDBASE** is a database management solution developed in Go, designed to be **modular, scalable, and automatic**. It allows zero-configuration by default, but supports advanced customizations via configuration files. It manages local databases, Docker, and multiple databases simultaneously, making it ideal for distributed systems.
---
## **Features**
✨ **Dynamic and automatic configuration**
- Randomly generated passwords stored in the keyring.
- Automatically adjusts for occupied ports.
🗄️ **Multi-DB support**
- Redis, RabbitMQ, MongoDB, PostgreSQL, and SQLite ready to use.
🏗️ **Modular architecture**
- Models follow the `Model → Repo → Service` pattern.
- Ensures modularity and organization.
🔐 **SSH tunnel for external databases**
- `gdbase ssh tunnel` securely connects to remote databases via SSH.
⚙️ **Docker orchestration**
- Automatic container generation for portability and easy deployment.
📡 **Monitoring and events**
- Event bus for internal action tracking.
---
## **Installation**
Requirements:
- Go 1.19+
- Docker (for containerized databases)
Clone the repository and build:
```sh
# Clone the repository
git clone https://github.com/kubex-ecosystem/gdbase.git
cd gdbase
go build -o gdbase .
```
---
## **Usage**
### CLI
Start the main server:
```sh
./gdbase start
```
See all available commands:
```sh
./gdbase --help
```
**Main commands:**
| Command | Function |
|--------------|-----------------------------------------------------|
| `start` | Initializes `gdbase` and sets up all services |
| `status` | Shows status of active databases |
| `config` | Creates a configuration file for customization |
| `ssh tunnel` | Creates a secure tunnel for external DBs via SSH |
| `docker` | Manages Docker containers for databases |
### Project Structure
The core implementation follows a clear and modular architecture:
```plaintext
./
├── cmd
│ ├── cli
│ ├── gen_models.go
│ ├── models.go
│ ├── main.go
│ ├── usage.go
│ └── wrpr.go
├── docs
│ └── assets
├── go.mod
├── go.sum
├── internal
│ ├── events
│ ├── models
│ └── services
├── tests
└── version
```
---
### Configuration
GDBASE can run without any initial configuration, but supports customization via YAML/JSON files. By default, everything is generated automatically on first use.
Example configuration:
```yaml
postgres:
host: localhost
port: 5432
user: gdbase
password: secure
redis:
host: localhost
port: 6379
```
---
## **Roadmap**
- [x] Dynamic and automatic configuration
- [x] Multi-DB support (Redis, RabbitMQ, MongoDB, PostgreSQL, SQLite)
- [x] Integrated SSH tunnel
- [x] Docker orchestration
- [ ] Plugins for new databases
- [ ] Web dashboard for monitoring
---
## **Contributing**
Contributions are welcome! Feel free to open issues or submit pull requests. See the [Contribution Guide](docs/CONTRIBUTING.md) for more details.
---
## **Contact**
💌 **Developer**:
[Rafael Mori](mailto:faelmori@gmail.com)
💼 [Follow me on GitHub](https://github.com/kubex-ecosystem)
I'm open to collaborations and new ideas. If you found the project interesting, get in touch!
---
**Made with care by the Mori family!** ❤️