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:
-
Zainstalować pakiet unitmcp, jeśli potrzebujesz tej funkcjonalności:
pip install unitmcp
-
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cd22447b21ab751bf525086ee11086ad1379580df62aa3eebeeaf6a789cadf8
|
|
| MD5 |
627fe0c9cff39da0a6d9e9ef59a2d3fb
|
|
| BLAKE2b-256 |
e02cd87a3b82606926d805b00bf54c822f3bc9e6208818c7947e1952b6ea9f2a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3575ec3a0d41e4e441e6e235c5643c0091df7fc24d826583a802af544af4d87c
|
|
| MD5 |
a7f48061c85e648848b51b92089b73c1
|
|
| BLAKE2b-256 |
164212281fc4be31803c3513737ecd81bb02d3e11ec0083817a43b6aed90e513
|