Geoサイトの利用
データベースのレプリケーションを設定してGeoノードを設定したら、プライマリサイトと同じように一番近いGitLabサイトを使います。
セカンダリサイトに直接プッシュすることができ(HTTP、SSH、Git LFS の両方)、リクエストは代わりにプライマリサイトにプロキシされます。
セカンダリサイトにプッシュしたときの出力例
$ git push
remote:
remote: This request to a Geo secondary node will be forwarded to the
remote: Geo primary node:
remote:
remote: ssh://git@primary.geo/user/repo.git
remote:
Everything up-to-date
SSHではなく HTTPS を使ってセカンダリにプッシュする場合、
user:password@URL
のように URL に認証情報を格納することはできません。代わりに、.netrc
ファイル (Unix 系オペレーションシステム用) または_netrc
(Windows 用) を使うことができます。この場合、クレデンシャルはプレーンテキストとして保存されます。クレデンシャルをよりセキュアに保存したい場合は、](https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html)Git Credential Storage](https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html)を使うことができます。Geo セカンダリサイトからの Go モジュールの取得
いくつかの制限はありますが、セカンダリサイトから Go モジュールを取得できます:
- Geo セカンダリサイトからデータを取得するには Git 設定(
insteadOf
を使用)が必要です。 - 非公開プロジェクトの場合は、
~/.netrc
で認証の詳細を指定する必要があります。
詳しくはworking with projectsgo get
documentationをご覧ください。