Git credentials¶
このページでは、認証が必要なGitリポジトリのクローンを作成する方法について説明します。
これは、 postgres_git_url
を install Postgres from source または use `install_from_source <Installing from source>` に変更して拡張機能をコンパイルしてインストールするときに必要になる場合があります。
ターゲットインスタンスのディスクに資格情報を書き込まずに認証するには、2つのオプションがあります。
ssh://リポジトリの場合、ローカルssh-agentにSSHキーを追加できます。--install-from-source(config.ymlのforward_ssh_agent: yes)を使用する場合、エージェント転送はデフォルトで有効になっています。https://リポジトリの場合、tpaexec deployを実行する前に環境でexport TPA_GIT_CREDENTIALS=username:tokenできます。
注釈
macOS上のDockerにデプロイする場合、この環境のホストからsshでDockerコンテナにアクセスできないため、 https:// リポジトリURLのみを使用する必要があります。
SSHキー認証¶
SSHリポジトリのクローンを作成しており、SSHキーペア(id_example
およびid_example.pub
)がある場合は、SSHエージェント転送を使用してターゲットインスタンスで認証します。
``ssh-agent``をローカルで実行する必要があります 。デスクトップ環境でこれがまだ設定されていない場合(ほとんどの場合と同様に、
pgrep ssh-agentが実行されているかどうかを確認します)、ssh-agent bashを実行してエージェントを有効にして新しいシェルを一時的に起動し、そのシェルからtpaexec deployを実行します。ssh-add /path/to/id_example(秘密鍵ファイル)を使用して 必要なキーをエージェントに追加しますtpaexec provisionの前にconfig.ymlのトップレベルでforward_ssh_agent: yesを設定することにより、 SSHエージェント転送を有効にします 。 (--install-from-sourceを使用する場合、これはデフォルトで行われます。)
展開中に、エージェントに追加したキーは、転送されたエージェント接続を介してリモートサーバーへの認証に利用できるようになります。
SSHエージェント転送は注意して使用し、できればこの目的のために特別に生成された使い捨てキーペアを使用してください。ターゲットサーバー上のエージェントのUnixドメインソケットにアクセスする特権を持つユーザーは、他のサーバーへの認証中にエージェントを利用してあなたになりすますことができます。
HTTPSユーザー名/パスワード認証¶
ユーザー名と認証トークンまたはパスワードを使用してHTTPSリポジトリのクローンを作成する場合、環境内のtpaexec deploy
の前にexport TPA_GIT_CREDENTIALS=username:token
のみ。展開中に、これらの資格情報は、任意のgit clone
またはgit pull
タスク(のみ)で利用できるようになります。ターゲットインスタンスのディスクには書き込まれません。