레이블이 bcrypt인 게시물을 표시합니다. 모든 게시물 표시
레이블이 bcrypt인 게시물을 표시합니다. 모든 게시물 표시

generate bcrypt password for argocd

# argo-cd 에 admin 로그인시 패스워드는 secret 리소스의 data > "admin.password" 에 bcrpyt(해싱)된 값을 사용한다.

# argocd 설치
brew install argocd

# ysoftman 을 bycrpt 로 해싱하기
# 생성할때 마다 랜덤 salt 값이 추가되어 값이 바뀐다.(rainbow table 공격 방지할 수 있다.)
argocd account bcrypt --password ysoftman

# 또는 htpasswd 사용시
htpasswd -nbBC 10 "" ysoftman | tr -d ':\n' | sed 's/$2y/$2a/'

# 참고
https://github.com/ysoftman/enchash 에 match 기능 추가했놨다.

install argocd

# argo-cd 설치해보자.
# helm chart 준비
helm repo add argo https://argoproj.github.io/argo-helm

# latest 버전을 가져오기 위해 업데이트
helm repo update

# helm chart 다운로드 받아 압축풀기
helm fetch argo/argo-cd
tar zxvf argo-cd-7.5.2.tgz
cd argo-cd

# 네임스페이스 생성
kubectl create namespace argocd

# bycrpt 로 패스워드 생성
password=$(htpasswd -nbBC 10 "" ysoftman | tr -d ':\n' | sed 's/$2y/$2a/')

# 설치
# argocdServerAdminPassword 는 설치되면 argocd secret 으로 생성됨
helm install argocd argo/argo-cd \
--namespace argocd \
--values values.yaml \
--set "server.ingress.enabled=true" \
--set "server.ingress.ingressClassName=nginx" \
--set "server.ingress.annotations.ingress\.kubernetes\.io/rewrite-target: /" \
--set "server.ingress.annotations.nginx\.ingress\.kubernetes\.io/backend-protocol=HTTP" \
--set "server.ingress.annotations.nginx\.ingress\.kubernetes\.io/ssl-redirect=false" \
--set "server.ingress.hostname=argocd-ysofmtan.domain" \
--set "configs.params.server.insecure=true" \
--set "configs.secret.argocdServerAdminPassword=$password" \
--set "configs.secret.argocdServerAdminPasswordMtime=2006-01-02T15:04:05Z" \
--set "configs.repositories.prometheus-community.name=prometheus-community" \
--set "configs.repositories.prometheus-community.type=helm" \
--set "configs.repositories.prometheus-community.url=https://prometheus-community.github.io/helm-charts/"

# port-forward 으로 로컬에서 접속 확인
kubectl port-forward service/argocd-server -n argocd 8080:443