sdci


Namesdci JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummarySDCI - Sistema de Deploy Continuo Integrado - Integrated Continuous Deployment System - Sidecar Micro CD
upload_time2025-08-08 04:18:39
maintainerNone
docs_urlNone
authorJonhnatha Trigueiro
requires_python>=3.13
licenseNone
keywords continuous-deployment cd deployment server cli automation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🚀 SDCI - Sistema de Deploy Continuo Integrado

SDCI (Sistema de Deploy Continuo Integrado - Integrated Continuous Deployment System) is a lightweight continuous deployment system consisting of a server and client tool. It allows you to run predefined tasks remotely through a simple command-line interface.

**⚠️ NOTE: This project is currently in ALPHA. A better documentation will be provided soon.**

## ✨ Features

- Server component built with FastAPI
- Command-line client tool for easy task execution
- Token-based authentication
- Real-time task output streaming
- Task status monitoring


## 📥 Installation

### Requirements

- Python 3.13 or higher

### Installing the client

```bash
pip install sdci
```

## 📖 Usage

### Starting the server

Run the server component:

```bash
python -m src.server
```

By default, the server runs on `0.0.0.0:8842`.

### Using the client

The client tool can be used to trigger tasks on the server:

```bash
sdci-cli run --token YOUR_TOKEN SERVER_URL TASK_NAME [PARAMETERS...]
```

Example:

```bash
sdci-cli run --token HAPPY123 http://localhost:8842 job_1 param1 param2 param3
```

### Parameters

- `--token`: Authentication token (required)
- `SERVER_URL`: URL of the SDCI server (required)
- `TASK_NAME`: Name of the task to run (required)
- `PARAMETERS`: Optional parameters to pass to the task

## 🖥️ Server

The SDCI server component is currently in development. The goal is to create a Docker image that will be used as a sidecard in production environments, making it easily deployable alongside your main applications.

### Docker Deployment

A Docker image will be provided that allows you to run the SDCI server with minimal configuration. This image is designed to work as a sidecard container in your production environment.

## 📁 Project Structure

- `src/server.py`: FastAPI server implementation
- `src/sdci/client.py`: Client implementation for communicating with the server
- `src/sdci/command.py`: CLI interface using Click
- `src/tasks/`: Directory containing task definitions as basic shell scripts.

The diagram above shows the structure of the SDCI project:

1. **Server Component** (`server.py`): The FastAPI server that handles task execution requests
2. **Client Components** (`client.py`, `command.py`): Handle communication with the server and provide CLI interface
3. **Runner Component** (`runner.py`): Manages the execution of shell script tasks
4. **Tasks** (`test_job_1.sh`): Shell scripts that define the actual tasks to be executed

## 👤 Author

