Skip to content

Commit 24e75c6

Browse files
committed
v4.0.0
1 parent 439b432 commit 24e75c6

2 files changed

Lines changed: 57 additions & 139 deletions

File tree

CONTRIBUTING.md

Lines changed: 56 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -3,66 +3,45 @@
33
Welcome to Pigsty! We're excited that you're interested in contributing.
44

55
Pigsty is an open-source, cloud-neutral, local-first PostgreSQL distribution that delivers production-ready database clusters.
6-
Your contributions help make PostgreSQL more accessible and powerful for everyone.
7-
8-
## Getting Started
9-
10-
Pigsty uses a 4-node sandbox environment based on EL9 (Rocky Linux 9) as the default testing environment.
11-
You can set up this environment using either **Vagrant** or **Terraform**.
12-
13-
```bash
14-
cd ~/pigsty
15-
make full9
16-
./configure -c ha/full
17-
./deploy.yml
18-
```
19-
20-
Check https://pigsty.io/docs/setup/ for details.
6+
Your feedback and ideas help make PostgreSQL more accessible and powerful for everyone.
217

228

239
## Ways to Contribute
2410

25-
There are many ways to contribute to Pigsty, regardless of your experience level:
26-
27-
### Report Bugs & Request Features
11+
### Report Bugs
2812

