golang bedrock
1.0.0
ObservabilityAI: RESTful API Golang에 대한 Amazon 기반암 분석
이미지 이름 | 크기 |
---|---|
devopscorner/golang-bedrock:latest | |
devopscorner/golang-bedrock:alpine | |
devopscorner/golang-bedrock:alpine-latest | |
devopscorner/golang-bedrock:alpine-3.18 |
.
├── cmd
│ └── migrate_file_upload.go
├── config
│ ├── config.go
│ ├── const.go
│ ├── logger.go
│ └── value.go
├── controller
│ ├── file_controller.go
│ └── login_controller.go
├── driver
│ ├── db.go
│ ├── mysql.go
│ ├── psql.go
│ └── sqlite.go
├── go.mod
├── go.sum
├── golang-bedrock.db
├── .env.example
├── main.go
├── middleware
│ └── auth_middleware.go
├── model
│ └── file.go
├── repository
│ └── file_repository.go
├── routes
│ ├── file_routes.go
│ └── main_routes.go
├── utility
│ ├── bedrock.go
│ ├── genid.go
│ ├── loki.go
│ ├── otel.go
│ ├── prometheus.go
│ └── s3.go
└── view
├── error_view.go
├── file_view.go
└── login_view.go
11 directories, 30 files
기본값
GIN_MODE=release
APP_URL=http://0.0.0.0
APP_PORT=8080
AWS_REGION=us-west-2
AWS_ACCESS_KEY=YOUR_AWS_KEY
AWS_SECRET_KEY_ID=YOUR_SECRET_KEY
AWS_BUCKET_NAME=devopscorner-bedrock
JWT_AUTH_USERNAME=devopscorner
JWT_AUTH_PASSWORD=DevOpsCorner2024
JWT_SECRET=s3cr3t
LOG_LEVEL=INFO
멀티 드라이버 연결
# default
DB_CONNECTION=sqlite
---
Available for:
- sqlite
- mysql
- postgres
AWS X-Ray(AWS 유통 추적 시스템)
XRAY_VERSION
: 데몬 버전 X-Ray
latest
: 사용 가능한 최신 버전의 AWS X-Ray 데몬을 사용합니다.3.x
: AWS X-Ray 데몬 버전 3.x를 사용합니다.2.x
: AWS X-Ray 데몬 버전 2.x를 사용합니다.1.x
: AWS X-Ray 데몬 버전 1.x를 사용합니다.`XRAY_DAEMON_ENDPOINT: X-Ray의 데몬 엔드포인트
XRAY_DAEMON_ENDPOINT=http://localhost:2000
`XRAY_DAEMON_PORT: X-Ray의 데몬 엔드포인트 포트
XRAY_DAEMON_PORT=2000
프로메테우스
PROMETHEUS_ENDPOINT=http://localhost:9090
PROMETHEUS_PORT=9090
로키
LOKI_ENDPOINT=http://0.0.0.0:3100
LOKI_PORT=3100
그라파나
GRAFANA_ENDPOINT=http://localhost:3000
GRAFANA_PORT=3000
GRAFANA_API_KEY=YOUR_GRAFANA_API_KEY
오픈텔레메트리
OTEL_INSTRUMENTATION_METRIC_ENABLED=true
OTEL_INSTRUMENTATION_TRACE_ENABLED=true
OTEL_INSTRUMENTATION_LOG_ENABLED=true
# Trace Type: xray / jaeger
OTEL_INSTRUMENTATION_TRACE_NAME=jaeger
OTEL_ENVIRONMENT=nonprod
OTEL_SERVICE_NAME=golang-bedrock
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
OTEL_EXPORTER_OTLP_PORT=4317
OTEL_EXPORTER_OTLP_INSECURE=true
OTEL_EXPORTER_OTLP_HEADERS=
OTEL_RESOURCE_ATTRIBUTES=
Jaeger 환경
JAEGER_SERVICE_NAME
: 계측 중인 서비스의 이름( JAEGER_SERVICE_NAME
= OTEL_SERVICE_NAME
).JAEGER_AGENT_HOST
: 추적 데이터 전송에 사용할 Jaeger 에이전트의 호스트 이름 또는 IP 주소입니다.JAEGER_AGENT_PORT
: 추적 데이터 전송에 사용할 Jaeger 에이전트의 포트 번호입니다.JAEGER_SAMPLER_TYPE
: 추적에 사용할 샘플링 유형입니다(예: const, probabilistic, rateLimiting, 원격).JAEGER_SAMPLER_PARAM
: 선택한 샘플러 유형에 사용할 매개변수 값입니다.JAEGER_SAMPLER_MANAGER_HOST_PORT
: 사용할 원격 샘플링 관리자의 호스트 이름 및 포트입니다(원격 샘플링을 사용하는 경우).JAEGER_REPORTER_LOG_SPANS
: 범위를 Jaeger 에이전트로 보내는 대신 로그할 것인지 여부(예: true 또는 false).JAEGER_REPORTER_MAX_QUEUE_SIZE
: Jaeger 에이전트로 전송되기 전에 대기할 수 있는 최대 범위 수입니다.JAEGER_REPORTER_FLUSH_INTERVAL
: 스팬 대기열을 플러시하고 스팬을 Jaeger 에이전트에 보내는 간격입니다(예: 1 * time.Second).JAEGER_REPORTER_LOCAL_AGENT_HOST_PORT
: HTTP 대신 UDP를 사용하는 경우 로컬 Jaeger 에이전트의 호스트 및 포트입니다.JAEGER_REPORTER_COLLECTOR_ENDPOINT
: Jaeger 수집기의 엔드포인트 URL(예: http://localhost:14268/api/traces
).JAEGER_REPORTER_COLLECTOR_USER
: 필요한 경우 Jaeger 수집기로 인증하기 위한 사용자 이름입니다.JAEGER_REPORTER_COLLECTOR_PASSWORD
: 필요한 경우 Jaeger 수집기로 인증하기 위한 비밀번호입니다.JAEGER_TAGS
: 추적에 첨부할 추가 태그(예: key1=value1,key2=value2). 도커 버전
docker version
Client:
Version: 27.1.1-rd
API version: 1.46
Go version: go1.21.12
Git commit: cdc3063
Built: Wed Jul 24 17:06:24 2024
OS/Arch: darwin/arm64
Context: default
Docker-Compose 버전
docker-compose -v
---
Docker Compose version v2.29.1
AWS CLI
aws --version
---
aws-cli/2.9.16 Python/3.9.11 Darwin/23.6.0 exe/x86_64 prompt/off
테라폼 CLI
terraform version
---
Terraform v1.8.4
on darwin_arm64
- provider registry.terraform.io/hashicorp/aws v3.74.3
- provider registry.terraform.io/hashicorp/local v2.1.0
- provider registry.terraform.io/hashicorp/null v3.1.0
- provider registry.terraform.io/hashicorp/random v3.1.0
- provider registry.terraform.io/hashicorp/time v0.7.2
오픈두부 CLI
tofu --version ─╯
---
OpenTofu v1.7.3
on darwin_arm64
Terraform / OpenTofu / Terragrunt 환경 Cli
tenv --version ─╯
---
tenv version 3.1.0
Golang 버전 관리자(GVM)
gvm version
---
Go Version Manager v1.0.22 installed at /Users/devopscorner/.gvm
골랭 버전
go version
---
go version go1.21.4 darwin/arm64
이 저장소에 민감한 정보를 푸시하지 않았는지 확인하세요.