Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 16 additions & 15 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,31 @@ about: Create a report to help us improve

---

**Environment**
- dbdeployer version: [e.g. 1.80.0]
- Go version (if building from source): [e.g. 1.21]
- OS: [e.g. macOS 14.2, Ubuntu 22.04]
- MySQL/database version: [e.g. 8.0.34]
- Flavor: [MySQL | Percona | MariaDB | NDB | PXC | TiDB]
- Topology: [single | replication | group replication | fan-in | all-masters | other]

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
**Steps to reproduce**
1. Run the command '...'
2. Run the command '...'
3. See error '....'
3. See error '...'

**Expected behavior**
A clear and concise description of what you expected to happen.

**NO Screenshots**
If applicable, copy and paste the command and the output. Do not use screen shots, unless they add value to the report. Text that can be edited is preferred to graphics.

**Environment:**
- OS: [e.g. MacOs 10.12.6, Ubuntu 16.04]
- dbdeployer version
- tarball full name (e.g. mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz)
- tarball origin (from where it was downloaded)
**Actual behavior**
What actually happened. Copy and paste the command output — do not use screenshots unless they add value. Text that can be edited is preferred to graphics.

**Hardware: (if applicable)**
- Free storage
- Total RAM
**Hardware (if applicable)**
- Free storage:
- Total RAM:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In the Hardware section, it would be beneficial to also ask for CPU details, as this can be relevant for performance-related issues. Consider adding a field for it.

Suggested change
- Total RAM:
- Total RAM:
- CPU: [e.g. 2 cores, 4 threads]


**Additional context**
Add any other context about the problem here.
Add any other context about the problem here (e.g. tarball full name and download origin).
10 changes: 9 additions & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ about: Suggest an idea for this project

---

**Component/provider**
Which area does this feature relate to? (check all that apply)
- [ ] MySQL (core sandbox functionality)
- [ ] ProxySQL (integration, deployment)
- [ ] Orchestrator (integration, deployment)
- [ ] PostgreSQL (future provider)
- [ ] Core (CLI, configuration, topology engine)
Comment on lines +7 to +13
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue/PR description mentions capturing phase scope for feature requests, but this template only asks for component/provider. Consider adding an explicit “Phase” (e.g., Phase 1/2/3) field or adjusting the wording so it matches the stated acceptance criteria and closes #9 accurately.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To catch feature requests that don't fit into the predefined categories, consider adding an 'Other' option to the Component/provider checklist. This would also help users who are unsure where their suggestion fits.

Suggested change
- [ ] Core (CLI, configuration, topology engine)
- [ ] Core (CLI, configuration, topology engine)
- [ ] Other (please specify)


**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Expand All @@ -14,4 +22,4 @@ A clear and concise description of what you want to happen.
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
Add any other context about the feature request here.
9 changes: 7 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,16 @@ dbdeployer is open source, and as such contributions are welcome.

The following guidelines want to help and simplify the process of contributing to dbdeployer development.

## Development Setup