2913
- Search [existing issues](https://github.com/pgsty/pigsty/issues) first to avoid duplicates
30-
- Use the issue templates when available
31-
- Provide detailed reproduction steps for bugs
14+
- Provide detailed reproduction steps
3215
- Include your Pigsty version, OS version, and relevant configuration
16+
- Attach logs and error messages when applicable
3317

34-
### Improve Documentation
18+
### Request Features
3519

36-
- Fix typos, clarify explanations, or add examples
37-
- Documentation issues should be submitted to [pgsty/pigsty.io](https://github.com/pgsty/pigsty.io/issues) (EN) / [pgsty/pigsty.cc](https://github.com/pgsty/pigsty.cc/issues) (ZH)
38-
- Translations are welcome
20+
- Describe your use case and why the feature would be valuable
21+
- Explain your current workaround (if any)
22+
- Be specific about expected behavior
3923

40-
### Design Config Templates
24+
### Suggest Extensions
4125

42-
If your scenario isn't covered by existing config templates, consider creating a new one.
43-
Templates are located in the `conf/` directory:
26+
Pigsty supports 400+ PostgreSQL extensions. If you need an extension that's not included:
4427

45-
```
46-
conf/
47-
├── meta.yml # Default 1-node template
48-
├── rich.yml # Feature-rich with minio & examples
49-
├── slim.yml # Minimal installation
50-
├── citus.yml # Distributed PostgreSQL
51-
├── supabase.yml # Supabase self-hosting
52-
├── ha/
53-
│ ├── dual.yml # 2-node HA
54-
│ ├── trio.yml # 3-node HA
55-
│ ├── full.yml # 4-node sandbox
56-
│ └── safe.yml # Security enhanced
57-
└── ...
58-
```
28+
- Open an issue describing the extension and your use case
29+
- Include links to the extension's repository/documentation
30+
- Specify which PostgreSQL versions you need it for
5931

60-
You can create templates for specific use cases: exotic kernels, special hardware, cloud providers, or industry scenarios.
32+
### Propose Config Templates
6133

62-
### Add Docker App Templates
34+
If your scenario isn't covered by existing templates in the `conf/` directory, we'd love to hear about it:
6335

64-
The `app/` directory contains Docker Compose templates for applications that work well with PostgreSQL.
65-
You can contribute new templates for popular software:
36+
- Target environment (cloud provider, hardware specs, OS)
37+
- Workload characteristics (OLTP, OLAP, mixed)
38+
- Special requirements (compliance, performance, HA topology)
39+
40+
Good suggestions may be incorporated into future releases.
41+
42+
### Suggest Docker App Templates
43+
44+
The `app/` directory contains Docker Compose templates for applications that work well with PostgreSQL:
6645

6746
```
6847
app/
@@ -75,127 +54,65 @@ app/
7554
└── ...
7655
```
7756

78-
To add a new app template:
79-
1. Create a new directory under `app/`
80-
2. Add a `docker-compose.yml` and `README.md`
81-
3. Ensure it integrates well with Pigsty's PostgreSQL clusters
82-
4. Submit a pull request
83-
84-
### Contribute Grafana Dashboards
85-
86-
Dashboards are located in `files/grafana/` with subdirectories for each module (pgsql, node, infra, redis, etc.).
87-
88-
To develop and test dashboards:
89-
90-
```bash
91-
export GRAFANA_ENDPOINT=http://10.10.10.10:3000/ui # your grafana endpoint
92-
make di # dashboard-init: load dashboards to grafana
93-
make dd # dashboard-dump: dump dashboards from grafana
94-
```
95-
96-
Edit dashboards in Grafana UI, then use `make dd` to export changes back to JSON files.
97-
98-
### Contribute Roles & Playbooks
99-
100-
If you believe a new Ansible role or playbook would benefit other users, consider contributing it.
101-
Roles are located in the `roles/` directory:
102-
103-
```
104-
roles/
105-
├── pgsql/ # PostgreSQL cluster provisioning
106-
├── node/ # Host provisioning and tuning
107-
├── infra/ # Monitoring infrastructure
108-
├── etcd/ # DCS for HA consensus
109-
├── redis/ # Redis cluster deployment
110-
├── minio/ # S3-compatible object storage
111-
└── ...
112-
```
113-
114-
New modules should follow existing patterns and include proper documentation.
115-
116-
### Contribute Code
57+
If you have ideas for new app templates, please open an issue with:
11758

118-
- Bug fixes and feature implementations are welcome
119-
- Follow the existing code style and conventions
120-
- Test your changes thoroughly before submitting
121-
- Keep changes focused and atomic
59+
- The application name and what it does
60+
- Why it pairs well with PostgreSQL
61+
- Any specific configuration considerations
62+
- Links to official documentation
12263

123-
### Supported Platforms
64+
### Suggest Grafana Dashboards
12465

125-
When contributing code, please ensure compatibility with:
66+
Dashboards are located in `files/grafana/` with subdirectories for each module (pgsql, node, infra, redis, etc.).
12667

127-
- **OS**: Ubuntu 22/24, Debian 12/13, EL 9/10
128-
- **Arch**: Linux x86_64, ARM64
129-
- **PostgreSQL**: 14, 15, 16, 17, 18
130-
- **Ansible**: 2.9 - 2.19+
68+
If you have ideas for new dashboards or improvements to existing ones, please describe them in an issue.
13169

70+
### Improve Documentation
13271

72+
- Report documentation issues to [pgsty/pigsty.io](https://github.com/pgsty/pigsty.io/issues) (EN) or [pgsty/pigsty.cc](https://github.com/pgsty/pigsty.cc/issues) (ZH)
73+
- Suggest clarifications, point out outdated content, or propose examples
74+
- Translation suggestions are appreciated
13375

134-
## Communication Guidelines
13576

136-
### Before Submitting Issues
77+
## Before Submitting
13778

13879
1. Check the [FAQ](https://pigsty.io/docs/setup/faq) and [documentation](https://pigsty.io/docs)
13980
2. Search [existing issues](https://github.com/pgsty/pigsty/issues) and [discussions](https://github.com/orgs/pgsty/discussions)
140-
3. Provide sufficient information (see [community help guide](https://github.com/pgsty/pigsty/discussions/338))
81+
3. Provide sufficient context (see [community help guide](https://github.com/pgsty/pigsty/discussions/338))
14182

142-
### For Significant Changes
83+
For code changes or significant contributions, please open an issue first to discuss.
84+
This helps ensure alignment with the project's direction and avoids duplicated effort.
14385

144-
If you're planning significant modifications to the system, please discuss first in [GitHub Discussions](https://github.com/orgs/pgsty/discussions)
145-
before investing significant effort. This helps ensure your contribution aligns with the project's direction.
14686

147-
### Related Repositories
87+
## Related Repositories
14888

149-
Different types of issues should be submitted to the appropriate repository:
89+
| Topic | Repository |
90+
|------------------------------|------------------------------------------------------------------------|
91+
| Pigsty core | [pgsty/pigsty](https://github.com/pgsty/pigsty/issues) |
92+
| English documentation | [pgsty/pigsty.io](https://github.com/pgsty/pigsty.io/issues) |
93+
| Chinese documentation | [pgsty/pigsty.cc](https://github.com/pgsty/pigsty.cc/issues) |
94+
| PG CLI and Extension Manager | [pgsty/pig](https://github.com/pgsty/pig/issues) |
95+
| PG Metrics Exporter | [pgsty/pg_exporter](https://github.com/pgsty/pg_exporter/issues) |
15096

151-
| Topic | Repository |
152-
|-----------------------|------------------------------------------------------------------------|
153-
| Pigsty core | [pgsty/pigsty](https://github.com/pgsty/pigsty/issues) |
154-
| English documentation | [pgsty/pigsty.io](https://github.com/pgsty/pigsty.io/issues) |
155-
| Chinese documentation | [pgsty/pigsty.cc](https://github.com/pgsty/pigsty.cc/issues) |
156-
| PostgreSQL extensions | [pgsty/pig](https://github.com/pgsty/pig/issues) |
157-
| Monitoring exporter | [pgsty/pg_exporter](https://github.com/pgsty/pg_exporter/issues) |
15897

159-
### Community Channels
98+
## Community Channels
16099

161100
- **GitHub Discussions**: [https://github.com/orgs/pgsty/discussions](https://github.com/orgs/pgsty/discussions)
162101
- **Telegram**: [https://t.me/joinchat/gV9zfZraNPM3YjFh](https://t.me/joinchat/gV9zfZraNPM3YjFh)
163102
- **Discord**: [https://discord.gg/j5pG8qfKxU](https://discord.gg/j5pG8qfKxU)
164-
- **WeChat**: Search "pigsty-cc" to join Chinese community groups
103+
- **WeChat**: Search "pigsty-cc" to join wechat community groups
104+
- **QQ Group**: 619377403 / PG
165105
- **Email**: rh@vonng.com
166106

167107

168-
169-
## Pull Request Process
170-
171-
1. Fork the repository and create your branch from `main`
172-
2. Make your changes with clear, descriptive commits
173-
3. Test your changes in the sandbox environment
174-
4. Update documentation if needed
175-
5. Submit a pull request with a clear description of changes
176-
177-
**Important**: Always use versioned [releases](https://github.com/pgsty/pigsty/releases) for production. The `main` branch is for development.
178-
179-
180-
## Code of Conduct
181-
182-
- Be respectful and inclusive
183-
- Focus on constructive feedback
184-
- Help others learn and grow
185-
186-
187108
## License
188109

189-
By contributing to Pigsty, you agree that your contributions will be licensed under the [Apache License 2.0](LICENSE).
190-
191-
192-
## Thank You!
110+
Pigsty is licensed under the [Apache License 2.0](LICENSE).
193111

194-
Every contribution matters - whether it's a bug report, documentation fix, feature suggestion, or code contribution.
195-
Your involvement helps make Pigsty better for the entire PostgreSQL community.
196112

197-
We appreciate your time and effort in making Pigsty a better project!
113+
## Thank You
198114

199-
If you have any questions, don't hesitate to reach out through our community channels.
115+
Your feedback, ideas, and bug reports genuinely help improve Pigsty.
116+
We read every issue and discussion, and good suggestions often make it into future releases.
200117

201-
**Happy hacking!**
118+
If you have questions, don't hesitate to reach out through the community channels above.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -653,6 +653,7 @@ Pigsty is licensed under [**Apache-2.0**](LICENSE) (since v4.0), Check [**Docs**
653653
[![Telegram: gV9zfZraNPM3YjFh](https://img.shields.io/badge/Telegram-gV9zfZraNPM3YjFh-cornflowerblue?style=flat&logo=telegram&logoColor=cornflowerblue)](https://t.me/joinchat/gV9zfZraNPM3YjFh)
654654
[![Discord: j5pG8qfKxU](https://img.shields.io/badge/Discord-j5pG8qfKxU-mediumpurple?style=flat&logo=discord&logoColor=mediumpurple)](https://discord.gg/j5pG8qfKxU)
655655
[![Wechat: pigsty-cc](https://img.shields.io/badge/WeChat-pigsty--cc-green?style=flat&logo=wechat&logoColor=green)](https://pigsty.io/img/pigsty/pigsty-cc.jpg)
656+
[![QQ: 619377403](https://img.shields.io/badge/QQ-619377403-blue?style=flat&logo=qq)](https://qm.qq.com/q/vm8LIeUqGc)
656657

657658
[![Author: RuohangFeng](https://img.shields.io/badge/Author-Ruohang_Feng-steelblue?style=flat)](https://vonng.com/)
658659
[![About: @Vonng](https://img.shields.io/badge/%40Vonng-steelblue?style=flat)](https://vonng.com/en/)

0 commit comments

Comments
 (0)