devopscorner
golang-deployment
Go

Kubernetes Deployment for Simple Golang API (Bookstore) --- Mirror Repository from GitHub, GitLab, BitBucket, Azure DevOps to AWS CodeCommit --- GO Repository Pattern

Last updated Jul 4, 2026
36
Stars
6
Forks
2
Issues
0
Stars/day
Attention Score
44
Language breakdown
Go 38.3%
Shell 28.1%
HCL 21.5%
Makefile 8.8%
Dockerfile 3.3%
โ–ธ Files click to expand
README

Golang Deployment

Kubernetes Deployment for Simple Golang API

goreport all contributors tags docker pulls download all download latest view clone issues pull requests forks stars license


Available Tags

Alpine

| Image name | Size | |------------|------| | devopscorner/bookstore:latest | docker image size default-latest latest | | devopscorner/bookstore:alpine | docker image size latest | | devopscorner/bookstore:alpine-latest | docker image size | | devopscorner/bookstore:alpine-3.16 | docker image size | | devopscorner/bookstore:go1.19-alpine3.16 | docker image size | | devopscorner/bookstore:go1.19.5-alpine3.16 | docker image size | | devopscorner/bookstore:alpine-3.17 | docker image size | | devopscorner/bookstore:go1.19-alpine3.17 | docker image size | | devopscorner/bookstore:go1.19.5-alpine3.17 | docker image size |

Previous Version - Alpine (Depreciated)

| Image name | Size | |------------|------| | devopscorner/bookstore:alpine-3.15 | docker image size | | devopscorner/bookstore:go1.19-alpine3.15 | docker image size | | devopscorner/bookstore:go1.19.3-alpine3.15 | docker image size | | devopscorner/bookstore:go1.18-alpine3.15 | docker image size | | devopscorner/bookstore:go1.18-alpine3.16 | docker image size |

Documentation

  • Index Documentation, go to this link
  • Build, Tag & Push container image to DockerHub, go to this link
  • Build, Tag & Push container image to Amazon ECR (Elastic Container Registry), go to this link
  • Workflow CI/CD Pipeline, go to this link
  • GitOps & GitOps DevSecOps Flow (Azure DevOps Pipeline), go to this link
  • Deployments:
- ArgoCD, detail here link - AWS CloudFormation, detail here link - AWS Developer Tools (AWS CodeCommit, AWS CodeBuild & AWS CodePipeline), detail here link - Amazon CodeCatalyst Pipeline, detail here link - Azure DevOps Pipeline, detail here link - Bitbucket Pipeline, detail here link - CircleCI Pipeline, detail here link - DroneCI Pipeline, detail here link - GitHub Action, detail here link - GitLab CI/CD, detail here link - Jenkins CI & Spinnaker CD, detail here link - Jenkins CI/CD, detail here link - OpenShift CI/CD, detail here link - SemaphoreCI, detail here link - Spinnaker CD, detail here link - Terraform AWS CodeBuild, AWS CodePipeline & Amazon SNS, detail here link - TravisCI, detail here link

GO Repository Pattern

  • Folder Structure
.
      โ”œโ”€โ”€ .env
      โ”œโ”€โ”€ .env.example
      โ”œโ”€โ”€ config
      โ”‚ย ย  โ”œโ”€โ”€ config.go
      โ”‚ย ย  โ”œโ”€โ”€ config_test.go
      โ”‚ย ย  โ””โ”€โ”€ const.go
      โ”œโ”€โ”€ controller
      โ”‚ย ย  โ”œโ”€โ”€ book_controller.go
      โ”‚ย ย  โ”œโ”€โ”€ bookcontrollertest.go
      โ”‚ย ย  โ”œโ”€โ”€ login_controller.go
      โ”‚ย ย  โ””โ”€โ”€ logincontrollertest.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
      โ”‚ย ย  โ””โ”€โ”€ authmiddlewaretest.go
      โ”œโ”€โ”€ migrate_book.go.example
      โ”œโ”€โ”€ migratebookdynamo.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

  • Environment Variables (Default)
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=
  JWTAUTHUSERNAME=devopscorner
  JWTAUTHPASSWORD=DevOpsCorner@2023
  JWT_SECRET=s3cr3t
  • Multi Driver Connection
DB_CONNECTION=sqlite
  ---
  Available for:
  - sqlite
  - mysql
  - postgres
  - dynamo
  • DynamoDB Connection
DB_CONNECTION=dynamo
  ---
  DB_DATABASE --> Dynamo Table
  DB_REGION   --> Dynamo Region

Reproduce Testing

  • RESTful API Testing, go to this link

Tested Environment

Versioning

  • Docker version
docker version

Client: Cloud integration: v1.0.22 Version: 20.10.17-rd API version: 1.41 Go version: go1.17.11 Git commit: c2e4e01 Built: Fri Jul 22 18:31:17 2022 OS/Arch: darwin/amd64 Context: default Experimental: true

  • Docker-Compose version
docker-compose -v
  ---
  Docker Compose version v2.11.1
  • AWS Cli
aws --version
  ---
  aws-cli/2.8.7 Python/3.9.11 Darwin/21.6.0 exe/x86_64 prompt/off
  • Terraform Cli
terraform version
  ---
  Terraform v1.3.5
  on darwin_amd64
  - 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
  • Terraform Environment Cli
tfenv -v
  ---
  tfenv 2.2.2
  • Golang Version Manager (GVM)
gvm version
  ---
  Go Version Manager v1.0.22 installed at /Users/devopscorner/.gvm
  • Golang Version
go version
  ---
  go version go1.19.6 darwin/arm64

Security Check

Make sure that you didn't push sensitive information in this repository

  • [ ] AWS Credentials (AWSACCESSKEY, AWSSECRETKEY)
  • [ ] AWS Account ID
  • [ ] AWS Resources ARN
  • [ ] Username & Password
  • [ ] Private (idrsa) & Public Key (idrsa.pub)
  • [ ] DNS Zone ID
  • [ ] APP & API Key

Copyright

  • Author: Dwi Fahni Denni (@zeroc0d3)
  • Vendor: DevOps Corner Indonesia (devopscorner.id)
  • License: Apache v2
๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท devopscorner/golang-deployment ยท Updated daily from GitHub