- **Go 1.22+** is required to build and test dbdeployer.
- **[golangci-lint](https://golangci-lint.run/)** is required for linting. Install it following the [official instructions](https://golangci-lint.run/welcome/install/) and run `golangci-lint run` before submitting a PR.

## Principles

1. Contributions should follow the classic GitHub workflow, i.e. forking, cloning, then submitting a Pull Request (PR)
1. Contributions should follow the classic GitHub workflow, i.e. forking, cloning, then submitting a Pull Request (PR)
with the code that you propose.
2. Every new feature or bug fix should have an [issue](https://github.com/datacharmer/dbdeployer/issues), where the
2. Every new feature or bug fix should have an [issue](https://github.com/ProxySQL/dbdeployer/issues), where the
improvement gets discussed before any code is written.
3. If the contribution is a quick fix, such as a grammar or spelling mistake, go right ahead and submit a PR.
4. A new feature should either have tests associated to it or state a very good reason for why not.
Expand Down
19 changes: 15 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,23 @@
[The end of dbdeployer](https://datacharmer.github.io/end-of-dbdeployer/)

# dbdeployer
[DBdeployer](https://github.com/datacharmer/dbdeployer) is a tool that deploys MySQL database servers easily.

[DBdeployer](https://github.com/ProxySQL/dbdeployer) is a tool that deploys MySQL database servers easily.
This is a port of [MySQL-Sandbox](https://github.com/datacharmer/mysql-sandbox), originally written in Perl, and re-designed from the ground up in [Go](https://golang.org). See the [features comparison](https://github.com/datacharmer/dbdeployer/blob/master/docs/features.md) for more detail.

## New Maintainer

This project was originally created and maintained by [Giuseppe Maxia](https://github.com/datacharmer) (datacharmer). It is now actively maintained by the [ProxySQL](https://github.com/ProxySQL) team, continuing Giuseppe's excellent work while expanding the project's capabilities.

**Roadmap highlights:**

- ProxySQL and Orchestrator integration
- Provider-based architecture for extensible database support
- Eventual PostgreSQL support

See the [Phase 1 milestone](https://github.com/ProxySQL/dbdeployer/milestone/1) for current progress.

Documentation updated for version 1.66.0 (26-Jul-2022 10:30 UTC)

![Build Status](https://github.com/datacharmer/dbdeployer/workflows/.github/workflows/all_tests.yml/badge.svg)
![Build Status](https://github.com/ProxySQL/dbdeployer/workflows/.github/workflows/all_tests.yml/badge.svg)

- [Installation](https://github.com/datacharmer/dbdeployer/wiki/installation)
- [Manual installation](https://github.com/datacharmer/dbdeployer/wiki/installation#manual-installation)
Expand Down
2 changes: 1 addition & 1 deletion downloads/guess_latest.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ type GuessInfo struct {
Url string
}

var allowedGuessVersions = []string{"5.7", "8.0"}
var allowedGuessVersions = []string{"5.7", "8.0", "8.4", "9.0", "9.1", "9.2"}

func isAllowedForGuessing(s string) bool {
for _, v := range allowedGuessVersions {
Expand Down
8 changes: 8 additions & 0 deletions downloads/remote_registry_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,14 @@ func TestFindOrGuessTarballByVersionFlavorOS(t *testing.T) {
DefaultTarballRegistry.Tarballs = saveTarballCollection
}

func TestNewMySQLVersionsRecognized(t *testing.T) {
versions := []string{"8.4", "9.0", "9.1", "9.2"}
for _, v := range versions {
result := isAllowedForGuessing(v)
compare.OkEqualBool(fmt.Sprintf("version %s allowed for guessing", v), result, true, t)
}
}

func TestTarballRegistry(t *testing.T) {

for _, tarball := range DefaultTarballRegistry.Tarballs {
Expand Down
6 changes: 3 additions & 3 deletions downloads/remote_tarballs.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,21 +61,21 @@ var downloadsSettings = map[TarballType]TarballDef{
NameInFile: "mysql-cluster",
NameInUrl: "cluster",
DownloadDir: "MySQL-Cluster-VERSION",
Versions: []string{"7.6", "8.0"},
Versions: []string{"7.6", "8.0", "8.4", "9.0"},
},
TtMysql: {
Flavor: "mysql",
NameInFile: "mysql",
NameInUrl: "mysql",
DownloadDir: "MySQL-VERSION",
Versions: []string{"5.7", "8.0"},
Versions: []string{"5.7", "8.0", "8.4", "9.0", "9.1", "9.2"},
},
TtShell: {
Flavor: "shell",
NameInFile: "mysql-shell",
NameInUrl: "shell",
DownloadDir: "MySQL-Shell-VERSION",
Versions: []string{"8.0"},
Versions: []string{"8.0", "8.4", "9.0"},
},
}

Expand Down
2 changes: 1 addition & 1 deletion downloads/tarball_list.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"DbdeployerVersion": "1.70.0",
"DbdeployerVersion": "1.74.0",
"Tarballs": [
{
"name": "tidb-master-darwin-amd64.tar.gz",
Expand Down
Loading