Skip to content

Latest commit

 

History

History
165 lines (131 loc) · 6.35 KB

configuration.md

File metadata and controls

165 lines (131 loc) · 6.35 KB
layout
title description tableOfContents outline pagination
visible
true
visible
visible
true
visible
true
visible
true

Configuration

A manifest of additional resources and dependencies to run the pipeline.

Example of a data source that needs drivers as well as credentials:

configuration:
  resources:
    - type: "datasource"
      name: "PGDataSource"
      configuration:
        service: "jdbc"
        driverClass: "org.postgresql.Driver"
        url: "jdbc:postgresql://postgresql.default.svc.cluster.local:5432/"
        user: "postgres"
        password: "xxxxxx"
  dependencies:
    - name: "PostGRES JDBC Driver"
      url: "https://jdbc.postgresql.org/download/postgresql-42.6.0.jar"
      sha512sum: "ec3b57d8377715ef6286d457b610a2e056aa99db….1"
      type: "java-library"

LangStream has built-in support for a few Databases and Vector databases (no need for dependency), for example:

Cassandra (with Vector support)

DataStax AstraDB

Pinecone

OSS Milvus and Zillis

Apache Solr

OpenSearch

Cassandra (with Vector support)

configuration:
  resources:
    - type: "datasource"
      name: "Cassandra"
      configuration:
        service: "cassandra"
        username: ""
        password: ""
        contact-points: ""
        loadBalancing-localDc: ""

DataStax Astra DB

configuration:
  resources:
    - type: "vector-database"
      name: "AstraDBDatasource"
      configuration:
        service: "astra"
        secret: ""
        clientId: ""
        token: ""
        database: ""

Pinecone

configuration:
  resources:
    - type: "vector-database"
      name: "PineconeDatasource"
      configuration:
        api-key: ""
        environment: ""
        index-name: ""
        project-name: ""

OSS Milvus and Zillis

 configuration:
  resources: 
  - type: "datasource"
    name: "MilvusDatasource"
    configuration:
      service: "milvus"
      ## OSS Milvus
      username: "${secrets.milvus.username}"
      password: "${secrets.milvus.password}"
      host: "${secrets.milvus.host}"
      port: "${secrets.milvus.port}"
      ## Set to "upsert" for OSS Milvus, on Zills use "delete-insert"
      write-mode: "${secrets.milvus.write-mode}"
      ## Zillis
      url: "${secrets.milvus.url}"
      token: "${secrets.milvus.token}"

Apache Solr

configuration:
  resources:
  - type: "vector-database"
    name: "SolrDataSource"
    configuration:
      service: "solr"
      user: "${secrets.solr.username}"
      password: "${secrets.solr.password}"
      host: "${secrets.solr.host}"
      port: "${secrets.solr.port}"
      collection-name: "documents"
      

OpenSearch

configuration:
resources:
    - type: "vector-database"
      name: "OpenSearch"
      configuration:
        service: "opensearch"        
        username: "${secrets.opensearch.username}"
        password: "${secrets.opensearch.password}"
        host: "${secrets.opensearch.host}"
        port: "${secrets.opensearch.port}"
        index-name: "my-index-000"
      

Manifest

RootNodeTypeDescription
configuration

Top level node

dependenciesobject

A collection of artifacts that a pipeline step of resource may need to run. Refer to the spec below.

Example collection:

  • type: “xxx”
    name: “xxx”
    configuration:
  • type: “xxx”
    name: “xxx”
    configuration:

resources
object

A collection of resources. Refer to the spec below.

Example collection:

  • type: “xxx”
    name: “xxx”
    sha: “xxx”
  • type: “xxx”
    name: “xxx”
    sha: “xxx”

dependencies

The given artifact will be downloaded, validated, and made available to the pipeline. \

LabelTypeDescription
typestring (required)

The type of dependency. Supported values are:

  • java-library

Example: “java-library”

namestring (required)

The name of the dependency. It is used for display and as a reference pointer.

Example: "Postgres JDBC Driver"

urlstring (required)

A fully qualified URL to the dependency artifact.

Example: "https://jdbc.postgresql.org/download/postgresql-42.6.0.jar"

sha512sumstring (required)

The downloaded artifact is validated against this value.

Example: "ec3b57d8377715ef6286d457…”

These dependencies are downloaded by the LangStream CLI when you run "apps deploy", "docker run" and similar commands. This mechanism is especially useful for JDBC Drivers and for Kafka Connect connectors.

To handle Python dependencies, check out the documentation about developing custom Python agents.

resources

LabelTypeDescription
typestring

The type of resource. Refer to the configuration resources reference for naming.

Example: “datasource”

namestring

The name of the resource. It is used for display and as a reference pointer.

Example: "PGDataSource"

configurationobjectCustom configuration for the given resource. Refer to the configuration resources reference for options.