confluentinc / confluentinc/confluent-sql

Connection methods to create / check on / tear down Confluent "Connectors"

Open
#121 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
6
Forks
1
Avg merge
21h 47m
Merged PRs (30d)
26

Description

Add `Connection` methods to create, inspect, and tear down Confluent **managed connectors** — parallel to the Tableflow lifecycle methods from #116 / PR #117, but a substantially larger surface.

## Why this is an epic, not one PR

Tableflow v1 is a 5-endpoint CRUD surface over one resource (we wrapped create/get/delete in a single PR). Connect v1 is seven sub-surfaces sharing a base path `/connect/v1/environments/{env}/clusters/{lkc}/connectors`: core CRUD, lifecycle actions (pause/resume/restart — no Tableflow analog), rich per-task status, offsets, plugin listing + config validation, and a BYO custom-connector upload/build surface. The create config is also an open-ended, connector-class-specific map rather than a small typed spec.

The control-plane plumbing from PR #117 — `controlplane_endpoint`, `_controlplane_request`, CMK `_resolve_kafka_cluster_id`, the `wait_for_` blocking convention — is reused as-is; the new work is connector types + methods on top.

## Architecture (established in #122)

The bulk lands in a new `connectors.py`: a pure layer (typed models + payload/parse, no I/O) and a `ConnectorApi` orchestration class, decoupled from `Connection` by a narrow `ControlPlaneContext` protocol. `Connection` keeps a flat public surface via one-line passthroughs, so its line count stops tracking feature count. Retrofitting the existing Tableflow methods onto this same seam is tracked separately in #129 (outside this epic).

## Scope decisions

- **Auth:** a global/cloud key covers Connect routes; else a dedicated `connect_api_key` / `connect_api_secret` pair (symmetric with `tableflow_api_key`).
- **Custom-connector upload surface** (plugin upload, presigned URLs, build runtimes) is **deferred to a separate later epic** — not a child here.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.