etckeeperを使っているのに良い製品のようです。私はこれをローカル/ etcファイルシステムを追跡するためだけに使用していますが、最近は中央のGitlabリポジトリを作成し、そこにすべてのノード/ etcリポジトリを保存するというアイデアを思いつきました。
問題は私がこれをどのようにできるかです。
etckeeper構成にPUSH_REMOTE = ""という変数があることがわかりました。しかし、各サーバーに別々のストレージを作成する必要がありますか、それとも1つのストレージを使用してその中のすべてのサーバーを組み合わせることができますか?おそらく支店を使用できますか?それとも別のフォルダですか?
どんな提案でも歓迎します。手動で実行しようとしていて機能する場合は、PuppetまたはAnsibleを介して自動化された方法で実行する方法を検討します。
よろしくお願いします。
答え1
解決策を見つけたと思います。前の四半期について述べたように、これが私が望むことを達成する最も簡単な方法であることがわかりました。
だから私はいくつかの簡単な手順を実行しました。
- Gitlabインスタンスと通信できるようにSSH RSAキーペアを作成しました。
- 私のシステムにetckeeperとgitパッケージがインストールされています。 (Ubuntu / Debianシステムの場合はローカルリポジトリが自動的に作成されます。)RedHatシステムの場合は、/ etcディレクトリでetckeeper initを使用してリポジトリを作成する必要があります。
- /etc/etckeeper/etckeeper.confのPUSH_REMOTE="origin"変数として"origin"を追加しました。
- リポジトリが完了したら(git statusを使用して解決できます)、マシンのFQDN名というローカルブランチを作成し、git checkout -b test.home.lanを使用してそのブランチに切り替えました。
- 次に、git remote add <gitlab_url> を使用して、リモートリポジトリをローカルの git クライアントに追加します。
- 最後に、git push --set-upstream Origin test.home.lan を使用して、ローカルポイントとリモートポイント間の同期接続を確立します。
このアプローチでは、各ノードに独自の分岐があります。
これが誰かに役立つことを願っています。