braidplane-core

command module
v0.0.0-...-5106b98 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

README

Braidplane logo

Braidplane Community core

Braidplane is a declarative, contract-based data integration platform.

Define ETL pipelines in Git, specify data contracts between steps, and inspect the exact version and results of each run. Braidplane is open source and built for developers and data teams who move and combine data across databases, APIs, CRMs and file stores. For example, join order records with customer data and write the result to S3. Work through the web interface, CLI or API.

How it works · Run locally · Pipeline examples · Connector capabilities

Run lineage with synthetic data: settlement file + payment ledger → comparison rows and totals. Inspect the executed pipeline version, step status, timing and row counts. Click the image for a full-size view.

Explore pipeline examples · How runs work

What you can do

  • Connect PostgreSQL, MySQL, MongoDB, HTTP APIs, HubSpot, S3 and other available systems.
  • Review pipeline changes in Git, with credentials stored separately in configured connections.
  • Use different connections per environment. Bind a definition's logical connection names to a project's saved data sources.
  • Validate the definition, deploy an immutable version, then inspect run status, step timelines and failure diagnostics.
  • Assess changes with Proof. Inspect claims and evidence for an exact Git change and target before deciding whether to apply it.

See the connector guide for available operations, connection settings and examples.

Community edition

Community includes the backend, web interface, CLI, API schema, core migrations, Proof, authentication, authorization and run diagnostics. There are no pipeline-count, usage or trial restrictions. Configure runtime resource limits through CONFIG.md.

Run locally

From a checkout of this repository, install Bash, Git, Python 3, OpenSSL, Go, Task and Docker with Compose. Start Docker, then run:

task dev

The first run downloads the pinned toolchains and dependencies, builds the application, starts PostgreSQL and Mailpit, and applies core migrations. Open http://127.0.0.1:3002, create an account and find its verification email at http://127.0.0.1:38025. Provider credentials are only needed for integrations that use them.

Ctrl-C stops the application processes; the database, Mailpit and local keys remain for the next run. Keep the keys with the database: encrypted data needs the original keys. See local setup for ports, stopping containers and running multiple instances. To grant administrator access, follow instance administrators.

Build your first pipeline with the PostgreSQL to S3 walkthrough. It includes sample data, a pipeline definition, expected results and cleanup commands. You will need a database, an S3 bucket and a Git repository.

Common questions

Is AI used to develop Core?

Yes. AI tools are used during development, testing and review. The maintainer decides which changes are accepted and remains responsible for the project.

Can I use AI tools when contributing?

Yes. You remain responsible for the changes you submit. See AI-assisted contributions for disclosure, testing and reporting requirements.

Help and participation

Use GitHub Issues for bugs and proposals, support guidance for maintenance and conduct, and SECURITY.md for private vulnerability reports. Read CHANGELOG.md for changes and the contribution guide before submitting work.

Develop

Use build and validation for toolchain, test, generation and container instructions. Contributing and quality gates describe checks for changes; engineering documentation, configuration and package boundaries cover runtime settings and code ownership.

License

