Choose a kind
Building a connector, step 6 of 10. Previous: Decide what not to govern.
A connector's kind decides how you build it and where it runs. For an HTTP connector you write the declaration and one small function per operation. For the other kinds you write a short definition in that kind's vocabulary, and an engine built into Owlie derives the declaration and performs the operations. You choose the kind when you create the connector, and it cannot change later.
Choose
Take the first row that matches the system:
| The system... | Kind | Runs | You write |
|---|---|---|---|
| delivers its people as files (an HR export, a CSV) and has no usable API | Flat file | Owlie reads uploaded files | A definition of the files' columns |
| is an LDAP directory: Active Directory, OpenLDAP, FreeIPA, 389 Directory Server | LDAP | On your private-network gateway | A definition of entries, attributes and membership |
| keeps its accounts and roles in its own database tables that you can reach | SQL | On your private-network gateway | A definition of tables and SQL statements |
| has a SCIM 2.0 endpoint that covers everything worth governing (users, groups, group membership) | SCIM | In Owlie's cloud, or on your gateway | A definition of the endpoint's deviations from the standard |
| anything else: a REST or GraphQL API, or SCIM plus roles or workspaces it cannot express | HTTP | In Owlie's cloud, or on your gateway | The declaration and TypeScript operations |
Things to know at the edges:
- The SQL kind manages an application's own tables, such as inserting a row into a
usersoruser_rolestable. It does not manage the database's own users and roles (CREATE ROLE,GRANT). - A system with a partial SCIM API and a richer REST API is one HTTP connector. Call its SCIM endpoints from the HTTP operations where they help.
- An HTTP connector can reach a system on a private network by running on a private-network gateway.
- If an engine-based connector needs one operation its definition cannot express, you can replace that single operation with your own code. That is not a reason to choose HTTP.
Continue on your track
Each track is a short sequence of pages. The HTTP, LDAP, SCIM and SQL tracks rejoin the path at Test your connector. The flat-file track has no operations to test against a system: it ends with a test upload and rejoins at Publish, install and upgrade.
| Kind | Start here | Pages in the track |
|---|---|---|
| HTTP | Start an HTTP connector | 5 |
| LDAP | Start an LDAP connector | 4 |
| SCIM | Start a SCIM connector | 3 |
| SQL | Start a SQL connector | 3 |
| Flat file | Define flat-file feeds | 2 |