ecspresso advent calendar 2020 day 22 - OSS
ecspresso를 지원하는 OSS
ecspresso는 Go 언어로 구현된 OSS입니다.실현될 때 Go 언어 자체는 말할 필요도 없고 다른 OSS에 의존한다.
평소에 감사했던ecspresso의 용도를 포함하는 OSS의 프로그램 라이브러리를 소개합니다.
go.mod
v1.2.1 시간점의 의존성
go.mod
을 기재한 문서는 다음과 같다.require (
github.com/Songmu/prompter v0.4.0
github.com/alecthomas/kingpin v1.3.8-0.20190930021037-0a108b7f5563
github.com/aws/aws-sdk-go v1.35.35
github.com/fatih/color v1.9.0
github.com/fujiwara/tfstate-lookup v0.0.14
github.com/google/go-cmp v0.5.2
github.com/kayac/go-config v0.5.0
github.com/kylelemons/godebug v1.1.0
github.com/mattn/go-isatty v0.0.12
github.com/morikuni/aec v1.0.0
github.com/pkg/errors v0.9.1
gopkg.in/yaml.v2 v2.3.0
)
하나하나 소개합니다.github.com/Songmu/prompter
터미널에 알림을 표시하는 프로그램 라이브러리입니다.
init
명령을 사용하여 정의 파일을 생성할 때 기존 파일이 존재할 때의 덮어쓰기 확인, delete
명령을 통해 대상의 서비스 이름을 삭제할 것을 요청하는 확인 입력 등 실행 중 사용자의 상호작용이 필요한 상황에서 사용한다.github.com/alecthomas/kingpin
명령줄의 해석 라이브러리입니다.각 하위 명령
deploy
, rollback
에 대한 명령줄 옵션을 정의하고 분석할 수 있어 매우 편리하다.github.com/aws/aws-sdk-go
AWS 공식 SDK, Go 버전입니다.말할 것도 없이, 이ecspresso가 없으면 성립할 수 없다.
ECS뿐 아니라 AWS의 서비스별 기능 추가추종이 빠르고, 새로운 기능이 있는 방송일 때는 이미 최신 SDK로도 이용할 수 있는 상태가 된 경우가 많아 감사하다.
github.com/fatih/color
터미널에서 텍스트 색칠을 하는 프로그램 라이브러리입니다.
diff
, verify
명령의 출력에 색을 더해서 보기 편하도록 사용합니다.github.com/fujiwara/tfstate-lookup
졸작입니다.는 Terraform의 State 파일을 검색하고 값을 체크 아웃하는 라이브러리입니다.
ecspresso에서 tfstate를 읽으면 편리하다는 생각이 들 때ecspresso에 국한되지 않는 용례가 있는 것 같아서 따로 포장했습니다.
github.com/google/go-cmp
복잡한 구조를 가진 값을 간단하게 비교하기 위한 라이브러리입니다.테스트에 사용합니다.
github.com/kayac/go-config
이것은 5일차 템플릿 메모에 설명된 설정 파일과 정의 파일을 템플릿 처리하는 프로그램 라이브러리입니다.Go 표준 text/template를 사용하면 YAML, JSON, TOML 형식의 파일을 템플릿 처리한 후에 읽을 수 있습니다.
github.com/kylelemons/godebug
이것은 Pretty printing에 사용되는 라이브러리입니다.
diff
명령을 생성하는 데 사용되는 출력 결과입니다.github.com/mattn/go-isatty
터미널의 동작 여부를 판별하는 프로그램 라이브러리입니다.터미널 동작을 할 때, 착색은 기본적으로 ON이고, 터미널이 아닌 경우 off로 되어 있으며, 이러한 제어에 사용됩니다.
github.com/morikuni/aec
터미널의 탈출 서열을 처리하는 프로그램 라이브러리입니다.
deploy
터미널의 같은 줄에 명령 등을 통해 정기적으로 업데이트되는 이벤트 로그를 표시하는 데 사용됩니다.github.com/pkg/errors
오류를 처리하는 프로그램 라이브러리입니다.상류로 발생
error
을 전송할 때 호출원의 정보를 추가하기 위해 사용합니다.gopkg.in/yaml.v2
YAML을 처리하는 라이브러리입니다.
appspec
명령은 AppSpec 파일을 YAML 형식으로 출력하는 데 사용됩니다.각 OSS 작성자와 멤버들에게 다시 한 번 감사드립니다.감사합니다.
23일째에ecspresso가 ECS의 새로운 기능을 어떻게 따라잡았는지 설명할 것이다.
Reference
이 문제에 관하여(ecspresso advent calendar 2020 day 22 - OSS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/fujiwara/articles/ecspresso-20201222텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)