Skip to content

v4.0

Compare
Choose a tag to compare
@zeroc0d3 zeroc0d3 released this 15 Mar 08:40
· 1246 commits to master since this release

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
devopscorner/bookstore:alpine docker image size
devopscorner/bookstore:alpine-latest docker image 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: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

Alpine (Depreciated)

Image name Size
devopscorner/bookstore:go1.18-alpine3.15 docker image size
devopscorner/bookstore:go1.18-alpine3.16 docker image size

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