💬

ArgoCDからGithubのPrivate Repositoryに対して、SSH keyを使って接続する

2024/05/30に公開

内容

ArgoCDからGithubのPrivate Repositoryに対して、SSH Keyを使って接続します。

Keyの発行・登録

発行

まずは認証に使うためのKeyを発行します。(ssh-keyコマンドを利用します。)

$ ssh-keygen -t ed25519 -f ./argo

argoargo.pubという二つのファイルが新規作成されます。

Githubにキーを登録する

Keyの発行が完了したため、発行したKeyをGithub Repositoryに登録します。

ArgoCDと接続したいGithub Repositoryのページまで行き、Deploy Keyに対して今作成したargo.pubの中身を登録してください。

ArgoCD

ArgoCDにGithub Repoを登録する

Dashboardから登録する

Githubに対してKeyの登録が完了したため、次はArgoCDに対してGithub Repositoryを登録します。

ArgoCDのDashboardからSettings -> Repositories にいき、Connect Repoをクリックします。

ArgoCD

  • Name: 任意
  • Project: default
  • Repository URL: git@github.com:<ORG NAME>/<Repository Name>.git
  • SSH Private Key Data: 先ほど発行したキー(argo) の中身

を登録します。

正常に情報を入力し、CONNECTボタンを押したら、今登録したリポジトリに対するCONNECTION STATUSSuccessfulになっているはずです。

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で配信しています。

https://note.com/ring_belle/membership

Discussion