Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

initial import to main branch #1

Merged
merged 33 commits into from
Mar 24, 2023
Merged

initial import to main branch #1

merged 33 commits into from
Mar 24, 2023

Conversation

ktkfree
Copy link
Contributor

@ktkfree ktkfree commented Feb 20, 2023

tks-api 구현 초안으로 main branch merge 를 진행합니다.
tks-apis 의 기본적인 기능은 구현이 되었으나, 코드 클리닝 작업 및 상세 에러 처리등의 작업이 필요한 상황입니다.
전체적인 구조만 확인 바랍니다.

특징

  • 기존 tks-apis 의 전체 통합
    • 보다 수월한 deployment 관리가 가능합니다.
    • local 개발시 각 서버들의 외부 접속 설정을 하지 않아도 되며, DB, argo 접속만 설정하면 즉시 개발할 수 있습니다.
    • 더이상 tks-proto, tks-common, tks-apis 들의 시퀀셜한 PR 프로세스가 필요 없습니다.
  • DB schema 관리
    • 더이상 DB schema 를 위한 script 를 작성하지 않아도 됩니다. 서버 실행시 정의된 data structure 에 따라 DB schema 가 자동 생성/변경됩니다.
    • 더이상 helm chart 의 postscript 작성이 필요없습니다.
    • delete 가 DB layer 에 추상화되어 실제로 data 를 삭제하지 않습니다 ( 운영시 상당한 장점 )
  • Transaction
    • 기존 tks-apis 플랫폼의 고질적인 문제인 transaction 처리가 가능해집니다.
    • Request 단위의 일괄 transaction 처리를 설계중이며, 아직 구현되지는 않았습니다.
  • Unittest
    • 각 layer 별로 독립적이므로 layer 별 mock test 가 수월해집니다.
    • DB test 는 기존과 마찬가지로 real instance 기반의 unit test도 지원합니다.
  • REST API를 지원합니다. ( grpc 지원은 추후 )
  • client, server 의 통합
    • 현재 tks-client, tksadmin-client 로 구성되어 있는 repo 를 tks-api 내 포함을 고려하고 있습니다.
    • 버저닝 측면에서도 더 유리하다고 생각합니다.
  • postman 을 test, 개발에 활용할 수 있습니다.
  • swagger를 적용하였습니다.
  • 추후 재분리를 고려하여 종속성을 최소화하여 설계하였습니다.

스크린샷 2023-02-20 오후 4 15 09

tks-api 상세

 . version up golang ( 1.17 -> 1.18 )
 . implementation swagger
 . implementation auth
@ktkfree ktkfree force-pushed the develop branch 2 times, most recently from b87222d to 98026a2 Compare March 13, 2023 13:43
 . add DB initialize script
 . change swagger url
@ktkfree ktkfree changed the title initial import to main branch [WIP] initial import to main branch Mar 20, 2023
Copy link
Contributor

@seungkyua seungkyua left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

일단 로컬에서 동작할 수 있게 추가사항을 코멘트 하였습니다.
이후 컴파일만되면 main 에 merge 하겠습니다.

README.md Outdated Show resolved Hide resolved
Comment on lines +101 to +105
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect
sigs.k8s.io/yaml v1.2.0 // indirect
)

replace github.com/openinfradev/tks-api => ./
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go 1.18 버전 이상부터는 replace 를 사용할 경우 go.work 파일을 만들어서 사용하게 되어 있습니다.
go.work 파일을 만들어서 아래 내용을 추가해 주세요.

파일명: go.work

go 1.18

use ./

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 부분은 조금 더 확인해보고 처리하겠습니다. 새로 생긴 feature 이네요.

.gitignore Show resolved Hide resolved
@ktkfree ktkfree changed the title [WIP] initial import to main branch initial import to main branch Mar 24, 2023
@ktkfree
Copy link
Contributor Author

ktkfree commented Mar 24, 2023

initial main merge 진행합니다.
관련하여 상세 내용은 차주초에 팀내 공유하겠습니다.

@ktkfree ktkfree merged commit 92b58ae into main Mar 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants