Skip to main content

MalinaKod Deploy System — система развёртывания и управления сервисами

Project description

MalinaKod Deploy System

Профессиональная система развёртывания и управления Telegram ботами и сопутствующими сервисами на серверах клиентов. Продукт студии MalinaKod.

Что это

Система состоит из двух частей:

  1. Клиентский пакет (malinakod) — публикуется в PyPI. Клиент делает pip install malinakodmalinakod init и всё разворачивается автоматически по лицензионному ключу.
  2. Инструменты разработчика (tools/) — у тебя локально:
    • tools/keygen.py — генератор лицензионных ключей.
    • tools/packager.py — упаковщик и шифратор сервисов.
    • tools/panel.py — панель управления всеми клиентами.

Установка (разработчик)

git clone https://github.com/Medenchi/Malinacode-Deploy-system.git
cd Malinacode-Deploy-system
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

Полный production-процесс выкатки клиенту → DEPLOYMENT.md: мастер-секрет лицензий, GitHub deploy-токен для приватного репо релизов, systemd-юниты, ротация секретов, чек-лист.

Клиентский запуск

pip install malinakod
malinakod init

После активации:

malinakod status              # таблица публичных сервисов
malinakod restart [service]   # рестарт одного или всех
malinakod logs <service> -n 50 -f
malinakod info                # инфо о машине
malinakod machine-id          # ID машины для привязки лицензии

Инструменты разработчика

# Лицензии
python tools/keygen.py new
python tools/keygen.py ls
python tools/keygen.py revoke <client_id>

# Упаковка сервиса (под клиента)
python tools/packager.py pack \
  --client-id client_001 \
  --source path/to/bot \
  --license-key MLNK-... \
  --service-name telegram-bot \
  --run-command "python main.py" \
  --port 8080 --visible

# Панель
python tools/panel.py add-client --client-id client_001 --host 1.2.3.4 --port 17731
python tools/panel.py overview
python tools/panel.py client-status client_001
python tools/panel.py client-restart client_001 telegram-bot
python tools/panel.py client-logs client_001 telegram-bot --lines 100
python tools/panel.py client-deploy client_001 service_config.json
python tools/panel.py client-exec client_001

Локальное тестирование

# Терминал 1 — фейковый GitHub
python test_env/fake_github.py

# Терминал 2 — агент
MALINA_CLIENT_ID=test_client \
MALINA_AGENT_SECRET=secret \
python -m malinakod.core.agent

# Терминал 3 — тесты
python test_env/run_tests.py

# Терминал 4 — ручная проверка
malinakod init
malinakod status
malinakod logs test-bot -n 20

Переменные окружения агента

Переменная Назначение
MALINA_CLIENT_ID ID клиента
MALINA_AGENT_SECRET Секрет HMAC для подписи API запросов
MALINA_AGENT_PORT Порт агента (по умолчанию 17731)
MALINA_REPORT_URL URL для фонового репортинга статуса
MALINAKOD_LICENSE_SECRET Секрет генератора лицензий (только у тебя)
MALINAKOD_MIRROR Базовый URL зеркала с релизами
MALINAKOD_MIRRORS Доп. зеркала через запятую

Безопасность

  • Лицензии HMAC-SHA256, формат MLNK-XXXXX-XXXXX-XXXXX-XXXXX.
  • Сборки сервисов шифруются Fernet (PBKDF2-производным от лицензионного ключа).
  • API агента: HMAC подпись + защита от replay по timestamp (окно 30 секунд).
  • Распаковка архивов с защитой от path traversal.
  • Скрытые сервисы никогда не упоминаются в публичном CLI выводе.

Лицензия

Проприетарная. © MalinaKod Studio.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

malinakod-0.1.0.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

malinakod-0.1.0-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file malinakod-0.1.0.tar.gz.

File metadata

  • Download URL: malinakod-0.1.0.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for malinakod-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f5d241223810b0789b7bed42a3ce96bb611248a7530e81d4b7387aad241618df
MD5 5d62d607cf105bc5cc69e1fbb36ad64f
BLAKE2b-256 f20ebe762b8e15bc369709257ddf3e4228324d9481f17520e7067b0be959c182

See more details on using hashes here.

File details

Details for the file malinakod-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: malinakod-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 31.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for malinakod-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c146c7713d745fccf1b1795b0b5856c79075f7e86fd3ef83a12dfe2a5295324
MD5 5ea074d26eeca5e5026c42b80f693aac
BLAKE2b-256 81f2131e5329203adbb8c13f116f13bb87d29f3c03922781ead83fc982723dd0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page