request: neondatabase/neon (serverless Postgres) — packaging feasibility

Đang mở
#13,131 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Ít trao đổi
Công nghệ
docker, postgresql, rust
Lĩnh vực
build-system, databases, devops

Hướng nghiên cứu

Start with Neon's top-level Makefile, the vendor/postgres-vXX submodules, and the Rust workspace build described in the issue. Review the linked cockroachdb precedent and the bayandin/homebrew-tap formula layout, then compare them with pantry's recipe model. Done means a maintainer-approved packaging direction or a documented decision not to package Neon; the issue does not currently identify a concrete implementation target.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Project

neondatabase/neon — serverless PostgreSQL with storage/compute separation (pageserver, safekeeper, proxy, storage_controller + a forked PostgreSQL for compute).

Why this is a request, not a PR

Investigation suggests packaging Neon as a single pantry project is not a clean fit. Filing this for discussion before any recipe is pushed.

What Neon's build chain looks like

The top-level make builds three things together:

  1. Vendored, patched PostgreSQL — Neon's Makefile builds v14, v15, v16 and v17 of a forked Postgres from vendor/postgres-vXX submodules into ./pg_install/. Each version is a full PG configure/build (icu, libxml, libxslt, lz4, zstd, openssl, readline, uuid; libseccomp + util-linux on Linux).
  2. Rust workspace — ~10+ binaries via cargo install: pageserver, safekeeper, storage_broker, storage_controller, storage_scrubber, storcon_cli, compute_ctl, endpoint_storage, neon_local, pagectl, pagebench, wal_craft. Deps include protobuf, openssl, icu, libpq.
  3. Neon Postgres extensions linked against the forked PG above.

Why a pantry recipe is awkward

  • CI budget: a clean build = 4× full PostgreSQL + a large Rust workspace. Likely well outside pantry's per-recipe budget.
  • Versioning: upstream tags three release streams independently — release-NNNN (storage), release-compute-NNNN (forked PG), release-proxy-NNNN (proxy). Pantry's single versions: stream doesn't model this cleanly.
  • Naming conflict: notroj.github.io/neon (WebDAV client) already occupies neon in pantry — user-facing aliasing would be confusing.
  • Deployment model: upstream explicitly states self-hosted Neon is not production-ready; it's deployed as a service / Docker stack. There is no single end-user CLI — neon_local is a dev/test orchestrator.
  • Closest prior art: the community bayandin/homebrew-tap splits this across three formulae (neon-postgres, neon-storage, neon-extension) plus a neon-local meta. Pantry doesn't have a clean sub-package idiom matching that shape.

Precedent

Similar large multi-component DB systems already on hold in pantry:

Options

  1. Don't package (recommend). Users wanting local Neon should use Docker / neondatabase/neon_local per upstream guidance.
  2. Storage-only recipe that depends on a pre-built or separate neondatabase.com/postgres pantry project containing the forked PG (4 PG versions). Doubles the CI footprint and still ships dev-only binaries.
  3. Mirror the bayandin layout with three pantry projects under neondatabase.com/{neon,postgres,extensions}. Heavy, and the use-case for end users is unclear.

Happy to push a recipe along any of these paths if a maintainer signals which (if any) is in scope. Otherwise my recommendation is to close as wontfix and document the rationale.

Ngôn ngữ chính
C
Star
199
Fork
142
Merge trung bình
2 giờ 28 phút
Pull request đã merge (30 ngày)
150

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

  • Không có Dockerfile hay tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của pkgxdev/pantry

Tất cả issue của pkgxdev/pantry

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.