Skip to content

Commit 4865f02

Browse files
committed
Merge branch 'text-polish/database-lab-prose' into 'master'
Text polish: DBLab Engine READMEs and docs (grammar, clarity, SEO) Closes #736 See merge request postgres-ai/database-lab!1168
2 parents f8e6e7c + 34a5361 commit 4865f02

12 files changed

Lines changed: 117 additions & 117 deletions

File tree

.claude/commands/cve-audit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: Run CVE audit across Go deps, UI deps, and Docker image. Produce a
33
argument-hint: [image-ref] (default: dblab_server:local, matches `make build-image`)
44
---
55

6-
# CVE Audit Protocol
6+
# CVE audit protocol
77

88
You are running a vulnerability audit for DLE. The goal is a **triage report** that a
99
developer can act on — not a raw scanner dump.

CONTRIBUTING.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ This project and everyone participating in it are governed by the [Database Lab
5555
- If the issue is related to UI, include screenshots and animated GIFs. Please, do NOT use screenshots for console output, configs, and logs – for those, always prefer the textual form.
5656
- Check if you have sensitive information in the logs and configs and remove any.
5757
- You can submit a bug report in either [GitLab Issues](https://gitlab.com/postgres-ai/database-lab) or [GitHub Issues](https://github.com/postgres-ai/database-lab-engine) sections – both places are monitored.
58-
- If you believe that there is an urgency related to the reported bug, feel free to reach out to the project maintainers. Additionally, using one of [the channels described above](#tldr-i-just-have-a-question-where-to-ask-it).
58+
- If you believe that there is an urgency related to the reported bug, feel free to reach out to the project maintainers. You can also use one of [the channels described above](#tldr-i-just-have-a-question-where-to-ask-it).
5959
- If you need to report a security issue, follow instructions in ["Database Lab Engine security guidelines"](./SECURITY.md).
6060

6161
### Proposing enhancements
@@ -67,7 +67,7 @@ Enhancement suggestions are tracked on [GitLab](https://gitlab.com/postgres-ai/d
6767

6868
- Use a clear and descriptive title for the issue to identify the suggestion.
6969
- Provide a step-by-step description of the proposed enhancement in as many details as possible.
70-
- Provide specific examples to demonstrate the steps. Include copy/pasteable snippets which you use in those examples
70+
- Provide specific examples to demonstrate the steps. Include copy/pasteable snippets that you use in those examples.
7171
- Use Markdown to format code snippets and improve the overall look of your issues (Markdown docs: [GitLab](https://docs.gitlab.com/ee/user/markdown.html), [GitHub](https://github.github.com/gfm/)).
7272
- Describe the current behavior and explain which behavior you expected to see instead and why (on GitLab, you can use the issue template, which is selected by default).
7373
- If your proposal is related to UI, include screenshots and animated GIFs which help you demonstrate the steps or point out the part of DLE to which the suggestion is related. Please, do NOT use screenshots for console output, logs, configs.
@@ -78,16 +78,16 @@ Enhancement suggestions are tracked on [GitLab](https://gitlab.com/postgres-ai/d
7878
### Your first code contribution
7979
We appreciate first-time contributors, and we are happy to assist you in getting started. In case of any questions, reach out to us!
8080

81-
You find some issues that are considered as good for first-time contributors looking at [the issues with the `good-first-issue` label](https://gitlab.com/postgres-ai/database-lab/-/issues?label_name%5B%5D=good+first+issue). Assign yourself to an issue and start discussing a possible solution. It is always a good idea to discuss and collaborate before you propose an MR/PR.
81+
You can find issues that are considered good for first-time contributors by looking at [the issues with the `good-first-issue` label](https://gitlab.com/postgres-ai/database-lab/-/issues?label_name%5B%5D=good+first+issue). Assign yourself to an issue and start discussing a possible solution. It is always a good idea to discuss and collaborate before you propose an MR/PR.
8282

8383
### Translation
84-
We are translating `README.md`, `CONTRIBUTING.md` (this document), and other documents in the repository to various languages to make Database Lab Engine more accessible around the globe. Help in this area is always appreciated. You can start from translating the [project's README](/README.md) to your native language and save it in `./translations/README.{language}.md`. You can find examples in the [./translations](./translations) directory
84+
We are translating `README.md`, `CONTRIBUTING.md` (this document), and other documents in the repository to various languages to make Database Lab Engine more accessible around the globe. Help in this area is always appreciated. You can start from translating the [project's README](/README.md) to your native language and save it in `./translations/README.{language}.md`. You can find examples in the [./translations](./translations) directory.
8585

8686
### Roadmap
8787
There is [the Roadmap section](https://postgres.ai/docs/roadmap) in the docs. It contains some major items defining big goals for the development team and the DLE community. However, these items cannot be considered a strict plan, so there are no guarantees that everything from the list will be necessarily implemented.
8888

8989
### Merge Requests / Pull Requests
90-
DLE is developed on GitLab, so MRs (merge requests) there is a way to propose a contribution. GitHub PRs (pull requests) are also an option but note that eventually, the proposal will need to be moved to GitLab, so the processing time may be increased.
90+
DLE is developed on GitLab, so opening a merge request (MR) there is the way to propose a contribution. GitHub PRs (pull requests) are also an option but note that eventually, the proposal will need to be moved to GitLab, so the processing time may be increased.
9191

9292
Please follow these steps to have your contribution considered by the maintainers:
9393
1. Follow the [styleguides](#styleguides).
@@ -180,7 +180,7 @@ The DBLab API follows RESTful principles with these key guidelines:
180180
- JSON for request and response bodies
181181
- Comprehensive documentation with examples
182182

183-
#### API Documentation
183+
#### API documentation
184184
We use readme.io to host the API docs: https://dblab.readme.io/ and https://api.dblab.dev.
185185

186186
When updating the API specification:
@@ -191,21 +191,21 @@ When updating the API specification:
191191
#### Testing with Postman and Newman
192192
Postman collection is generated based on the OpenAPI spec file, using [Portman](https://github.com/apideck-libraries/portman).
193193

194-
##### Setup and Generation
194+
##### Setup and generation
195195
1. Install Portman: `npm install -g @apideck/portman`
196196
2. Generate Postman collection file:
197197
```bash
198198
portman --cliOptionsFile engine/api/postman/portman-cli.json
199199
```
200200

201-
##### Test Structure Best Practices
201+
##### Test structure best practices
202202
- Arrange tests in logical flows (create, read, update, delete)
203203
- Use environment variables to store and pass data between requests
204204
- For object creation tests, capture the ID in the response to use in subsequent requests
205205
- Add validation tests for response status, body structure, and expected values
206206
- Clean up created resources at the end of test flows
207207

208-
##### CI/CD Integration
208+
##### CI/CD integration
209209
The Postman collection is automatically run in CI/CD pipelines using Newman. For local testing:
210210
```bash
211211
newman run engine/api/postman/dblab_api.postman_collection.json -e engine/api/postman/branching.aws.postgres.ai.postman_environment.json
@@ -226,7 +226,7 @@ At the repository root:
226226

227227
_Note: Don't use commands for `@postgres.ai/shared` - it's a dependent package that can't be run or built directly_
228228

229-
#### Platform UI Development
229+
#### Platform UI development
230230
1. Set up environment variables:
231231
```bash
232232
cd ui/packages/platform
@@ -244,7 +244,7 @@ git tag ui/1.0.12
244244
git push origin ui/1.0.12
245245
```
246246

247-
#### Handling Vulnerabilities
247+
#### Handling vulnerabilities
248248
When addressing vulnerabilities in UI packages:
249249
1. Update the affected package to a newer version if available
250250
2. For sub-package vulnerabilities, try using [npm-force-resolutions](https://www.npmjs.com/package/npm-force-resolutions)
@@ -255,7 +255,7 @@ For code-related issues:
255255
2. Follow recommendations from security analysis tools
256256
3. Only ignore false positives when absolutely necessary
257257

258-
#### TypeScript Migration
258+
#### TypeScript migration
259259
- `@postgres.ai/shared` and `@postgres.ai/ce` are written in TypeScript
260260
- `@postgres.ai/platform` is partially written in TypeScript with ongoing migration efforts
261261

PROMETHEUS.md

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Prometheus Metrics
1+
# Prometheus metrics
22

33
DBLab Engine exposes Prometheus metrics via the `/metrics` endpoint. These metrics can be used to monitor the health and performance of the DBLab instance.
44

@@ -10,9 +10,9 @@ GET /metrics
1010

1111
The endpoint is publicly accessible (no authentication required) and returns metrics in Prometheus text format.
1212

13-
## Available Metrics
13+
## Available metrics
1414

15-
### Instance Metrics
15+
### Instance metrics
1616

1717
| Metric Name | Type | Labels | Description |
1818
|-------------|------|--------|-------------|
@@ -21,7 +21,7 @@ The endpoint is publicly accessible (no authentication required) and returns met
2121
| `dblab_instance_status_code` | Gauge | - | Status code of the DBLab instance (0=OK, 1=Warning, 2=Bad) |
2222
| `dblab_retrieval_status` | Gauge | `mode`, `status` | Status of data retrieval (1=active for status) |
2323

24-
### Disk/Pool Metrics
24+
### Disk/pool metrics
2525

2626
| Metric Name | Type | Labels | Description |
2727
|-------------|------|--------|-------------|
@@ -34,7 +34,7 @@ The endpoint is publicly accessible (no authentication required) and returns met
3434
| `dblab_disk_compress_ratio` | Gauge | `pool` | Compression ratio of the filesystem (ZFS) |
3535
| `dblab_pool_status` | Gauge | `pool`, `mode`, `status` | Status of the pool (1=active for status) |
3636

37-
### Clone Metrics (Aggregate)
37+
### Clone metrics (aggregate)
3838

3939
| Metric Name | Type | Labels | Description |
4040
|-------------|------|--------|-------------|
@@ -49,7 +49,7 @@ The endpoint is publicly accessible (no authentication required) and returns met
4949
| `dblab_clone_total_memory_limit_bytes` | Gauge | - | Total memory limit in bytes across all clone containers |
5050
| `dblab_clone_protected_count` | Gauge | - | Number of protected clones |
5151

52-
### Snapshot Metrics (Aggregate)
52+
### Snapshot metrics (aggregate)
5353

5454
| Metric Name | Type | Labels | Description |
5555
|-------------|------|--------|-------------|
@@ -61,20 +61,20 @@ The endpoint is publicly accessible (no authentication required) and returns met
6161
| `dblab_snapshot_max_data_lag_seconds` | Gauge | - | Maximum data lag of any snapshot in seconds |
6262
| `dblab_snapshot_total_num_clones` | Gauge | - | Total number of clones across all snapshots |
6363

64-
### Branch Metrics
64+
### Branch metrics
6565

6666
| Metric Name | Type | Labels | Description |
6767
|-------------|------|--------|-------------|
6868
| `dblab_branches_total` | Gauge | - | Total number of branches |
6969

70-
### Dataset Metrics
70+
### Dataset metrics
7171

7272
| Metric Name | Type | Labels | Description |
7373
|-------------|------|--------|-------------|
7474
| `dblab_datasets_total` | Gauge | `pool` | Total number of datasets (slots) in the pool |
7575
| `dblab_datasets_available` | Gauge | `pool` | Number of available (non-busy) dataset slots for reuse |
7676

77-
### Sync Instance Metrics (Physical Mode)
77+
### Sync instance metrics (physical mode)
7878

7979
These metrics are only available when DBLab is running in physical mode with a sync instance enabled. They track the WAL replay status of the sync instance.
8080

@@ -85,7 +85,7 @@ These metrics are only available when DBLab is running in physical mode with a s
8585
| `dblab_sync_uptime_seconds` | Gauge | - | Uptime of the sync instance in seconds |
8686
| `dblab_sync_last_replayed_timestamp` | Gauge | - | Unix timestamp of the last replayed transaction |
8787

88-
### Observability Metrics
88+
### Observability metrics
8989

9090
These metrics help monitor the health of the metrics collection system itself.
9191

@@ -95,7 +95,7 @@ These metrics help monitor the health of the metrics collection system itself.
9595
| `dblab_scrape_duration_seconds` | Gauge | - | Duration of last metrics collection in seconds |
9696
| `dblab_scrape_errors_total` | Counter | - | Total number of errors during metrics collection |
9797

98-
## Prometheus Configuration
98+
## Prometheus configuration
9999

100100
Add the following to your `prometheus.yml`:
101101

@@ -107,71 +107,71 @@ scrape_configs:
107107
metrics_path: /metrics
108108
```
109109
110-
## Example Queries
110+
## Example queries
111111
112-
### Free Disk Space Percentage
112+
### Free disk space percentage
113113
114114
```promql
115115
100 * dblab_disk_free_bytes / dblab_disk_total_bytes
116116
```
117117

118-
### Number of Active Clones
118+
### Number of active clones
119119

120120
```promql
121121
dblab_clones_total
122122
```
123123

124-
### Maximum Clone Age in Hours
124+
### Maximum clone age in hours
125125

126126
```promql
127127
dblab_clone_max_age_seconds / 3600
128128
```
129129

130-
### Data Freshness (lag from current time)
130+
### Data freshness (lag from current time)
131131

132132
```promql
133133
dblab_snapshot_max_data_lag_seconds / 60
134134
```
135135

136-
### Total Memory Usage Across All Clones
136+
### Total memory usage across all clones
137137

138138
```promql
139139
dblab_clone_total_memory_usage_bytes
140140
```
141141

142-
### Average CPU Usage Across All Clones
142+
### Average CPU usage across all clones
143143

144144
```promql
145145
dblab_clone_avg_cpu_usage_percent
146146
```
147147

148-
### Clones by Status
148+
### Clones by status
149149

150150
```promql
151151
dblab_clones_by_status
152152
```
153153

154-
### Metrics Collection Health
154+
### Metrics collection health
155155

156156
```promql
157157
time() - dblab_scrape_success_timestamp
158158
```
159159

160-
### WAL Replay Lag (Physical Mode)
160+
### WAL replay lag (physical mode)
161161

162162
```promql
163163
dblab_sync_wal_lag_seconds
164164
```
165165

166-
### Time Since Last Replayed Transaction
166+
### Time since last replayed transaction
167167

168168
```promql
169169
time() - dblab_sync_last_replayed_timestamp
170170
```
171171

172-
## Alerting Examples
172+
## Alerting examples
173173

174-
### Low Disk Space Alert
174+
### Low disk space alert
175175

176176
```yaml
177177
- alert: DBLabLowDiskSpace
@@ -184,7 +184,7 @@ time() - dblab_sync_last_replayed_timestamp
184184
description: "DBLab pool {{ $labels.pool }} has less than 20% free disk space"
185185
```
186186
187-
### Stale Snapshot Alert
187+
### Stale snapshot alert
188188
189189
```yaml
190190
- alert: DBLabStaleSnapshot
@@ -197,7 +197,7 @@ time() - dblab_sync_last_replayed_timestamp
197197
description: "DBLab snapshot data is more than 24 hours old"
198198
```
199199
200-
### High Clone Count Alert
200+
### High clone count alert
201201
202202
```yaml
203203
- alert: DBLabHighCloneCount
@@ -210,7 +210,7 @@ time() - dblab_sync_last_replayed_timestamp
210210
description: "DBLab has {{ $value }} clones running"
211211
```
212212
213-
### Metrics Collection Stale Alert
213+
### Metrics collection stale alert
214214
215215
```yaml
216216
- alert: DBLabMetricsStale
@@ -223,7 +223,7 @@ time() - dblab_sync_last_replayed_timestamp
223223
description: "DBLab metrics have not been updated for more than 5 minutes"
224224
```
225225
226-
### High WAL Replay Lag Alert (Physical Mode)
226+
### High WAL replay lag alert (physical mode)
227227
228228
```yaml
229229
- alert: DBLabHighWALLag
@@ -236,7 +236,7 @@ time() - dblab_sync_last_replayed_timestamp
236236
description: "DBLab sync instance WAL replay is {{ $value | humanizeDuration }} behind"
237237
```
238238
239-
### Sync Instance Down Alert (Physical Mode)
239+
### Sync instance down alert (physical mode)
240240
241241
```yaml
242242
- alert: DBLabSyncDown
@@ -249,11 +249,11 @@ time() - dblab_sync_last_replayed_timestamp
249249
description: "DBLab sync instance is not healthy"
250250
```
251251
252-
## OpenTelemetry Integration
252+
## OpenTelemetry integration
253253
254254
DBLab metrics can be exported to OpenTelemetry-compatible backends using the OpenTelemetry Collector. This allows you to send metrics to Grafana Cloud, Datadog, New Relic, and other observability platforms.
255255
256-
### Quick Start
256+
### Quick start
257257
258258
1. Install the OpenTelemetry Collector:
259259
```bash
@@ -292,7 +292,7 @@ DBLab metrics can be exported to OpenTelemetry-compatible backends using the Ope
292292
└─────────────┘
293293
```
294294

295-
### Supported Backends
295+
### Supported backends
296296

297297
The OTel Collector can export to:
298298
- **Grafana Cloud** - Use OTLP exporter with Grafana Cloud endpoint

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ You can find more in the ["How-to guides" section](https://postgres.ai/docs/how-
190190
## License
191191
The DBLab source code is licensed under the OSI-approved open source license [Apache 2.0](https://opensource.org/license/apache-2-0/).
192192

193-
Reach out to the Postgres.ai team if you want a trial or commercial license that does not contain the GPL clauses: [Contact page](https://postgres.ai/contact).
193+
Reach out to the PostgresAI team if you want a trial or commercial license that does not contain the GPL clauses: [Contact page](https://postgres.ai/contact).
194194

195195
## Community & Support
196196
- [Database Lab Engine Community Covenant Code of Conduct](./CODE_OF_CONDUCT.md)

SECURITY.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
# Database Lab Engine security guidelines
1+
# DBLab Engine security guidelines
22

33
## Reporting vulnerabilities
4-
We're extremely grateful for security researchers and users that report vulnerabilities directly to Postgres.ai and the Database Lab Engine Community. All reports are thoroughly investigated by a set of community volunteers and the Postgres.ai team.
4+
We're extremely grateful for security researchers and users that report vulnerabilities directly to PostgresAI and the DBLab Engine community. All reports are thoroughly investigated by a set of community volunteers and the PostgresAI team.
55

66
To report a security issue, please email us at security@postgres.ai with all the details, attaching all necessary information.
77

88
### When should I report a vulnerability?
9-
- You think you have discovered a potential security vulnerability in the Database Lab Engine or related components.
10-
- You are unsure how a vulnerability affects the Database Lab Engine.
11-
- You think you discovered a vulnerability in another project that Database Lab Engine depends on (e.g., ZFS, Docker, etc).
12-
- You want to report any other security risk that could potentially harm Database Lab Engine users.
9+
- You think you have discovered a potential security vulnerability in DBLab Engine or related components.
10+
- You are unsure how a vulnerability affects DBLab Engine.
11+
- You think you discovered a vulnerability in another project that DBLab Engine depends on (e.g., ZFS, Docker, etc.).
12+
- You want to report any other security risk that could potentially harm DBLab Engine users.
1313

1414
### When should I NOT report a vulnerability?
15-
- You're helping tune Database Lab Engine for security, perform some planned experiments coordinated with the maintainers.
15+
- You're helping tune DBLab Engine for security, perform some planned experiments coordinated with the maintainers.
1616
- Your issue is not security related.
1717

18-
## Security Vulnerability Response
18+
## Security vulnerability response
1919
Each report is acknowledged and analyzed by the project's maintainers and the security team within 3 working days.
2020

2121
The reporter will be kept updated at every stage of the issue's analysis and resolution (triage -> fix -> release).
2222

23-
## Public Disclosure Timing
24-
A public disclosure date is negotiated by the Postgres.ai security team and the bug submitter. We prefer to fully disclose the bug as soon as possible once user mitigation is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for vendor coordination. The timeframe for disclosure is from immediate (especially if it's already publicly known) to a few weeks. We expect the time-frame between a report to public disclosure to typically be in the order of 7 days. The Database Lab Engine maintainers and the security team will take the final call on setting a disclosure date.
23+
## Public disclosure timing
24+
A public disclosure date is negotiated by the PostgresAI security team and the bug submitter. We prefer to fully disclose the bug as soon as possible once user mitigation is available. It is reasonable to delay disclosure when the bug or the fix is not yet fully understood, the solution is not well-tested, or for vendor coordination. The timeframe for disclosure is from immediate (especially if it's already publicly known) to a few weeks. We expect the time-frame between a report to public disclosure to typically be in the order of 7 days. The DBLab Engine maintainers and the security team will take the final call on setting a disclosure date.
2525

2626
## Known unfixed vulnerabilities
2727
Some third-party CVEs cannot yet be patched in DBLab Engine for reasons outside of the project's control (no upstream fix released, major-version migration required, or embedded in base-image internals). They are tracked here and resolved as upstream fixes become available.

0 commit comments

Comments
 (0)