- Kubernetesを使わない人のためのGitOpsツール
- リモートのgitリポジトリを監視し、変更をpullして、サーバー(サービス)プロセスにHUPシグナルを送ってリロード
- 各サービスでは、実際に必要なファイルだけが見えるsparse(ただし完全な履歴を保持した)gitチェックアウトを実行
- サービスにGit内のファイルへのアクセス権を与えるため、複数のバインドマウントを設定
- 対象ディレクトリが存在しない場合は、現在のユーザーで作成される(指定されている場合)
- 単にリポジトリを取得する以上の機能は提供しないが、Kubernetesのような環境に依存せずにGitOpsワークフローを利用できる
- サービスをプロビジョニングするために使うGitリポジトリには、各サービスごとに少なくとも1つの(サブ)ディレクトリが必要
- 指定された場合はパッケージをインストールするが、より良い方法があると判断した場合でもアップグレードやダウングレードは行わない
- リモートインターフェースは認証にSSHキーを使用
- 次のような機能を実装:
- Metrics: Gitハッシュを公開するため、ロールアウトを追跡可能
- Diff detection: metricsまたはgitopperctlで利用可能
- Out of band rollbacks: gitopperctlを使って通常のGitワークフローを迂回
- No client side processing: ファイルはGitリポジトリ内にあるそのままの形で使用
- Canarying: サービスに対してチェックアウトする別ブランチを指定可能
まだコメントはありません。