Kubernetes Deployment for Simple Golang API (Bookstore) --- Mirror Repository from GitHub, GitLab, BitBucket, Azure DevOps to AWS CodeCommit --- GO Repository Pattern
APACHE-2.0 License
Bot releases are visible (Hide)
Kubernetes Deployment for Simple Golang API
Image name | Size |
---|---|
devopscorner/bookstore:go1.18-alpine3.15 |
|
devopscorner/bookstore:go1.18-alpine3.16 |
Repository Pattern
with View for rendering JSON parse response and Const for error response
.
├── .env
├── .env.example
├── config
│ ├── config.go
│ ├── config_test.go
│ └── const.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
└── view
├── book_view.go
├── error_view.go
└── login_view.go
9 directories, 29 files
config/const.go
--> Internationalization (i18n)
ERR_INVALID_BOOK_ID = "Invalid book ID"
ERR_INVALID_REQUEST_PAYLOAD = "Invalid request payload"
ERR_INVALID_CREDENTIALS = "Invalid credentials"
ERR_BOOK_NOT_FOUND = "Book not found!"
ERR_UPDATE_BOOK = "Failed to update book"
ERR_DELETE_BOOK = "Failed to delete book"
.codecatalyst
folderAll 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
Published by zeroc0d3 over 1 year ago
Kubernetes Deployment for Simple Golang API
Image name | Size |
---|---|
devopscorner/bookstore:go1.18-alpine3.15 |
|
devopscorner/bookstore:go1.18-alpine3.16 |
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
.
├── 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
PORT=8080
DBNAME=go-bookstore.db
GIN_MODE=release
AUTH_USERNAME=devopscorner
AUTH_PASSWORD=DevOpsCorner@2023
JWT_SECRET=s3cr3t
Published by zeroc0d3 over 1 year ago
Kubernetes Deployment for Simple Golang API
Image name | Size |
---|---|
devopscorner/bookstore:go1.18-alpine3.15 |
|
devopscorner/bookstore:go1.18-alpine3.16 |
.
├── 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
PORT=8080
DBNAME=go-bookstore.db
GIN_MODE=release
AUTH_USERNAME=devopscorner
AUTH_PASSWORD=DevOpsCorner@2023
JWT_SECRET=s3cr3t
Published by zeroc0d3 over 1 year ago
Kubernetes Deployment for Simple Golang API
Image name | Size |
---|---|
devopscorner/bookstore:go1.18-alpine3.15 |
|
devopscorner/bookstore:go1.18-alpine3.16 |
Published by zeroc0d3 over 1 year ago
Kubernetes Deployment for Simple Golang API
Image name | Size |
---|---|
devopscorner/bookstore:go1.18-alpine3.15 |
|
devopscorner/bookstore:go1.18-alpine3.16 |
cicd-aws-codepipeline.yml
)cicd-azure-devops.yml
)cicd-bitbucket.yml
)cicd-github.yml
)cicd-gitlab.yml
)cicd-jenkins.jenkinsfile
)Published by zeroc0d3 over 1 year ago
Kubernetes Deployment for Simple Golang API
Image name | Size |
---|---|
devopscorner/bookstore:go1.18-alpine3.15 |
|
devopscorner/bookstore:go1.18-alpine3.16 |
cicd-aws-codepipeline.yml
)cicd-azure-devops.yml
)cicd-bitbucket.yml
)cicd-github.yml
)cicd-gitlab.yml
)cicd-jenkins.jenkinsfile
)Dockerfile.alpine-3.15
for using golang version 1.19.3 for alpine-3.15 (golang:1.19.3-alpine3.15
)Dockerfile.alpine-3.16
for using golang version 1.19.5 for alpine-3.16 (golang:1.19.5-alpine3.16
)Dockerfile.alpine-3.17
for using golang version 1.19.5 for alpine-3.17 (golang:1.19.5-alpine3.17
)go.mod
& go.sum
.aws
).azure-devops
).bitbucket
).github
).gitlab
).jenkins
) CI/CD with Spinnaker CDmakefile
script automation for build, tag, push & pullPublished by zeroc0d3 over 1 year ago
Kubernetes Deployment for Simple Golang API
Image name | Size |
---|---|
devopscorner/bookstore:go1.18-alpine3.15 |
|
devopscorner/bookstore:go1.18-alpine3.16 |
Dockerfile.alpine-3.15
for using golang version 1.19.3 for alpine-3.15 (golang:1.19.3-alpine3.15
)Dockerfile.alpine-3.16
for using golang version 1.19.5 for alpine-3.16 (golang:1.19.5-alpine3.16
)Dockerfile.alpine-3.17
for using golang version 1.19.5 for alpine-3.17 (golang:1.19.5-alpine3.17
)go.mod
& go.sum
.aws
).azure-devops
).bitbucket
).github
).gitlab
).jenkins
) CI/CD with Spinnaker CDmakefile
script automation for build, tag, push & pullgolang:1.19.2-alpine3.15
& golang:1.19.2-alpine3.16
)go.mod
& go.sum
devopscorner/golang-deployment
gorm
model & sqlite connection driverPublished by zeroc0d3 almost 2 years ago
Kubernetes Deployment for Simple Golang API
golang:1.19.2-alpine3.15
& golang:1.19.2-alpine3.16
)go.mod
& go.sum
devopscorner/golang-deployment
gorm
model & sqlite connection driverPublished by zeroc0d3 about 2 years ago
Kubernetes Deployment for Simple Golang API
Published by zeroc0d3 about 2 years ago
Kubernetes Deployment for Simple Golang API
Published by zeroc0d3 about 2 years ago
Kubernetes Deployment for Simple Golang API
Published by zeroc0d3 about 2 years ago
Kubernetes Deployment for Simple Golang API
~/.ssh/known_hosts
for authorization host 3rd party repository~/.ssh/config
for authorization config ssh key 3rd party repositoryPublished by zeroc0d3 over 2 years ago
Kubernetes Deployment for Simple Golang API