このプロジェクトについて
itsUPは、ゼロダウンタイムデプロイとセキュリティに重点を置いてDockerサービス管理を自動化する、Pythonベースのホームインフラスタックです。
DNS解決、Traefikリバースプロキシ、コンテナワークロードを含む完全なネットワーキングスタックを管理し、すべてをプロジェクトベースのディレクトリ構造からオーケストレーションします。各サービスプロジェクトは独自のdocker-compose.ymlと設定ファイルを持ち、Infrastructure as Codeを整理されたバージョン管理可能な状態に保ちます。
主な機能:
- ゼロダウンタイムロールアウト: docker rolloutを使用してコンテナをスケールし、ヘルスチェックを待ってから古いインスタンスを置き換えます。スマートな変更検出により、変更がない場合はロールアウトをスキップします。
- 管理プロキシ: シームレスな更新のためにSO_REUSEPORTを備えたTraefik設定を生成します。TLS終端、TLSパススルー、TCP/UDP転送、ホストポートバインディングをサポートします。
- コンテナセキュリティモニター: DNSクエリと直接IP接続を関連付けて、侵害されたコンテナを検出します。オプションのiptablesブロッキングのためにOpenSnitchと統合します。
- DNSハニーポット: すべてのコンテナDNSトラフィックをdnsmasq経由でルーティングし、脅威検出のためにログを記録します。
- 自動バックアップ: スケジュールされた復元を伴う夜間のS3バックアップ。
- 脅威インリジェンス: AbuseIPDB API統合による日次レポート。
- OpenVPNサーバー: SSHアクセスを備えた組み込みVPNサポート。
itsup CLIが主要なインターフェースであり、init、apply、validate、dns/proxy/svc/monitor管理のコマンドを提供します。LinuxではSystemdタイマーが起動時のスタートアップ、夜間のapply、バックアップ、ヘルスチェックを処理します。macOSではlaunchdエージェントが同様の自動化を提供します。
前提条件には、rolloutプラグイン付きのDocker、Python依存関係管理のためのuv、80/443のポートフォワーディング、ワイルドカードDNSドメインが含まれます。設定では、プロジェクトとシークレット用の別々のgitリポジトリとともに、シークレット暗号化にSOPS/ageを使用します。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.