Opensource 기여해보기.. (1) ( kubernetes-sig/headlamp )

2025. 4. 29. 21:23자격증 공부/오픈소스 Contributor

728x90
반응형

111.요즘엔 회사에서 주로 오픈소스를 가지고 필요한 기능등을 많이 넣고 있다.. 그러다보니 오픈소스중에 한국어 locale이나 k8s의 멀티클러스터링 기능이라던지 등등을 넣게 되다보니 자연스래 한번 나중에 오픈소스 기여좀해보자..마음만 먹었었는데 

 

어느순간!! headlamp라는 k8s dashboard가 kubernetes-sigs로 repository를 옮겨서.. 번역해놨던 locale을 추가하기로 진짜 마음을 먹었다.. 

 

아이콘도 kubernetes으로 변경됨..

 

 

headlamp를 잠시 설명하자면 desktop, docker, k8s에 걸쳐서 kubernetes를 쉽게 보여주는 dashboard 플랫폼이다. 사실 기존에 kubernetes-dashboard는 멀티클러스터링 기능도 잘안되고 sso연동도 되긴하지만 뭔가 버그도 많고했는데.. 지속적으로 개발해오던 headlamp를 kubernetes쪽에서 가져간건지.. 어떻게 된건지 잘은모르나 kubernetes쪽 repository로 이동하게 되었다.

 

이제 한번 opensource기여를 위해 간단하게 어떻게 했는지 소개를 하고자한다.

 

 

1. git fork 하기

먼저 기여를 할려면 git fork를 해야한다. git fork를 하게 되면 나의 github repository에 추가가 된다.

 

 

위와같이 추가가되고 forked from kuberentes-sigs/headlamp가 뜨는데 이렇게 되면 fork 가 된 것이다.

여기서 작업해서 나중에 pull request를 headlamp github가서 하게 되면 할 수 있게 될것이다.

 

 

 

2.  cncf EasyCLA 승인받기

먼저 kubernetes의 소스기여는 CNCF의 CLA인증을 받아야합니다.. 인증을 안 받게되면 pull request를 올려도 인증이 안되어서 Github Action자체가 안돌아갑니다. 

 

먼가빨개서 무서웠음..

 

무서운 메세지들이 뜨게 된다. 해당 메세지는 개인의 CLA, 회사의 CLA가 필요하다!  라는 내용입니다. 그리고 자세하게 어디서 인증을 받는지도 알려줍니다. 

 

2-1. 개인 CLA 승인

먼저 개인CLA를 승인받기위해 Please click here to authorized 를 클릭해보면 먼저 LINUXFOUNDTATION에 로그인 해야하는데 없다면 가입후 로그인 하면 아래와 같은페이지가 나온다.

 

왼쪽은 기업승인을 위한 절차고, 오른쪽은 개인을 위한 절차이다. 

먼저 개인절차를위해 Procced as Individual Contributor를 클릭한다. 클릭하면 동의 관련 내용이나오고  SIGN CLA를 클릭하면 무언가 계약서 같은게 뜨는데 계약서의 내용은  위의 Download PDF의 내용이다.

SIGN CLA를 누르자..

 

계약서는 아래와같이 서명하는곳과 이름, 메일링을위한 주소, 나라, E-mail로 적을수있다. 아마 서명란에는 빨간 칸이나와서 해당 부분을 입력해주고 승인을 해주면 Mailing Address한 곳으로 승인된 메세지도 볼 수 있다.

 

 

메일로 서명한 PDF파일도 보내주고.. 승인도 되었다 친절하게 알려준다.

 

 

 

개인이 완료되었다면 기업도 해보자. (기업이좀 까다로움..)

 

2-2 기업 CLA 승인

기업 승인은 내가 다니고 있는 회사에 대한 승인이다.. 근데 처음에 승인을 받으려했더니 우리 회사는 나오지 않았다.. 그래서 좀 애를 먹었습니다. 그리고 회사가 있더라해도 회사에 대한 manager가있고 해당 매니저가 승인을 해줘야나오는 구조이기에 저는 제가 그냥 manager가 되서 저를 직접승인 하는방식으로 진행했습니다.

 

 

기업은 여기에 회사이름을 쓰면 나오는데 만약에 없을때에는 그냥 직접 만들면됩니다. 만들때 회사의 홈페이지정도만 넣어주고 만들면 되기에 그렇게 만드는건 어렵지않았습니다.

회사에 대한 승인이 되게 되면 아래와 같이 Page가 뜹니다.

ACTIVE CLAs FOR MY ORGANIZATION은 CNCF 프로젝트에  회사가 CLA승인을 사용하겠다 라는 정도고

MANAGER는 해당 페이지의 관리자입니다. 해당 관리자는 Contributor를 관리하는 역활을 합니다.

APPROVED LIST OF CONTRIBUTORS FROM MY ORGANIZATION은 한마디로 기업에서 승인하는 컨트리뷰터입니다.

여기에 Manager도 넣어줘야 CLA를 승인되어서 오픈소스 기여가 가능해집니다. 

 

저는 여기에 제 email을 넣었습니다. 여기서 중요한건 email을 넣고 git push할때 해당 email이 틀릴경우 CLA통과를 실패하기에 git config 를 꼭 한번 확인하고 fork 한 Git repository를 푸시하시길 바랍니다.

 

승인되면 위와같이 메일이 날라오고 승인되었다고 뜹니다. 또한 승인이 완료되면 pull request을 날릴준비는 이제 완료가 되었습니다.

 

3. Pull & Request 하기 

headlamp에 들어가 이제 .. pull & request를 해봅시다!! pull requests -> New Pull request를 클릭해봅시다.

 

 

다음 페이지에서는 compare across forks를 클릭해봅시다. 그럼내가 fork한 repository를 클릭하고 변경한 branch의 내용이 나오고 pull Request를 할수있도록 페이지가 변경됩니다.

 

fork한 headlamp와 branch 를 -> kubernetes-sigs/headlamp main 머지

 

 

하게되면 아래와 같은페이지가 나옵니다.

 

 

여기서 라벨중 cncf-cla: yes가 바로 아까 진행했던 CLA 인증작업입니다. 이게 만약에 안되면 빨간색으로 뜨고 No라고 뜨면서 pull Request가 진행되지않습니다... 

 

4. 마무리

현재는 pull Request를 올린 상태이기에 merge작업중이다.. merger가 완료되고 완료된것을 다시올려보도록 하겠습니다..
처음이지만 생각보다 재미있엇고 자주 기여를 할수있는 작업은 꼭 하는걸로 해봐야겠다.

728x90
반응형