First-party code and technical documentation use Apache-2.0. Third-party files retain their own licenses; see NOTICE. See the release rights inventory for third-party components and notice requirements.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
gen/client
Package apiclient provides primitives to interact with the openapi HTTP API.
Package apiclient provides primitives to interact with the openapi HTTP API.
gen/server
Package apiserver provides primitives to interact with the openapi HTTP API.
Package apiserver provides primitives to interact with the openapi HTTP API.
Package backend composes reusable Community backend components.
Package backend composes reusable Community backend components.
cli
apiclient
Package apiclient provides primitives to interact with the openapi HTTP API.
Package apiclient provides primitives to interact with the openapi HTTP API.
cmd/braidplane command
cmd
admin command
Command admin runs local database-operator tasks using protected installation configuration.
Command admin runs local database-operator tasks using protected installation configuration.
clischema command
Command clischema projects only reviewed CLI operations and their wire types.
Command clischema projects only reviewed CLI operations and their wire types.
communityschema command
Command communityschema emits the public projection of an OpenAPI source.
Command communityschema emits the public projection of an OpenAPI source.
fake command
frontend command
healthcheck command
healthcheck probes a container's local readiness endpoint without shell tools.
healthcheck probes a container's local readiness endpoint without shell tools.
migrate command
dsparser
Package dsparser provides connection URI parsers for each supported datasource type.
Package dsparser provides connection URI parsers for each supported datasource type.
e2e/support/http-oauth-fixture command
This fixture runs production SSR against synthetic API replies; it does not implement the OAuth protocol or persistence.
This fixture runs production SSR against synthetic API replies; it does not implement the OAuth protocol or persistence.
runlineage
Package runlineage projects an immutable pipeline version and persisted run facts into the read-only lineage shown on run detail surfaces.
Package runlineage projects an immutable pipeline version and persisted run facts into the read-only lineage shown on run detail surfaces.
views
templ: version: v0.3.1020
templ: version: v0.3.1020
pkg
as
connector/filestream
Package filestream provides bounded byte transport shared by native file readers and producers that serialize records incrementally.
Package filestream provides bounded byte transport shared by native file readers and producers that serialize records incrementally.
connector/schemaquota
Package schemaquota carries execution-scoped schema introspection budgets to provider clients and adapters.
Package schemaquota carries execution-scoped schema introspection budgets to provider clients and adapters.
connector/transportsecurity
Package transportsecurity enforces encrypted connector transport independently of host access policy.
Package transportsecurity enforces encrypted connector transport independently of host access policy.
connector/writegate
Package writegate lets runtime orchestration guard an adapter's prepared provider write.
Package writegate lets runtime orchestration guard an adapter's prepared provider write.
contractplan
Package contractplan owns portable immutable compilation snapshots.
Package contractplan owns portable immutable compilation snapshots.
decimal
Package decimal implements the bounded base-ten pipeline numeric contract.
Package decimal implements the bounded base-ten pipeline numeric contract.
deploymentplan
Package deploymentplan holds immutable environment-specific executable plans.
Package deploymentplan holds immutable environment-specific executable plans.
gitlab/oauth
Package oauth implements GitLab's provider-owned OAuth2 protocol boundary.
Package oauth implements GitLab's provider-owned OAuth2 protocol boundary.
googleclient
Package googleclient owns transport policies shared by Google resource clients.
Package googleclient owns transport policies shared by Google resource clients.
googleoauth
Package googleoauth implements Google's provider-owned OAuth2 protocol boundary.
Package googleoauth implements Google's provider-owned OAuth2 protocol boundary.
googleworkspace
Package googleworkspace applies Braidplane execution policies to Google's official clients.
Package googleworkspace applies Braidplane execution policies to Google's official clients.
httpoauth
Package httpoauth implements the protocol boundary for customer-configured HTTP OAuth apps.
Package httpoauth implements the protocol boundary for customer-configured HTTP OAuth apps.
hubspot/crm
Package crm implements HubSpot CRM API requests using a portal access token.
Package crm implements HubSpot CRM API requests using a portal access token.
hubspot/oauth
Package oauth implements HubSpot's provider-owned OAuth2 protocol boundary.
Package oauth implements HubSpot's provider-owned OAuth2 protocol boundary.
jsonvalue
Package jsonvalue preserves numeric values at internal JSON transport boundaries.
Package jsonvalue preserves numeric values at internal JSON transport boundaries.
lifecycle
Package lifecycle owns process lifecycle state shared by backend and frontend runtimes.
Package lifecycle owns process lifecycle state shared by backend and frontend runtimes.
odcs
Package odcs preserves admitted ODCS documents and derives restricted executable shapes.
Package odcs preserves admitted ODCS documents and derives restricted executable shapes.
pipeline/fixture
Package fixture runs bounded, customer-supplied SQL transform fixtures without providers.
Package fixture runs bounded, customer-supplied SQL transform fixtures without providers.
pipeline/format
Package format owns canonical pipeline spec formatting for editor, builder, preview, and CLI workflows.
Package format owns canonical pipeline spec formatting for editor, builder, preview, and CLI workflows.
pipeline/graph
Package graph owns normalized pipeline DAG semantics.
Package graph owns normalized pipeline DAG semantics.
pipeline/spec
Package spec owns the canonical pipeline specification shape and YAML/JSON file decoding.
Package spec owns the canonical pipeline specification shape and YAML/JSON file decoding.
proofevidence
Package proofevidence defines the fail-closed authorization boundary for live and bounded Braidplane Proof observations.
Package proofevidence defines the fail-closed authorization boundary for live and bounded Braidplane Proof observations.
ptr
resourcescope
Package resourcescope holds non-secret, immutable connector scope rules.
Package resourcescope holds non-secret, immutable connector scope rules.
sinkbinding
Package sinkbinding defines reserved parameter names injected by the pipeline sink runtime.
Package sinkbinding defines reserved parameter names injected by the pipeline sink runtime.
slack
Package slack implements Slack's OAuth and incoming-webhook protocol boundary.
Package slack implements Slack's OAuth and incoming-webhook protocol boundary.
snowflakewif
Package snowflakewif validates exact Snowflake workload identity claims.
Package snowflakewif validates exact Snowflake workload identity claims.
spireregistration
Package spireregistration administers only explicitly owned workload entries.
Package spireregistration administers only explicitly owned workload entries.
testutil/containerfixture
Package containerfixture owns disposable, package-scoped Go E2E dependencies.
Package containerfixture owns disposable, package-scoped Go E2E dependencies.
testutil/datasourcee2e
Package datasourcee2e provides reusable real-Postgres data-source E2E setup.
Package datasourcee2e provides reusable real-Postgres data-source E2E setup.
testutil/filestreamfixture
Package filestreamfixture provides retained input for small hermetic connector tests.
Package filestreamfixture provides retained input for small hermetic connector tests.
testutil/pipelinefixture
Package pipelinefixture materializes pipeline test data through the same Git reconciliation boundary used by production.
Package pipelinefixture materializes pipeline test data through the same Git reconciliation boundary used by production.
testutil/richcontractfixture
Package richcontractfixture supplies synthetic rich-port admission material.
Package richcontractfixture supplies synthetic rich-port admission material.
testutil/supplierfixture
Package supplierfixture retains the synthetic Supplier Price Desk inputs and independent expectations for unit and connector acceptance tests.
Package supplierfixture retains the synthetic Supplier Price Desk inputs and independent expectations for unit and connector acceptance tests.
xerror
Package xerror provides a unified error type for the application.
Package xerror provides a unified error type for the application.
abusecontrols
Package abusecontrols persists shared HTTP abuse-control windows.
Package abusecontrols persists shared HTTP abuse-control windows.
credentialrekey
Package credentialrekey exposes operator-only ciphertext census and replacement.
Package credentialrekey exposes operator-only ciphertext census and replacement.
pipelinecreations
Package pipelinecreations persists proposals for pipelines not yet imported from Git.
Package pipelinecreations persists proposals for pipelines not yet imported from Git.
pipelinesinkeffects
Package pipelinesinkeffects persists durable pipeline sink side-effect decisions.
Package pipelinesinkeffects persists durable pipeline sink side-effect decisions.
proofobservations
Package proofobservations persists the backend-owned Proof observation ledger.
Package proofobservations persists the backend-owned Proof observation ledger.
repositorysetups
Package repositorysetups persists resumable project repository setup state.
Package repositorysetups persists resumable project repository setup state.
service
contractplansvc
Package contractplansvc persists portable compilation templates.
Package contractplansvc persists portable compilation templates.
credentialrekeysvc
Package credentialrekeysvc owns the privileged, resumable product-key sweep.
Package credentialrekeysvc owns the privileged, resumable product-key sweep.
credentialssvc/provider/bigquery
Package bigquery implements the provider-owned Google OAuth2 boundary for BigQuery.
Package bigquery implements the provider-owned Google OAuth2 boundary for BigQuery.
credentialssvc/provider/googleworkspace
Package googleworkspace owns Google Workspace consent plans and OAuth grants.
Package googleworkspace owns Google Workspace consent plans and OAuth grants.
credentialssvc/provider/hubspot
Package hubspot implements the provider-owned OAuth2 exchange boundary for HubSpot.
Package hubspot implements the provider-owned OAuth2 exchange boundary for HubSpot.
datasourcessvc/connector/filedata
Package filedata provides shared file-format detection, CSV/JSON/spreadsheet parsing, and schema inference helpers used by file-backed data source connectors (FTP, Git).
Package filedata provides shared file-format detection, CSV/JSON/spreadsheet parsing, and schema inference helpers used by file-backed data source connectors (FTP, Git).
datasourcessvc/connector/git
Package git provides a Git connector for Braidplane data sources.
Package git provides a Git connector for Braidplane data sources.
datasourcessvc/connector/param
Package param provides utilities for template parameter substitution in query strings.
Package param provides utilities for template parameter substitution in query strings.
datasourcessvc/connector/remotefile
Package remotefile adapts provider-owned file transports to Braidplane's shared file connector execution contract.
Package remotefile adapts provider-owned file transports to Braidplane's shared file connector execution contract.
datasourcessvc/connector/s3
Package s3 provides an S3-compatible object-store connector for Braidplane.
Package s3 provides an S3-compatible object-store connector for Braidplane.
executionbroker/portable/e2e
Package e2e contains the explicitly tagged portable_executor container suite.
Package e2e contains the explicitly tagged portable_executor container suite.
instanceadminsvc
Package instanceadminsvc changes the global pre-tenant instance administrator role.
Package instanceadminsvc changes the global pre-tenant instance administrator role.
proofevidencesvc
Package proofevidencesvc implements selected-resource metadata observations.
Package proofevidencesvc implements selected-resource metadata observations.
snowflakewifsvc
Package snowflakewifsvc owns desired identity state and privileged reconciliation.
Package snowflakewifsvc owns desired identity state and privileged reconciliation.
transport

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL