분류 전체보기
[DC/OS 아키텍처에 관한 분석]MESOS와 MARATHON
[DC/OS 아키텍처에 관한 분석]MESOS와 MARATHON
2021.10.19DC/OS는 쿠버네티스와 같은 컨테이너 오케스트레이션 솔루션으로 알려져 있다. 실제로도 그렇게 많이 사용되고 있지만 DC/OS를 리셀링 하는 회사에서 엔지니어로 근무하며 많이 받았던 질문으로 “그래서 쿠버네티스와는 뭐가 다른데?” 라는 질문에 대해 장황하게 설명하게 되는 나 자신을 돌아보며, 먼저 DC/OS 라는 플랫폼에 대해서 다시 한번 간단하게 해부해 보고자 한다. MESOS 아키텍쳐DC/OS를 지칭할 때 종종 marathon + mesos 라는 수식어를 붙이곤 한다. 실제로 DC/OS는 Apache 재단에서 핫한 프로젝트 중 하나였던 Mesos 라는 프로젝트에 핵심 기능을 의존하여 개발된 서비스인데, mesos는 컨테이너 오케스트레이션이라는 컨셉에만 초점을 두고 탄생한 플랫폼이 아니다. Mesos는..
[confluence to tistory-10]공식 Confluence API의 개선 완료
[confluence to tistory-10]공식 Confluence API의 개선 완료
2021.10.10드디어 기다리고 기다리던 API가 개선이 완료되어, OAuth를 통해 발행 받은 토큰을 활용해서 게시물의 이미지와 첨부 파일 등을 다운로드 할 수 있도록 개선이 완료되었다.이번 개선을 통해 OAuth 2.0 토큰을 발행할 때 첨부 파일 다운로드를 위한 readonly:content.attachment:confluence 라는 scope가 새로 추가되었고, API 문서에도 관련된 사항이 업데이트 되어 Get URI to download attachment 섹션이 추가되었다.공식적으로 지원이 되면서, 원래 내 코드에서 테스트를 위해 첨부 파일과 이미지 다운로드 부분만 별도의 인증 체계를 통해 임시 성 코드를 덕지덕지 발라 놓았었는데, 그러했던 부분들을 모두 제거하고 공식 지원하는 API로 변환 하자, 코드들..
[confluence to tistory-9]Atlassian 개발자 커뮤니티의 지원
[confluence to tistory-9]Atlassian 개발자 커뮤니티의 지원
2021.10.10지난 글에서 제보했던 이미지 다운로드 API의 인증에러와 관련하여 Jira 티켓이 만들어지긴 했지만, 내가 제보한 이슈는 별로 많은 사람들이 고민하던 이슈는 아니었던가보다. 내가 제보한 이슈는 사람들의 관심으로부터 매우 동떨어져 있었고, 사실상 처리될 이슈로 분류되기에는 어려워 보였다. 약 5일여간을 기다렸으나 Atlassian에는 수많은 이슈들이 Jira에 등록이 되어 있었고, 이 이슈가 진행상태로 넘어가기 위해서는 많은 사람의 관심과 투표가 있어야 작업이 진행되는 시스템으로 보였다. 수많은 이슈들이 관심을 받지 못하고 GATHERING INTEREST 상태로 오랜시간을 버티고, 내 이슈도 그들과 같은 행보를 걷는듯 했다. 국내 개발자 커뮤니티의 도움을 받아서 투표수를 올려서 관심을 끌어볼까 하는 마음..
[confluence to tistory-8]재발한 이미지 처리 문제
[confluence to tistory-8]재발한 이미지 처리 문제
2021.10.10한동안 프로젝트 진행을 방해하며 괴롭혔던 포스팅의 이미지 처리에 대한 문제가 기어이 다시 재발하여 이번에는 아에 프로젝트 전체를 위기에 빠트리고 있다. 문제의 시작.. 문제의 내용을 요약하자면, Oauth2.0을 활용한 인증방식을 이용하는 경우 게시물의 이미지 및 첨부파일을 api를 통해 다운로드 받을 수 없다는 내용이다. confluence에서는 첨부파일이나 이미지를 아래와 같은 형태의 URI를 통해 다운로드 받을 수 있다. https://api.atlassian.com/ex/confluence/{baseId}/download/attachments/14778479/image-20210317-174604.png 하지만, 당연하게도 confluence에 게시되는 모든 컨텐츠들은 private한 형태로 게시..
[confluence to tistory-7]표 변환
[confluence to tistory-7]표 변환
2021.10.10구현하면서 기능들을 테스트 하다보니 이번에는 표를 변환하는 과정이 엄청 애를 먹였다. 해결하고 나서 보니 정말 아무것도 아닌 것들이었는데 내용이 다음과 같았다. 티스토리에 게시된 표의 모양이 예쁘지 않음 html2text 모듈 사용시 표 변환이 안됨 사실 두 문제 모두 각각의 상황에서만 보면 금방 디버깅 하여 해결했을 문제들 이었음에도 테스트 과정에서 공교롭게 두 문제를 동시에 마주하는 바람에 제대로 초점을 잡지 못해 삽질을 엉뚱하게 하다가 시간을 많이 보내었다. 선택과 집중이 중요함을 다시 한번 느낄 수 있었던 과정이었다. 티스토리에 게시된 표의 모양이 예쁘지 않음 해당 내용은 말 그대로, confluence api가 제공해주는 게시물의 html 컨텐츠를 티스토리에 게시했을 때 발생하는 문제였다. 변형..
[confluence to tistory-6]개발한 기능들 API화(feat. fastapi)
[confluence to tistory-6]개발한 기능들 API화(feat. fastapi)
2021.10.10컨플루언스에서 작성한 문서들을 Tistory 블로그로 옮기기 위한 POC작성 및 테스트가 끝났으니, 본격적으로 기능을 서비스화 하기 위해 각각의 기능들을 restapi 형태로 감싸기로 하였다. 파이썬 웹 프레임워크 선택 평소에 자주 사용하였던 Flask를 활용하여 만들어 볼까도 하였으나, 최근에 관심있게 보고 있었던 fastapi가 눈에 들어와서 이번 기회에 간단하게 문법을 공부해서 적용해 보기로 하였다. fastapi에 대해서 간단하게 소개하자면 Starlette(내부적으로 uvicorn을 사용하는 경량 ASGI 웹 프레임워크)과 Pydantic(데이터 유효성 검사 라이브러리)의 장점을 적절히 버무려서, 매우 간편하게 개발할 수 있으면서 매우 빠른 성능을 보여주는 파이썬 웹 프레임워크이다. 여기서 말하..
[confluence to tistory-5]이미지 삽입
[confluence to tistory-5]이미지 삽입
2021.10.10이놈의 이미지 때문에 삽질을 며칠을 하였다. 이미지 썸네일 표시 안됨.. 컨플루언스에 업로드 되어 있는 이미지는 권한이 있는 사용자(나)만 볼 수 있는 이미지이기 때문에, OAuth2.0으로 토큰을 발행받은 시점에 다른 이미지 저장소에 공개 이미지로 업로드 하여, 새로 발급받은 주소로 이미지 주소를 치환하여 첨부했었다. 지난 confluence to tistory-2 편에서 작업한 내용은, 이 공개 이미지 저장소로 imgbb 라는 사이트를 이용하는 것이었다. 하지만 포스팅 발행까지 어느정도 완료되고 나자 매우 거슬리는 문제 하나를 발견했다. 바로 이미지 썸네일이 보이지 않는 현상!!! 아래의 두개 포스팅과 같이 이미지를 첨부하면, 썸네일에 이미지가 출력되어야 하는데 현재 발행방식으로는 이미지가 썸네일에 ..
[confluence to tistory-4]Confluence Api도 OAuth2.0으로
[confluence to tistory-4]Confluence Api도 OAuth2.0으로
2021.10.10Tistory Api 덕분에 OAuth2.0의 원리 및 활용법을 알게 되었는데, 생각해보니 사용자를 위해서라면 Confluence Api를 사용할 때도 OAuth2.0 방식으로 해야겠다는 생각이 되어 찾아보니, Confluence에서도 OAuth2.0을 지원하고 있었다. OAuth2.0 앱 등록 당연한 이야기 이지만 Confluence도 OAuth2.0 인증을 사용하기 위해서는 개발자 콘솔에서 어플리케이션을 등록하고, AppID 및 Secret등을 발급 받아야 한다. 순서는 다음과 같다. 개발자 콘솔의 Myapps에서 Create app버튼에서 OAuth 2.0 (3LO) integration 을 선택한다. 만들 어플리케이션의 이름을 입력하고 생성한다. 방금 생성한 항목에 접속해서 Permissions ..
[confluence to tistory-3]tistory api 및 OAuth2.0
[confluence to tistory-3]tistory api 및 OAuth2.0
2021.10.10이슈개요 tistory api를 활용하여 게시물 포스팅 tistory에서는 굉장히 개발자 친화적인 api 문서를 제공 하고 있었다. (내가 꼬인건지 모르겠지만, 외국 솔루션의 Document 들은 괜히 공식 문서랍시고 설명들을 쓸데없이 어렵게 써놓고 개발자들이 이것 저것 찾아봐야하게 문서를 써놓는 것 같다) < - 지금 다시 읽어보니 이때 왜 이렇게 화가 나있지.. 티스토리의 Open Api는 api사용시 인증방식을 OAuth2.0을 활용하도록 만들어 그 기능을 제공하고 있다. 나중에 사용자들에게 서비스를 제공할 것을 생각해 보니 컨플루언서의 API 인증방식도 가능하다면 OAuth2.0을 활요하면 좋지 않을까 생각하고 찾아보니 해당 인증방식을 지원하고 있었다. 그래서 인증 방식을 모두 OAuth 방식을 ..
[confluence to tistory-2]html 다듬기
[confluence to tistory-2]html 다듬기
2021.10.10신규 단위목표이미지 추출 및 공개서버에 업로드 → html내 링크 정보 치환테이블 테그 tistory 형식에 맞게 변경codeBox tistory 형식에 맞게 변경 필요추출된 페이지 테스트 등록추출된 html이 tistory 게시물로 등록되었을 때 바람직한 모양으로 출력되는지 테스트하기 위해서 테스트 게시물을 게시해 보았다. 눈에 띄는 문제점 두가지가 보였다.표 디자인이 구림코드박스 syntax highlight가 동작하지 않음보이는 문제점 말고도 가장 치명적인 문제점이 하나 있는데, html내부에 삽입된 이미지가 confluence Cloud 서버내에 저장되어 링크가 걸려있었다. 당연히 로그인 통해 인가된 사용자만 접근하여 이미지를 로딩해 올 수 있었기 때문에, 블로그에 정상적으로 게시하기 위해서는 이..
ElasticSearch Index LifeCycle to Template with Fluentbit
ElasticSearch Index LifeCycle to Template with Fluentbit
2021.03.29문제 DC/OS에서는 로그 모니터링을 위해 자체적으로 로그 수집 Agent로 FluentBit을 사용한다. 현재 사용하고 있는 시스템에서는 모니터링 시스템을 구축하기 위해서 FluentBit 을 활용하여 EFK를 구축하여 사용하고 있는데, 아래와 같은 설정을 통해 ElasticSearch에 적재되는 로그들이 매일 다른 Index명을 통해 저장되도록 설정되고 있었다. [OUTPUT] Name es Match * Host Port Logstash_Format True Logstash_Prefix fluent-bit 하지만 적재되고 있는 인덱스에 대해서 특별한 관리가 되지 않고 계속 로그가 쌓이기만 하고 있어서 서버에 과도한 용량이 점유되는 상황이 발생하여, ElasticSearch에서 자체적으로 제공하는 I..
confluence to tistory 제작-1
confluence to tistory 제작-1
2021.03.23개발 1일차 단위목표 confluence api 조사 페이지, 스페이스 목록 정보 조회 api 확인 특정 페이지 html or markdown export api 확인 REST API 활용 인증 구현 personal token 생성 : 을 base64로 인코딩 Authorization 헤더에 Basic 을 추가하여 사용 curl -H "Authorization: Basic " https://{confluenceBaseUrl}/rest/api/content space 목록 확인 구분 정보 비고 API 경로 https:///wiki/rest/api/space 매서드 GET 호출 목적 space의 name, key 쌍 확인 페이지 목록 조회 구분 정보 비고 API 경로 https:///wiki/rest/api..