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

Write a guide about embedding Conduit #1268

Open
simonl2002 opened this issue Nov 6, 2023 · 2 comments
Open

Write a guide about embedding Conduit #1268

simonl2002 opened this issue Nov 6, 2023 · 2 comments
Labels
documentation Improvements or additions to documentation
Milestone

Comments

@simonl2002
Copy link
Member

We should write a guide and example on how to embed Conduit in your own Go application. Here's part of a conversation with a user who played around with embedding Conduit, the guide should be more detailed.


You should start with conduit.NewRuntime, it will give you an object you can use to work with Conduit. Specifically the Orchestrator and ProvisioningService expose all important functionality. To get an idea of how to configure the runtime, you can have a look at the entrypoint used by the Conduit CLI. This should already be a good starting point. If you then want to provision a pipeline, you can either pass a configuration file to the provisioning service or use the orchestrator to manually create the pipeline, connectors and processors.

The database is used to store both things you mentioned, the pipeline configuration and its state. All Conduit needs is a key-value store. Out of the box we provide a way to store this data in a Postgres instance, locally in a badger DB or just in memory (but that gets wiped between restarts, so that's just useful for development purposes). You can also implement your own storage mechanism, it needs to implement the interface database.DB and pass the acceptance test, then you can provide it when configuring conduit as the DB driver.

@simonl2002 simonl2002 converted this from a draft issue Nov 6, 2023
@simonl2002 simonl2002 added this to the 0.9.0 milestone Nov 6, 2023
@simonl2002 simonl2002 added the documentation Improvements or additions to documentation label Nov 6, 2023
@simonl2002 simonl2002 moved this from Todo to Triage in Conduit Main Nov 6, 2023
@simonl2002 simonl2002 moved this from Triage to Todo in Conduit Main Nov 13, 2023
@simonl2002
Copy link
Member Author

Before we write a guide we should put some thinking about the "what" and "how" of embedding Conduit.

@simonl2002
Copy link
Member Author

Relevant issue: #1274

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant