메모 및 기타
-
Keycloak client scope 정리메모 및 기타 2022. 11. 25. 12:22
OIDC 액세스 토큰이 생성되면 기본적으로 User의 모든 User role mapping이 토큰 내의 클레임으로 추가된다. 애플리케이션(클라이언트)은 이 토큰 정보를 사용하여 해당 애플리케이션이 제어하는 리소스에 대한 액세스 결정을 내린다. 만약 Application이 손상되거나 Realm에 등록된 악성 애플레케이션 클라이언트가 있는 경우, 공격자가 광범위한 권한을 가진 액세스 토큰을 얻을 수 있기 때문에 클라이언트의 권한 허용 범위를 제한할 필요가 있다. keycloak에서는 이를 client scope로 처리한다. Client scope란? Client Scope는 액세스 토큰 내 선언된 Role을 제한하는 방법이다. 클라이언트가 사용자 인증을 요청할 때, 사용자가 받은 액세스 토큰에는 client..
-
golang reflect로 struct 필드 순회하기메모 및 기타 2022. 11. 22. 16:56
Code package main import ( "fmt" "reflect" ) type Student struct { Name string Grade int Age int } type Animal struct { Name string Kind string Size int Age int } func main() { s1 := &Student{} LoopObjectField(s1) a1 := &Animal{} LoopObjectField(a1) } func LoopObjectField(object interface{}) { fmt.Println(reflect.TypeOf(object)) e := reflect.ValueOf(object).Elem() fieldNum := e.NumField() for i ..
-
Network Trouble Shooting Pod Manifest메모 및 기타 2022. 11. 1. 20:52
traceroute, tcpdump, ping, curl, ip 등 다양한 네트워크 커맨드를 사용할 수 있는 이미지로 알아두면 유용하다. Network Pod Manifest apiVersion: v1 kind: Pod metadata: name: pod spec: containers: - name: pod image: nicolaka/netshoot command: ["tail"] args: ["-f", "/dev/null"] 접속하기 kubectl exec -it pod1 -- zsh
-
로컬 환경에서 kubelet metric 조회메모 및 기타 2022. 11. 1. 20:47
kubelet metric 조회 curl -k https://localhost:10250/metrics \ --cert /etc/kubernetes/pki/apiserver-kubelet-client.crt \ --key /etc/kubernetes/pki/apiserver-kubelet-client.key cadvisor metric 조회 curl -k https://localhost:10250/metrics/cadvisor \ --cert /etc/kubernetes/pki/apiserver-kubelet-client.crt \ --key /etc/kubernetes/pki/apiserver-kubelet-client.key
-
Helm 자주 사용하는 커맨드 정리메모 및 기타 2022. 9. 20. 15:16
helm 3 설치하기 curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh chmod 700 get_helm.sh ./get_helm.sh helm repo 추가하기 helm repo add [repo 이름] [repo url] ex) helm repo add traefik https://helm.traefik.io/traefik repo update하기 helm repo update 압축 풀린 helm repo 다운 받기 helm pull [repo 이름]/[repo에서 다운 받을 패키지명]--untar ex) helm pull traefik/traefik --untar helm chart 설치하기..
-
내가 자주 사용하는 git command메모 및 기타 2022. 8. 13. 16:26
틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! 깃 사용자 및 이메일 설정하기 git config user.name "seung" git config user.email "sjoh0704@daum.net" 리모트 레포지토리에 있는 branch 확인하기 git branch -r 리모트 레포지토리에 있는 브랜치를 다운받은 후, 해당 브랜치로 이동하기 git checkout -t origin/{branch명} 작업 내용 임시저장하기 git stash 임시 저장하는 작업 내용 리스트 가져오기 git stash list 가장 최근에 임시로 저장한 작업으로 이동하기 git stash apply git 에디터 vim으로 변경하기 git config --global core.ed..
-
go module을 pkg.go.dev에 등록 및 versioning하기메모 및 기타 2022. 8. 7. 11:34
틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! 이번 포스팅에서는 내가 go로 작성한 모듈 패키지를 pkg.go.dev에 등록하고, versioning 하는 방법을 다루었다. pkg.go.dev 등록하기, major 버전이 아닌 버전 업그레이드하기, major 버전 업그레이드 하기로 구성했다. major version을 분리하여 구성한 이유는 go에서는 major 버전을 변경하면, pkg 경로에 v2라는 prefix가 추가되어야 하기 때문이다. 예를 들면, github.com/sjoh0704/go-module-test에서 github.com/sjoh0704/go-module-test/v2가 되어야 하기 때문에 이를 구분해야 한다. 우선 패키지를 pkg.go.dev에..