본문 바로가기
cicd/argocd

ArgoCD Source로 Private Git Repo 접근하기

by _Nate 2023. 3. 24.
반응형

Source Repository는 특별한 목적이 아니고서는 모두 Private으로 운영한다.

ArgoCD에서 Github의 Private repository에 접근하기 위한 설정을 설명한다.


1. via SSH

  • SSH 공개키와 개인키를 생성한다.
test@DESKTOP-F55SF6V:~/git_private (⎈|test-cluster:default)# ssh-keygen -f private-repo
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in private-repo
Your public key has been saved in private-repo.pub
The key fingerprint is:
SHA256:Q+VySCPeQRXgekxyUIWkDcEJpt90kr9jTqt8cS59DTc root@DESKTOP-F55SF6V
The key's randomart image is:
+---[RSA 3072]----+
|    oo=*O==.     |
|   o .o@.*       |
|  .   B @ o      |
|   . o @ o       |
|    . o S        |
|       ..o. . E  |
|        ==   + . |
|     . +ooo . .  |
|      ooo. .     |
+----[SHA256]-----+


test@DESKTOP-F55SF6V:~/git_private (⎈|test-cluster:default)# ls -arlt
-rw-r--r-- 1 root root      574 Mar 24 11:54 private-repo.pub
-rw------- 1 root root     2610 Mar 24 11:54 private-repo
  • private-repo.pub 가 공개키이고 private-repo가 개인키이다.

 

  • private repository에 공개키를 deploy keys로 등록한다.
  • Deploy keys를 누르고 Add deploy key를 클릭한다.
  • 공개키의 내용을 입력하고 Add key를 클릭해 key등록을 한다.

 

  • deploy key가 등록된 것이 보인다.

 

반응형
  • argocd ui에서 repository설정으로 들어간다.

 

  • CONNECT REPO를 누르고 내용을 작성 후 CONNECT를 눌러 repository를 등록한다.

  • Repository URL : SSH방식이기 때문에 SSH URL을 입력한다.(git@github.com:~~~.git)
  • SSH private key data : 생성해둔 개인키의 내용을 입력한다.

 

  • CONNECTION STATUS가 Successful로 정상적으로 등록되었다.

 

2. access token

 

  • token설명, Expiration을 선택하고 scope에서 repo를 선택 후 Generate Token을 클릭한다.

 

  • Token이 발급되었다.

 

  • UI를 통해 via HTTPS로 Token을 사용해 Repository등록을 한다.
  • Repository URL에 https URL을 넣고 패스워드에 발급받은 Token값을 넣는다.

 

  • secret을 직접 생성해 repository등록도 가능하다.
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: secret-repo
  namespace: argocd
  labels:
    argocd.argoproj.io/secret-type: repository
stringData:
  name: secret-repo
  url: https://GIT_URL
  password: TOKEN값
  username: GIT_ID
EOF

 

  • 정상적으로 repository가 등록된 것을 확인한다.


실제 운영에서 위의 방법을 사용하는 사례가 있는진 모르겠다.

테스트용도로 사용하기는 편하다.

반응형

'cicd > argocd' 카테고리의 다른 글

ArgoCD CLI 사용하여 App 배포하기  (0) 2023.03.24
ArgoCD PRUNE과 SELF HEAL 테스트  (0) 2023.03.23
ArgoCD로 Kubernetes CD환경 구성하기  (0) 2023.03.20