v4.0
Golang Deployment
Kubernetes Deployment for Simple Golang API
Available Tags
Alpine
Alpine (Depreciated)
Image name | Size |
---|---|
devopscorner/bookstore:go1.18-alpine3.15 |
|
devopscorner/bookstore:go1.18-alpine3.16 |
Changelog GO App
version 4.0
-
All features in version 3.5
-
Refactoring folder
Repository Pattern
with multiple driver ORM. ├── config │ ├── config.go │ └── config_test.go ├── controller │ ├── book_controller.go │ ├── book_controller_test.go │ ├── login_controller.go │ └── login_controller_test.go ├── driver │ ├── db.go │ ├── dynamo.go │ ├── mysql.go │ ├── psql.go │ └── sqlite.go ├── go-bookstore.db ├── go.mod ├── go.sum ├── main.go ├── main_test.go ├── middleware │ ├── auth_middleware.go │ └── auth_middleware_test.go ├── migrate_book.go.example ├── migrate_book_dynamo.go.example ├── model │ └── book.go ├── repository │ └── book_repository.go └── routes └── book_routes.go 8 directories, 23 files
-
Refactoring default environment variable
GIN_MODE=release APP_URL=http://localhost APP_PORT=8080 DB_CONNECTION=sqlite DB_REGION=ap-southeast-1 DB_HOST=localhost DB_PORT= DB_DATABASE=go-bookstore.db DB_USERNAME=root DB_PASSWORD= JWT_AUTH_USERNAME=devopscorner JWT_AUTH_PASSWORD=DevOpsCorner@2023 JWT_SECRET=s3cr3t
-
Added multi driver database connection via ORM
DB_CONNECTION=sqlite --- Available for: - sqlite - mysql - postgres - dynamo
-
DynamoDB Connection
DB_CONNECTION=dynamo --- DB_DATABASE --> Dynamo Table DB_REGION --> Dynamo Region
version 3.5
- All features in version 3.4
- Refactoring all folders for MVC Repository Pattern
. ├── config │ ├── config.go │ └── config_test.go ├── controller │ ├── book_controller.go │ ├── book_controller_test.go │ ├── login_controller.go │ └── login_controller_test.go ├── driver │ └── sqlite.go ├── go-bookstore.db ├── go.mod ├── go.sum ├── main.go ├── main_test.go ├── middleware │ ├── auth_middleware.go │ └── auth_middleware_test.go ├── migrate_book.go ├── model │ └── book.go ├── repository │ └── book_repository.go └── routes └── book_routes.go 7 directories, 18 files
- Added JWT Token for security authentification as Middleware
- Added Unit Test for Contoller, Repository & Main
- Added Default Environment Variables:
PORT=8080 DBNAME=go-bookstore.db GIN_MODE=release AUTH_USERNAME=devopscorner AUTH_PASSWORD=DevOpsCorner@2023 JWT_SECRET=s3cr3t
- Update Postman Collection for Automation Testing
- Setup .env to default entrypoint
- Added environment variable for docker-compose.yml