Skip to content

About

CoCo plugin for deploying and managing OpenFlow connector demos on Snowflake

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

openflow-demos

CoCo plugin for deploying and managing OpenFlow connector demos on Snowflake.

What's Included

Skill Description
openflow-gdrive-demo Google Drive unstructured data pipeline with Cortex Search

More demos planned (PostgreSQL CDC, etc.).

Prerequisites

Tools

Tool Install
mise curl https://mise.jdx.dev/install.sh | sh
Cortex Code Desktop CoCo IDE connected to Snowflake

mise automatically installs Python 3.12 and Snowflake CLI on mise install.

CoCo Plugins

Install the sfutils-plugins CoCo plugin (provides $network-rule and $programmatic-access-token):

cortex plugin install https://github.com/Snowflake-Labs/sfutils-plugins

Snowflake Account

  • OpenFlow enabled (SPCS deployment with at least one ACTIVE runtime)
  • ACCOUNTADMIN or equivalent for initial setup
  • A warehouse (X-Small is sufficient)

Google Cloud (for the gdrive demo)

  • Google Workspace with a Shared Drive
  • GCP project with Drive API enabled
  • Service account with domain-wide delegation (or no-DWD with direct share)
  • Service account JSON key at ~/.snowflake/cortex/secrets/gcp-service-account.json

Sample Data

Sparse-checkout the demo documents:

mise run sample-data

This pulls only sample-data/google-drive-docs/ from the content repo. Copy these to your Google Shared Drive.

Quick Start

# Install tools (Python 3.12, Task) and activate env
mise install
mise trust

# Copy .env.example and fill in your values
cp .env.example .env

# Install Python deps and verify prereqs
mise run setup

# Get sample documents (sparse-checkout)
mise run sample-data

# Open CoCo and deploy
# "Deploy the Google Drive connector"

Install This Plugin

cortex plugin install https://github.com/Snowflake-Labs/openflow-demos

Or for local development:

cortex plugin install /path/to/openflow-demos

Usage

Open CoCo in any directory and use natural language:

Deploy the Google Drive connector

The skill walks you through runtime selection, credential provisioning, and connector deployment interactively.

Other intents:

  • Setup -- "setup openflow", "configure", "initialize"
  • Deploy -- "deploy", "start", "add connector"
  • Cleanup -- "cleanup", "reset", "tear down"
  • Update IP -- "IP changed", "conference wifi", "moved networks"

Architecture

openflow-demos (this plugin)
  skills/openflow-gdrive-demo/     -- orchestration logic
    |
    +-- delegates to $network-rule       (sfutils-plugins)
    +-- delegates to $programmatic-access-token (sfutils-plugins)
    +-- delegates to $openflow           (bundled CoCo skill)
    |
    +-- references content from:
        openflow-unstructured-data-pipeline-demo (separate repo)
          sample-data/   -- documents to upload to Drive
          sql/           -- setup scripts (optional manual path)
          docs/          -- getting started guides

Configuration

On first run, the skill creates .sfutils/manifest.toml to track provisioned resources. See .sfutils/manifest.toml.example for the schema.

Config resolution order:

  1. .sfutils/manifest.toml (source of truth)
  2. Environment variables (fallback)
  3. Interactive prompt (if both empty)

License

Apache-2.0

About

CoCo plugin for deploying and managing OpenFlow connector demos on Snowflake

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages