Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design client tooling #6

Open
5 tasks
theory opened this issue Mar 13, 2024 · 0 comments
Open
5 tasks

Design client tooling #6

theory opened this issue Mar 13, 2024 · 0 comments
Labels
client design Designing the architecture, protocols, tools, and interfaces for PGXN v2

Comments

@theory
Copy link
Member

theory commented Mar 13, 2024

Design the tooling for clients. The goal is SDKs used to build and ship single binaries for each supported OS and architecture to support end user, developer, packaging, and CI/CD use case.

  • Developer tools (Developer SDK)
    • Initialize projects
    • Manage metadata
    • Build and install for all supported platforms and pipelines
    • Run Tests on different Postgres versions
    • Bundle and Publish
    • Publish to private registry
  • Packaging tools
    • Build and install for all supported platforms and pipelines
    • Run Tests on different Postgres versions
    • Package and Publish
  • Installation/management tools (User SDK)
    • List extensions
    • Search extensions
    • Determine environment (Postgres version, OS, architecture)
    • Fetch the appropriate binary package for the configuration
    • Resolve and install all extension, system, and library dependencies
    • Install (or re-install) the package
    • Build from source for all supported pipelines
    • Validate an extension has been installed
    • Confirm successful installation
    • CREATE EXTENSION et al. in one or more databases
    • Use private registries as well as the Root Registry
    • Report on installed extensions and their status (used/not used, out of
      date)
  • Compatibility (PGXN, Trunk, PGXMan, etc.)
  • CI/CD Tools (overlaps with developer SDK)
    • Build and install for all supported platforms and pipelines
    • Run Tests on different Postgres versions
    • Bundle and Publish
    • Publish to private registry
@theory theory transferred this issue from pgxn/www-pgxn Mar 13, 2024
@theory theory added design Designing the architecture, protocols, tools, and interfaces for PGXN v2 client labels Mar 13, 2024
@theory theory added this to the 2. Building and Packaging milestone Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client design Designing the architecture, protocols, tools, and interfaces for PGXN v2
Projects
Status: Backlog
Development

No branches or pull requests

1 participant