MCPcopy Index your code
hub / github.com/cptn-io/el-cptn

github.com/cptn-io/el-cptn @v0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.0 ↗ · + Follow
808 symbols 2,616 edges 299 files 10 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

cptn.io - Open Source Integration and Data Platform

cptn.io is an open-source self-hostable platform that helps develop and deploy integrations and data pipelines quickly and easily.

GitHub

Getting Started

Building Pipelines

Building Pipelines

Building Pipelines with Scheduled Batch Processing

Scheduled Batch Processing

Local machine setup

  1. Install docker
  2. Run git clone https://github.com/cptn-io/el-cptn.git
  3. Update the property values in .env file. Ensure that secrets, crypto keys, passwords you use are complex, random and secure.
  4. Run docker compose up to start the platform.
  5. Required docker images will be downloaded and the server will start up in few mins.
  6. Access the service at http://localhost/

Setting up on DigitalOcean

  1. Login to your DigitalOcean account.
  2. Create a new droplet and login to the server.
  3. Install docker on the server.
  4. Run git clone https://github.com/cptn-io/el-cptn.git
  5. Update the property values in .env file.
  6. Run docker compose up -d to start the platform.
  7. The server should be accessible at http://<your droplet ip>

To setup a custom domain for accessing your service.

  1. Login to your DNS configuration and create a new A record for a domain e.g. cptn.example.com to map to your droplet's IP address.
  2. Update .env file in your droplet. Change APP_URL property value to your domain cptn.example.com
  3. Run docker compose restart
  4. If the service is accessible, SSL certificates would automatically be provisioned for the domain and the service will be accessible via the domain url at https://cptn.example.com

Login

Login to your Service using the following default credentials. Update the .env file to change the default setup password.

Username: foo@example.com
Password: bar

Create a new user in the platform to disable the default setup credentials.

Single Sign On (SSO)

The SSO functionality is also available under open-source MIT license.

Refer this doc for more details.

Documentation

Refer this page for product documentation and tutorials.

Architecture

Refer this page for more details about the product architecture.

Stack

  • Backend services are built with Spring boot
  • Processor is a NodeJS application
  • Web Application is a React application
  • Caddy for reverse proxy
  • Postgres
  • Redis

Ready to use Apps

The platform has a mechanism to automatically download ready-to-use apps contributed by the community. These apps allow users to readily use the most common transformations or destinations. If the OOTB apps do not work, users can always modify the scripts as per their requirements.

Apps is just content and users do not need to upgrade the platform to get the latest apps. The platform will automatically check to see if there are any new apps available and download them.

The git repo supporting this functionality is at https://github.com/cptn-io/apps. Refer this page for more details on how you can build and contribute apps to the community.

Releases

Updates to the platform for bug fixes are released at any time and will be available as docker images. But milestone releases which include new features are named after places in alphabetical order. Following are the upcoming releases:

  • Alameda ✅
  • Belmont
  • Cupertino
  • Dublin

Copyright 2023 DevRaven Inc. All rights reserved.

Extension points exported contracts — how you extend this code

InboundWriteEventMapper (Interface)
(no doc) [1 implementers]
ingestion-svc/src/main/java/io/cptn/ingestionsvc/mappers/InboundWriteEventMapper.java
AppMapper (Interface)
(no doc) [1 implementers]
mgmt-svc/src/main/java/io/cptn/mgmtsvc/mappers/AppMapper.java
OnReference (Interface)
(no doc)
common-lib/src/main/java/io/cptn/common/validation/OnReference.java
SSOProfileMapper (Interface)
(no doc) [1 implementers]
mgmt-svc/src/main/java/io/cptn/mgmtsvc/mappers/SSOProfileMapper.java
OnUpdate (Interface)
(no doc)
common-lib/src/main/java/io/cptn/common/validation/OnUpdate.java
ExportedAppMapper (Interface)
(no doc) [1 implementers]
mgmt-svc/src/main/java/io/cptn/mgmtsvc/mappers/ExportedAppMapper.java
OnCreate (Interface)
(no doc)
common-lib/src/main/java/io/cptn/common/validation/OnCreate.java
DestinationMapper (Interface)
(no doc) [1 implementers]
mgmt-svc/src/main/java/io/cptn/mgmtsvc/mappers/DestinationMapper.java

Core symbols most depended-on inside this repo

get
called by 107
mgmt-svc/src/main/java/io/cptn/mgmtsvc/services/SettingsService.java
get
called by 51
processor/src/cache/index.js
getId
called by 43
common-lib/src/main/java/io/cptn/common/projections/DestinationView.java
useNotifications
called by 37
app-ux/src/hooks/useNotifications.js
equals
called by 34
mgmt-svc/src/main/java/io/cptn/mgmtsvc/security/UserPrincipal.java
processEventBatch
called by 26
processor/src/eventProcessor.js
build
called by 20
mgmt-svc/src/main/java/io/cptn/mgmtsvc/security/UserPrincipal.java
save
called by 18
mgmt-svc/src/main/java/io/cptn/mgmtsvc/services/OutboundEventService.java

Shape

Method 444
Function 183
Class 148
Interface 31
Enum 2

Languages

Java75%
TypeScript25%

Modules by API surface

mgmt-svc/src/main/java/io/cptn/mgmtsvc/services/PipelineService.java18 symbols
processor/src/eventProcessor.js16 symbols
mgmt-svc/src/main/java/io/cptn/mgmtsvc/security/UserPrincipal.java14 symbols
mgmt-svc/src/test/java/io/cptn/mgmtsvc/OidcUserServiceTests.java13 symbols
ingestion-svc/src/test/java/io/cptn/ingestionsvc/InboundEventControllerTests.java13 symbols
ingestion-svc/src/test/java/io/cptn/ingestionsvc/InboundEventControllerBatchTests.java13 symbols
mgmt-svc/src/main/java/io/cptn/mgmtsvc/controllers/PipelineController.java11 symbols
mgmt-svc/src/main/java/io/cptn/mgmtsvc/controllers/SourceController.java10 symbols
mgmt-svc/src/main/java/io/cptn/mgmtsvc/services/UserService.java9 symbols
mgmt-svc/src/main/java/io/cptn/mgmtsvc/services/TransformationService.java9 symbols
mgmt-svc/src/main/java/io/cptn/mgmtsvc/services/DestinationService.java9 symbols
mgmt-svc/src/main/java/io/cptn/mgmtsvc/controllers/UserController.java9 symbols

For agents

$ claude mcp add el-cptn \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page