You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
authored
feat(test): migrate from MySQL to MariaDB testcontainers (#96)
- Replace MySQL testcontainers with MariaDB for better ready conditions
- Update Cargo.toml to use mariadb feature instead of mysql
- Update all test files to use Mariadb::default() instead of
Mysql::default()
- MariaDB module has built-in ready conditions that wait for:
- 'mariadbd: ready for connections.' on stderr
- 'port: 3306' on stderr
- This provides more reliable container startup and reduces flaky tests
- All tests pass with the new MariaDB configuration
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Breaking Changes**
- TLS now always-on via rustls; legacy TLS feature flags/build variants
removed; repo ownership/branding updated.
- **New Features**
- CLI TLS controls added: --tls-ca-file,
--insecure-skip-hostname-verify, --allow-invalid-certificate (mutually
exclusive) with explicit warnings and exit codes.
- **Improvements**
- CLI-first config precedence, stricter error messages, tighter
validation, and simplified builds.
- **Documentation**
- Extensive TLS migration guides, install/troubleshoot updates, and
contact/branding changes.
- **Tests**
- New TLS-focused unit/integration tests and CI workflows.
- **Chores**
- CI/deny config and tooling/workflow cleanup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: unclesp1d3r <251112+unclesp1d3r@users.noreply.github.com>
Copy file name to clipboardExpand all lines: .cursor/rules/project/core-concepts.mdc
+16-29Lines changed: 16 additions & 29 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ alwaysApply: true
4
4
5
5
# Gold Digger Core Concepts
6
6
7
-
This file defines the core concepts and constraints for the Gold Digger MySQL/MariaDB query tool.
7
+
This document defines the essential architecture patterns, safety requirements, and development constraints for the Gold Digger MySQL/MariaDB query tool.
8
8
9
9
## Project Identity
10
10
@@ -75,47 +75,34 @@ src/
75
75
76
76
## Known Bugs & Issues
77
77
78
-
1. **Pattern matching bug**: `Some(&_)` should be `Some(_)` in main.rs:59
**Note**: `ssl` and `ssl-rustls` are mutually exclusive. The deprecated `vendored` feature has been removed as OpenSSL dependencies have been eliminated.
88
+
**Note**: TLS is now always available and is no longer a feature flag. The project uses a rustls-only implementation instead of the previous dual native-tls/rustls approach.
93
89
94
-
## Code Quality Standards (Zero Tolerance)
90
+
## Quality Standards
95
91
96
-
### Quality Gates (Required Before Commits)
92
+
### Required Before Commits
97
93
98
94
```bash
99
-
cargo fmt --check # 100-character line limit enforced
100
-
cargo clippy -- -D warnings # Zero tolerance for warnings
101
-
cargo nextest run # Parallel test execution (preferred)
- Follow [Rustfmt](mdc:https://github.com/rust-lang/rustfmt) conventions for formatting
121
97
- Use `snake_case` for function and variable names, `CamelCase` for types and structs
122
98
- Prefer iterators and combinators over manual loops where possible
123
99
- Use explicit types for function signatures, especially for public APIs
124
-
- Prefer grouping imports by standard library, external crates, and local modules, separated by newlines (advisory rule to prevent format-only diffs during reviews)
100
+
- Group imports by standard library, external crates, and local modules, separated by newlines
125
101
126
102
## Features and Conditional Compilation
127
103
128
-
- Use Cargo features (see `[features]` in [`Cargo.toml`](mdc:Cargo.toml)) to enable/disable output formats and verbose logging.
129
-
- Use `#[cfg(feature = "...")]` to conditionally compile code based on enabled features, as in [`main.rs`](mdc:src/main.rs).
104
+
- Use Cargo features (see `[features]` in [`Cargo.toml`](mdc:Cargo.toml)) to enable/disable output formats and verbose logging
105
+
- Use `#[cfg(feature = "...")]` to conditionally compile code based on enabled features
130
106
131
107
## Dependency Management
132
108
133
-
- Pin dependency versions in [`Cargo.toml`](mdc:Cargo.toml) and use minimal required features for each crate.
134
-
- Use optional dependencies and features for extensibility (e.g., SSL, additional MySQL types).
135
-
136
-
## Testing and Safety
137
-
138
-
- Add tests in a `tests/` directory or as `#[cfg(test)]` modules within each file.
139
-
- Validate all external input (e.g., environment variables) and handle missing/invalid values gracefully.
140
-
- Use the `get_required_env()` helper function for environment variable validation with contextual error messages.
141
-
- Prefer returning early on error conditions.
142
-
143
-
### Test Coverage Guidelines
144
-
145
-
- **Default Target:** ≥80% coverage with `cargo tarpaulin`
146
-
- **Recommended Exclusions:** `main.rs`, binary crates, auto-generated code, error enums, and integration test scaffolding
147
-
- **Documentation Requirement:** Maintainers must document coverage overrides in `CONTRIBUTING.md` with justification
148
-
- **Flexibility:** Coverage targets are guidelines, not absolute blockers. Lower coverage is acceptable with explanation and maintainer approval
149
-
150
-
## Documentation
151
-
152
-
- Keep [`README.md`](mdc:README.md) up to date with usage, features, and examples.
153
-
- Document all public functions and modules with doc comments.
109
+
- Pin dependency versions in [`Cargo.toml`](mdc:Cargo.toml) and use minimal required features for each crate
110
+
- Use optional dependencies and features for extensibility (e.g., additional MySQL types, output formats)
154
111
155
-
## Miscellaneous
112
+
## Testing Guidelines
156
113
157
-
- Use `.gitignore` to exclude build artifacts and sensitive files.
158
-
- Use `.editorconfig` for consistent editor settings.
159
-
- Follow the guidelines in [`CONTRIBUTING.md`](mdc:CONTRIBUTING.md) for code contributions.
114
+
- Add tests in a `tests/` directory or as `#[cfg(test)]` modules within each file
115
+
- Validate all external input (e.g., environment variables) and handle missing/invalid values gracefully
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/security_report.yml
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,11 @@ body:
9
9
value: |
10
10
> **⚠️ IMPORTANT: For security vulnerabilities, please use GitHub's private vulnerability reporting instead of opening a public issue.**
11
11
>
12
-
> **Preferred method**: Go to the [Security tab](https://github.com/UncleSp1d3r/gold_digger/security) and click "Report a vulnerability" for private disclosure.
12
+
> **Preferred method**: Go to the [Security tab](https://github.com/EvilBit-Labs/gold_digger/security) and click "Report a vulnerability" for private disclosure.
13
13
>
14
14
> **If you must disclose publicly**: Redact all exploit details, sensitive information, and proof-of-concept code. Only include enough information for the maintainer to understand the issue scope.
15
15
>
16
-
> **Contact maintainer directly**: For urgent or highly sensitive issues, contact [UncleSp1d3r](https://github.com/UncleSp1d3r) or email <unclespider@pm.me>.
16
+
> **Contact maintainer directly**: For urgent or highly sensitive issues, contact [EvilBit-Labs](https://github.com/EvilBit-Labs) or email <support@evilbitlabs.io>.
0 commit comments