Skip to content

go-kratos/kratos-layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c2db5f5 · Aug 17, 2024
Aug 17, 2024
Sep 15, 2022
Aug 17, 2024
Feb 28, 2024
Dec 12, 2022
Sep 15, 2022
Nov 10, 2022
Feb 28, 2024
Dec 6, 2020
Aug 17, 2024
Jan 19, 2022
Aug 17, 2024
Aug 17, 2024
Jun 2, 2022

Repository files navigation

Kratos Project Template

Install Kratos

go install github.com/go-kratos/kratos/cmd/kratos/v2@latest

Create a service

# Create a template project
kratos new server

cd server
# Add a proto template
kratos proto add api/server/server.proto
# Generate the proto code
kratos proto client api/server/server.proto
# Generate the source code of service by proto file
kratos proto server api/server/server.proto -t internal/service

go generate ./...
go build -o ./bin/ ./...
./bin/server -conf ./configs

Generate other auxiliary files by Makefile

# Download and update dependencies
make init
# Generate API files (include: pb.go, http, grpc, validate, swagger) by proto file
make api
# Generate all files
make all

Automated Initialization (wire)

# install wire
go get github.com/google/wire/cmd/wire

# generate wire
cd cmd/server
wire

Docker

# build
docker build -t <your-docker-image-name> .

# run
docker run --rm -p 8000:8000 -p 9000:9000 -v </path/to/your/configs>:/data/conf <your-docker-image-name>