Endpoints
Endpoints are other services around tubee. An endpoint may represent an Active Directory, OpenLDAP server, MongoDB server, XMl file or much more. An endpoint is required if dataobjects needs to be exported or imported. An endpoint is always attached directly to a collection. If you have two or more collections and you want to synchronize objects from each of those, you will need to create an endpoint for each of those (And for every type of endpoint). You may also create an endpoint to just browse objects in it and do not use it for any synchronization which is actually the default.
Create endpoint
This will create an export endpoint and creates a JSON in /tmp/accounts.json with all data objects in the collection accounts.
Note A workflow is required as well which defines the mapping between tubee and the JSON file. Using only an endpoint with no workflows does not do any action.
name: json-export
kind: JsonEndpoint
namespace: playground
collection: accounts
data:
storage:
kind: StreamStorage
type: destination
options:
identifier: null
flush: true
import: []
filter_one: null
filter_all: null
resource: []
file: /tmp/accounts.json
tubectl create -f spec.yaml
Check the just created resource:
tubectl get ep accounts json-export -n playground -o yaml
Destination endpoints
Destination endpoints are used to export objects from tubee to another service.
An endpoint with type destination
always requires the option filter_one
to be defined. This filter defines how an object on the endpoint can be uniquely identified by tubee.
Like all tubee queries/filters this is a MongoDB DSL query.
Like filter_one you may specify a filter_all which filters all data objects on the endpoint. This may be useful if the endpoint is of type source
.
Source endpoints
Source endpoints are used to import objects from other services into tubee. Each record from the endpoint gets created as a single DataObject in a tubee collection.
Source endpoints require the option import
to be defined. This options holds a list of one or more attribute names which gets used to uniquely identify a tubee DataObject and its object on the endpoint.
Endpoints
Resource | Description |
---|---|
LdapEndpoint | LDAP compatible server (OpenLDAP, Active Directory, ...) |
PdoEndpoint | SQL server |
MysqlEndpoint | MySQL/MariaDB server (native client) |
MongodbEndpoint | MongoDB server |
MoodleEndpoint | Moodle |
BalloonEndpoint | balloon cloud server |
ODataRestEndpoint | REST API defined as OData, like microsoft online services (graph API, Office 365). |
XmlEndpoint | Xml data format |
CsvEndpoint | Csv data format |
JsonEndpoint | Json data format |
ImageEndpoint | Binary images |
UcsEndpoint | Univention Corporate server |
XmlEndpoint, CsvEndpoint, JsonEndpoint and ImageEndpoint use a storage technolgy to define where data can be read or written. Possible storage drivers are:
Name | Description |
---|---|
LocalFilesystem | Path on the local filesystem where the tubee server runs |
Balloon | balloon cloud server |
Smb | Windows/Samba share |
Stream | Stream (HTTP, FTP, ...) |