Skip to content

Generate golang microservices based on event-driven architecture

License

Notifications You must be signed in to change notification settings

go-gulfstream/gs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gs generator

Standard Tooling for Go-Gulfstream Development

Make golang microservices based on event-driven architecture

Status

Not ready for production. In the process of testing and fixing in internal projects.

Table of contents

Requirements

Install golang is recommended

Installation

From source

$ git clone git@github.com:go-gulfstream/gs.git
$ cd gs 
$ make build-linux 
$ make build-mac

Binary

$ go install github.com/go-gulfstream/gs/cmd/gs@latest

Docker

Repository

$ docker pull gulstream/gs:latest
$ docker run --rm docker.io/gulstream/gs:latest version

1. Create a new manifest file for project

With empty manifest file

$ gs manifest path/to/project

$ docker run -v path/to/project:/gs -w /gs docker.io/gulstream/gs:latest manifest /gs

With interactive mode

$ gs manifest -i path/to/project

With data example

$ gs manifest -d path/to/project 

$ docker run -v path/to/project:/gs -w /gs docker.io/gulstream/gs:latest manifest -d /gs

2. Initialize a new project

$ gs init path/to/project

$ docker run -v path/to/project:/gs -w /gs docker.io/gulstream/gs:latest init /gs

3. Add mutations

$ gs add path/to/project
$ gs apply path/to/project

OR short entry

$ gs add -a path/to/project 

OR See step 4

4. Apply changes to the project

Edit the path/to/project/gulfstream.yml manifest file

Add command mutations OR/AND event mutations

Then execute apply command:

$ gs apply path/to/project  

$ docker run -v path/to/project:/gs -w /gs docker.io/gulstream/gs:latest apply /gs

A short example

$ mkdir ~/myproject
$ gs manifest -d ~/myproject
$ gs init ~/myproject
$ gs add -a ~/myproject