Skip to main content

Inteligentny runner do rozwiązywania problemów infrastrukturalnych

Project description

Infrash

Inteligentny runner do rozwiązywania problemów infrastrukturalnych, zarządzania repozytoriami i automatyzacji wdrożeń.

Opis

Infrash to narzędzie wiersza poleceń zaprojektowane do automatyzacji i rozwiązywania problemów związanych z infrastrukturą IT. Umożliwia zarządzanie repozytoriami, instalację zależności, diagnostykę i naprawę problemów oraz wdrażanie aplikacji na różnych systemach operacyjnych.

Główne funkcje

  • Zarządzanie repozytoriami: klonowanie, aktualizacja, synchronizacja
  • Zarządzanie zależnościami: automatyczne wykrywanie i instalacja wymaganych pakietów
  • Diagnostyka i naprawa: inteligentne wykrywanie i rozwiązywanie problemów
  • Automatyzacja wdrożeń: instalacja, uruchamianie, monitorowanie aplikacji
  • Integracja z CI/CD: obsługa GitLab CI i GitHub Actions
  • Baza danych rozwiązań: aktualizowana baza wiedzy dotycząca popularnych problemów
  • Zdalne wdrażanie: instalacja i konfiguracja aplikacji na zdalnych maszynach (np. Raspberry Pi)
  • Wieloplatformowe wsparcie: uruchamianie aplikacji w różnych środowiskach (Python, Node.js, PHP, Shell, HTML)

Instalacja

Instalacja z PyPI

pip install infrash

Instalacja z repozytorium

git clone https://github.com/UnitApi/infrash.git
cd infrash
pip install -e .

Uruchomienie bez instalacji

Repozytorium zawiera skrypt run.sh, który automatycznie instaluje pakiet w trybie deweloperskim i uruchamia aplikację:

./run.sh [komenda] [argumenty]

Skrypt ten sprawdzi, czy pakiet infrash jest zainstalowany, a jeśli nie, zainstaluje go automatycznie przed uruchomieniem.

Szybki start

# Inicjalizacja projektu
infrash init
# lub
./run.sh init

# Klonowanie repozytorium
infrash repo clone https://github.com/username/project.git
# lub
./run.sh repo clone https://github.com/username/project.git

# Instalacja zależności
infrash install
# lub
./run.sh install

# Uruchomienie aplikacji
infrash start
# lub
./run.sh start

# Sprawdzenie statusu
infrash status
# lub
./run.sh status

# Zdiagnozowanie problemów
infrash diagnose
# lub
./run.sh diagnose

Zaawansowane użycie

Uruchomienie z pełną diagnostyką

infrash start --diagnostic-level=full
# lub
./run.sh start --diagnostic-level=full

Automatyczna naprawa problemu

infrash repair --auto
# lub
./run.sh repair --auto

Aktualizacja bazy danych rozwiązań

infrash solutions update
# lub
./run.sh solutions update

Zdalne wdrażanie na Raspberry Pi

infrash remote deploy --host 192.168.188.154 --user pi --repo https://github.com/UnitApi/mcp.git
# lub
./run.sh remote deploy --host 192.168.188.154 --user pi --repo https://github.com/UnitApi/mcp.git

Uruchomienie aplikacji z repozytorium Git

infrash runner --repo https://github.com/username/project.git --type python
# lub
./run.sh runner --repo https://github.com/username/project.git --type python

Orchestrator

Infrash zawiera moduł orchestratora, który umożliwia zarządzanie wieloma wdrożeniami jednocześnie. Orchestrator pozwala na:

  • Równoległe wdrażanie na wielu maszynach
  • Koordynację aktualizacji między różnymi systemami
  • Automatyczne wykrywanie i naprawę problemów
  • Monitorowanie stanu wszystkich wdrożeń

Przykłady użycia orchestratora można znaleźć w katalogu examples/orchestrator/.

Zależności

Infrash wymaga następujących pakietów:

  • Python 3.8+
  • Git
  • click>=8.0.0
  • GitPython>=3.1.0
  • requests>=2.25.0
  • rich>=10.0.0
  • pyyaml>=6.0
  • psutil>=5.9.0
  • packaging>=21.0
  • Paramiko (dla zdalnych wdrożeń)

Wszystkie zależności zostaną automatycznie zainstalowane podczas instalacji pakietu.

Rozwiązywanie problemów

Brak modułu unitmcp

Jeśli napotkasz błąd No module named 'unitmcp', oznacza to, że próbujesz uruchomić funkcje, które wymagają pakietu unitmcp. Ten pakiet jest opcjonalny i używany tylko do integracji z projektem UnitMCP. Możesz:

  1. Zainstalować pakiet unitmcp, jeśli potrzebujesz tej funkcjonalności:

    pip install unitmcp
    
  2. Używać tylko funkcji infrash, które nie wymagają unitmcp.

Licencja

Autor

<script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs'; //import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10.8.0/dist/mermaid.min.js'; mermaid.initialize({ startOnReady:true, theme: 'forest', flowchart:{ useMaxWidth:false, htmlLabels:true } }); mermaid.init(undefined, '.language-mermaid'); </script>

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

infrash-0.1.3.tar.gz (182.4 kB view details)

Uploaded Source

Built Distribution

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

infrash-0.1.3-py3-none-any.whl (225.2 kB view details)

Uploaded Python 3

File details

Details for the file infrash-0.1.3.tar.gz.

File metadata

  • Download URL: infrash-0.1.3.tar.gz
  • Upload date:
  • Size: 182.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for infrash-0.1.3.tar.gz
Algorithm Hash digest
SHA256 4cd22447b21ab751bf525086ee11086ad1379580df62aa3eebeeaf6a789cadf8
MD5 627fe0c9cff39da0a6d9e9ef59a2d3fb
BLAKE2b-256 e02cd87a3b82606926d805b00bf54c822f3bc9e6208818c7947e1952b6ea9f2a

See more details on using hashes here.

File details

Details for the file infrash-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: infrash-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 225.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for infrash-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3575ec3a0d41e4e441e6e235c5643c0091df7fc24d826583a802af544af4d87c
MD5 a7f48061c85e648848b51b92089b73c1
BLAKE2b-256 164212281fc4be31803c3513737ecd81bb02d3e11ec0083817a43b6aed90e513

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