ArgoCDからGithubのPrivate Repositoryに対して、SSH keyを使って接続する
内容
ArgoCDからGithubのPrivate Repositoryに対して、SSH Keyを使って接続します。
Keyの発行・登録
発行
まずは認証に使うためのKeyを発行します。(ssh-keyコマンドを利用します。)
$ ssh-keygen -t ed25519 -f ./argo
argo
と argo.pub
という二つのファイルが新規作成されます。
Githubにキーを登録する
Keyの発行が完了したため、発行したKeyをGithub Repositoryに登録します。
ArgoCDと接続したいGithub Repositoryのページまで行き、Deploy Keyに対して今作成したargo.pub
の中身を登録してください。
ArgoCDにGithub Repoを登録する
Dashboardから登録する
Githubに対してKeyの登録が完了したため、次はArgoCDに対してGithub Repositoryを登録します。
ArgoCDのDashboardからSettings
-> Repositories
にいき、Connect Repo
をクリックします。
- Name: 任意
- Project: default
- Repository URL:
git@github.com:<ORG NAME>/<Repository Name>.git
- SSH Private Key Data: 先ほど発行したキー(
argo
) の中身
を登録します。
正常に情報を入力し、CONNECT
ボタンを押したら、今登録したリポジトリに対するCONNECTION STATUS
がSuccessful
になっているはずです。
Yamlファイルから登録する
上記のように手動でGithub Repoを登録する以外にもYamlファイルから登録する方法もあります。
apiVersion: v1
kind: Secret
metadata:
name: private-repo
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repository
stringData:
type: git
url: git@github.com:argoproj/my-private-repository.git
sshPrivateKey: |
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
このようなSecretファイルを作成し、KubernetesクラスターにApplyすることで、YamlファイルにてGithubRepoへの接続情報を宣言的に管理することができます。
※Secretで管理するのはおすすめできないため、本番環境で利用する場合は、SealedSecret等を利用してください。
まとめ
ArgoCDからGithub Repositoryに対してSSh接続する方法を解説しました。
note
勉強法やキャリア構築法など、エンジニアに役立つ記事をnoteで配信しています。
Discussion