- Jonhnatha Trigueiro <joepreludian@gmail.com>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sdci",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.13",
    "maintainer_email": null,
    "keywords": "continuous-deployment, cd, deployment, server, cli, automation",
    "author": "Jonhnatha Trigueiro",
    "author_email": "Jonhnatha Trigueiro <joepreludian@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/4a/9d/9971f5d97720b7b2e4a53a25c55d66a8037f846fc688349ea1c2f96b6f09/sdci-0.2.2.tar.gz",
    "platform": null,
    "description": "# \ud83d\ude80 SDCI - Sistema de Deploy Continuo Integrado\n\nSDCI (Sistema de Deploy Continuo Integrado - Integrated Continuous Deployment System) is a lightweight continuous deployment system consisting of a server and client tool. It allows you to run predefined tasks remotely through a simple command-line interface.\n\n**\u26a0\ufe0f NOTE: This project is currently in ALPHA. A better documentation will be provided soon.**\n\n## \u2728 Features\n\n- Server component built with FastAPI\n- Command-line client tool for easy task execution\n- Token-based authentication\n- Real-time task output streaming\n- Task status monitoring\n\n\n## \ud83d\udce5 Installation\n\n### Requirements\n\n- Python 3.13 or higher\n\n### Installing the client\n\n```bash\npip install sdci\n```\n\n## \ud83d\udcd6 Usage\n\n### Starting the server\n\nRun the server component:\n\n```bash\npython -m src.server\n```\n\nBy default, the server runs on `0.0.0.0:8842`.\n\n### Using the client\n\nThe client tool can be used to trigger tasks on the server:\n\n```bash\nsdci-cli run --token YOUR_TOKEN SERVER_URL TASK_NAME [PARAMETERS...]\n```\n\nExample:\n\n```bash\nsdci-cli run --token HAPPY123 http://localhost:8842 job_1 param1 param2 param3\n```\n\n### Parameters\n\n- `--token`: Authentication token (required)\n- `SERVER_URL`: URL of the SDCI server (required)\n- `TASK_NAME`: Name of the task to run (required)\n- `PARAMETERS`: Optional parameters to pass to the task\n\n## \ud83d\udda5\ufe0f Server\n\nThe SDCI server component is currently in development. The goal is to create a Docker image that will be used as a sidecard in production environments, making it easily deployable alongside your main applications.\n\n### Docker Deployment\n\nA Docker image will be provided that allows you to run the SDCI server with minimal configuration. This image is designed to work as a sidecard container in your production environment.\n\n## \ud83d\udcc1 Project Structure\n\n- `src/server.py`: FastAPI server implementation\n- `src/sdci/client.py`: Client implementation for communicating with the server\n- `src/sdci/command.py`: CLI interface using Click\n- `src/tasks/`: Directory containing task definitions as basic shell scripts.\n\nThe diagram above shows the structure of the SDCI project:\n\n1. **Server Component** (`server.py`): The FastAPI server that handles task execution requests\n2. **Client Components** (`client.py`, `command.py`): Handle communication with the server and provide CLI interface\n3. **Runner Component** (`runner.py`): Manages the execution of shell script tasks\n4. **Tasks** (`test_job_1.sh`): Shell scripts that define the actual tasks to be executed\n\n## \ud83d\udc64 Author\n\n- Jonhnatha Trigueiro <joepreludian@gmail.com>\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "SDCI - Sistema de Deploy Continuo Integrado - Integrated Continuous Deployment System - Sidecar Micro CD",
    "version": "0.2.2",
    "project_urls": {
        "Documentation": "https://github.com/joepreludian/sdci#readme",
        "Repository": "https://github.com/joepreludian/sdci"
    },
    "split_keywords": [
        "continuous-deployment",
        " cd",
        " deployment",
        " server",
        " cli",
        " automation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ae681f57152cae868089f8f0646a565bbbcb1eeaad875d087844afb2fbd40f42",
                "md5": "a2ea9c6513018da9e7c35e34cb9f0bb3",
                "sha256": "c1c84f0b5e71dc59143498611bd326def49fc6d52fb9bddbb813ad7f209c2f68"
            },
            "downloads": -1,
            "filename": "sdci-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a2ea9c6513018da9e7c35e34cb9f0bb3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.13",
            "size": 6610,
            "upload_time": "2025-08-08T04:18:38",
            "upload_time_iso_8601": "2025-08-08T04:18:38.428420Z",
            "url": "https://files.pythonhosted.org/packages/ae/68/1f57152cae868089f8f0646a565bbbcb1eeaad875d087844afb2fbd40f42/sdci-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4a9d9971f5d97720b7b2e4a53a25c55d66a8037f846fc688349ea1c2f96b6f09",
                "md5": "0f1131a44e5411147b823c9cac784e34",
                "sha256": "0304ce1668ca352a2ec32b9cf820b9bf3b2232d2a5f7e8c2e78c5a274a94bc27"
            },
            "downloads": -1,
            "filename": "sdci-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "0f1131a44e5411147b823c9cac784e34",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 4526,
            "upload_time": "2025-08-08T04:18:39",
            "upload_time_iso_8601": "2025-08-08T04:18:39.508861Z",
            "url": "https://files.pythonhosted.org/packages/4a/9d/9971f5d97720b7b2e4a53a25c55d66a8037f846fc688349ea1c2f96b6f09/sdci-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-08 04:18:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "joepreludian",
    "github_project": "sdci#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "sdci"
}
        
Elapsed time: 1.14961s