Giter VIP home page Giter VIP logo

studio-connector-framework's Introduction

Connector Framework

Repository represents a monorepo with connector-cli and marketplace connectors

Connector-cli

In src/connector-cli we created a CLI tool that is able to run a connector in a standalone mode. This isolated runtime simplifies the development lifecycle. It offers a suite of commands to initialize projects, build and test code, and deploy your connectors with ease.

See the readme of the package for more info.

Connectors

In src/connectors we collect all marketplace connectors that we or our partners implemented

Development setup

yarn # to install dependencies
yarn run build-cli # to build local version of the CLI

NOTE: Inspect root package.json for more commands to run

Updating / adding a connector:

  • Open PR

    • CICD will only pass if the PR contains changes of exactly 1 connector.
    • CICD validates the package.json version is > current released one
    • CICD validates all required metadata is available (see package.json => name, description, author, license, config (options+mappings))
    • CICD validates the license is correct (MIT for now)
    • CICD will build the connector using the yarn build command. This means each connector should expose this command. A template package will be hosted in this repo to bootstrap this process for anyone.
    • After building, we expect the main file of the package.json to be the compiled connector code.
    • The PR should also contain a tests.json file, which contains the definition of all tests written for the connector. Oviouly all tests should pass
    • We should run our own suite of tests to verify capabilities / options, etc are all returning without errors.
    • The PR is now ready to be reviewed by repo maintainers
  • After merge
    • The connector now availble in the platform UI to choose from when adding a connector to an environment. People can choose a connector, and then pick a version (this info is loaded frm the index json file)

Verified Developers

  • Developers can be verified by the repo maintainers. Connectors published by verified developers will be marked as such in the UI. This is to give users confidence that the connector is maintained by a verified developer. This will make sure that an offical connector is not published by a random person, and that the connector is maintained by someone who knows what they are doing.

Partner framework

  • Official Partner
  • GraFx SLA (not all CP connectors )

studio-connector-framework's People

Contributors

psamusev avatar alexandraflavia9 avatar abdelhalimkhouas avatar brapoprod avatar dependabot[bot] avatar

Stargazers

Aliaksandr Khrystsenka avatar  avatar  avatar Matthias Beerens avatar Pieter Van Parys avatar Caribou (lraymond) avatar

Watchers

Caribou (lraymond) avatar Matthias Beerens avatar Kristof avatar  avatar  avatar

studio-connector-framework's Issues

Todo - Before go live

  • Add docs about QuickJS compat
  • move build and package scripts to cli
  • cli command to initialize a new connector 'repo'
  • explore the idea of bundling connector.ts so we can have nice enums
  • Formalize the way we want test scenarios to be written (test.json?)
  • Have a decent UI for this tool (@jeroencosyn branding needed?)

This is how the debugging tool looks like:
image

`init` generates incorrectly formatted files

Steps

  • connector-cli init
  • npm install
  • npm run build
  • git status

Notice how node_modules and out are included in the git changes.

Expected

  • Generated files are correctly formatted
  • git status only contains relevant files

Allow `publish` command to output to local .json file

In some scenarios, people do not want to host their connector on our platform. Give them the option to output a valid json definition of the connector (including its js source) which can be loaded by SDK using this method:

https://github.com/chili-publish/studio-sdk/blob/f04fe9d44af65c9ea189b66243ce5a8c931ed8be/packages/sdk/src/controllers/ConnectorController.ts#L66

using the URL registration (they would need to host the json somewhere accessible)
https://github.com/chili-publish/studio-sdk/blob/f04fe9d44af65c9ea189b66243ce5a8c931ed8be/packages/sdk/src/types/ConnectorTypes.ts#L72

The expected JSON structure is the same as the POST endpoint consume

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.