No project description provided
Project description
T1-CICD
High-Level Design
Sequence Diagram
Pipeline Run
Pipeline Cancel
Pipeline Report
Components
| Components | README |
|---|---|
| CLI | Design Doc |
| Rest API | Design Doc |
| Orchestrator | Design Doc |
| PostgreSQL | Design Doc |
| Docker Server | Design Doc |
CLI
CLI provides the interface to use our CICD system. It supports users to upload a custom pipeline yaml file, to run the pipeline, cancel the pipeline and get pipeline reports.
CLI runs on user's host. CLI only communicates with RestAPI. CLI send requests and receives responses through flask apis.
Rest API
Rest API receives CLI's request and process the data for function calls to let the orchestrator run pipelines or get reports from the database.
RestAPI can run on user's host for local run, or run on a remote server. RestAPI communicates with CLI, Orchestrator and PostgreSQL.
- For communication with CLI, RestAPI receives requests and sends requests through flask apis.
- For communication with Orchestrator, for now we implement them in one host, so RestAPI will use function calls to execute functions in Orchestrator; While RestAPI and Orchestrator can also be in different hosts, and in this case they can communicate via a message queue, and RestAPI will push the processed request from CLI to the message queue, and Orchestrator will get the processed request from the queue.
- For communication with PostgreSQL, RestAPI will GET reports from the database. We have implemented apis to call DB functions.
Orchestrator
Orchestrator is the main part for CICD RUN. It parses user's pipeline config files, stores all processed data to the database, controls the order of running pipelines, and creates Docker containers to run jobs. For now it supports running multiple pipelines in serial. In one pipeline, stages run in serial, and jobs without dependencies run in parallel.
Orchestrator can run on user's host for local run, or run on the same remote server as Rest API, or run on another server. Orchestrator communicates with PostgreSQL and Docker Server.
- For communication with PostgreSQL, the orchestrator POST parsed pipelines and update all status to the Database.
- For communication with Docker Server, the orchestrator use Docker APIs to create and run containers.
PostgreSQL
We use PostgreSQL for data storage.
PostgreSQL Server can run on user's host for local run, or run on a remote server.
Docker Server
We use Docker to run containers.
Docker Server can run on user's host for local run, or run on a remote server. Docker communicates with Orchestrator that returns logs and run responses back to Orchestrator.
Getting Started
If you want to use our CICD system, follow this User Guide.
If you want to build and develop on our CICD system, follow this Developer Guide.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file t1cicd-0.1.7.tar.gz.
File metadata
- Download URL: t1cicd-0.1.7.tar.gz
- Upload date:
- Size: 45.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a3c5511f9411d6e2e097a5c2053b2fb279fd95bebb5e9c3ac6b4609898d1aa2
|
|
| MD5 |
f2ac1fff5ec57e68d83abc49b7d2d819
|
|
| BLAKE2b-256 |
beeead9d560017e2580d64dd60f39169e4188c3e55af26b1700abb625dd64cc0
|
File details
Details for the file t1cicd-0.1.7-py3-none-any.whl.
File metadata
- Download URL: t1cicd-0.1.7-py3-none-any.whl
- Upload date:
- Size: 65.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.13.0 Darwin/23.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e28105dd78d1051fe5a286713f9e6581262eeb3a519c4a47fd419d16c3e9f07
|
|
| MD5 |
50b0c8dae0177d8a62496efb7d63d79d
|
|
| BLAKE2b-256 |
473ad4f7e28a9f037ff08e64d359bd8939871f678c4760ac6c82186cd54fd06c
|