gomeet

command module
v0.0.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2018 License: Apache-2.0 Imports: 0 Imported by: 0

README

Gomeet

Apache 2.0 License

The main gomeet's tools (generator, protoc plugin) and the main gomeet's library.

WARNING: dev in progress

Installing

To install simply use go get.

$ go get -u github.com/gomeet/gomeet/gomeet

Or use git

git clone https://github.com/gomeet/gomeet.git $GOPATH/src/github.com/gomeet/gomeet
cd $GOPATH/src/github.com/gomeet/gomeet
make install

Usage

$ gomeet help
Usage:
  gomeet [command]

Available Commands:
  help        Help about any command
  new         Create a new microservice
  version     Return version

Flags:
  -h, --help   help for gomeet

Use "gomeet [command] --help" for more information about a command.

The new command usage

$ gomeet help new
Create a new microservice

Usage:
  gomeet new [name] [flags]

Flags:
      --cron-tasks string          Cron tasks (comma separated)
      --db-types string            DB types [mysql,postgres,postgis,sqlite,mssql] (comma separated)
      --default-port string        Default port (default "50051")
      --default-prefixes string    List of prefixes (comma separated) (default "svc-,gomeet-svc-")
      --extra-serve-flags string   extra serve flags passed to gRPC server format [<name-of-flag>@<type-of-flag[string|int]>|<flag description (no comma, no semicolon, no colon)>|<default value>] (comma separated)
      --force                      Replace files if exists
  -h, --help                       help for new
      --no-gogo                    if is true the protoc plugin is protoc-gen-go else it's protoc-gen-gogo in the Makefile file
      --proto-alias string         Protobuf pakage alias (default "pb")
      --queue-types string         Queue types [memory,rabbitmq,zeromq,sqs] (comma separated)
      --sub-services string        Sub services dependencies (comma separated)
      --ui-type string             UI type [none|simple|elm|elm-bulma|elm-milligram|elm-minimal|elm-minimal-http] (default "none")

Use case

Generation of github.com/gomeet-examples/svc-echo service with the gomeet new command.

$ gomeet new github.com/gomeet-examples/svc-echo
Creating project in <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo
Is this OK? [y]es/[N]o
y
2018/02/14 18:25:58 [Creating]  - <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo/Gopkg.toml
...SNIP...
2018/02/14 18:25:59 [Creating]  - <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo/docs/devel/add_sub_service/README.md

Print tree? [y]es/[N]o
y
.
├── third_party
│   ├── github.com
│   │   ├── gogo
│   │   │   └── protobuf
│   │   │       └── gogoproto
│   │   │           └── gogo.proto
...SNIP...

To finish project initialization do :
  $ cd <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo
  $ git init
  $ git add .
  $ git commit -m 'First commit (gomeet new <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo)'
  $ make tools-sync proto dep test
  $ git add .
  $ git commit -m 'Added tools and dependencies'

Do it? [y]es/[N]o
y
<YOUR_GOPATH>/github.com/gomeet-examples/svc-echo $ git init
...SNIP...

To git flow initialization do :
  $ cd <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo
  $ git flow init -d

Do it? [y]es/[N]o
y
<YOUR_GOPATH>/github.com/gomeet-examples/svc-echo $ git flow init -d

Which branch should be used for bringing forth production releases?
...SNIP...

TODO

  • Units tests
  • Add an use case see gomeet-examples
  • Add ui generator
  • Use bazel for build?
  • Improvements
  • Add make package-<OS>-<ARCH> directives
  • Bug fix colision name for sub services definitions
  • Support for flags or ENV VAR in service/service_test.go
  • Make releases on github or gogs
  • Add hack/run.sh on project generator

Similar projects

License

gomeet and protoc-gen-gomeet-service are released under the Apache 2.0 license. See the LICENSE file for details.

Documentation

Overview

gomeet is the main gomeet's tools (generator, protoc plugin) and the main gomeet's library.

Directories

Path Synopsis
_tools
src/github.com/astaxie/bat
Bat is a Go implemented CLI cURL-like tool for humans bat [flags] [METHOD] URL [ITEM [ITEM]]
Bat is a Go implemented CLI cURL-like tool for humans bat [flags] [METHOD] URL [ITEM [ITEM]]
src/github.com/astaxie/bat/httplib
Usage: import "github.com/astaxie/beego/httplib" b := httplib.Post("http://beego.me/") b.Param("username","astaxie") b.Param("password","123456") b.PostFile("uploadfile1", "httplib.pdf") b.PostFile("uploadfile2", "httplib.txt") str, err := b.String() if err != nil { t.Fatal(err) } fmt.Println(str) more docs http://beego.me/docs/module/httplib.md
Usage: import "github.com/astaxie/beego/httplib" b := httplib.Post("http://beego.me/") b.Param("username","astaxie") b.Param("password","123456") b.PostFile("uploadfile1", "httplib.pdf") b.PostFile("uploadfile2", "httplib.txt") str, err := b.String() if err != nil { t.Fatal(err) } fmt.Println(str) more docs http://beego.me/docs/module/httplib.md
src/github.com/fsnotify/fsnotify
Package fsnotify provides a platform-independent interface for file system notifications.
Package fsnotify provides a platform-independent interface for file system notifications.
src/github.com/fullstorydev/grpchan/cmd/protoc-gen-grpchan
Command protoc-gen-grpchan is a protoc plugin that generates gRPC client stubs in Go that use github.com/fullstorydev/grpchan.Channel as their transport abstraction, instead of using *grpc.ClientConn.
Command protoc-gen-grpchan is a protoc plugin that generates gRPC client stubs in Go that use github.com/fullstorydev/grpchan.Channel as their transport abstraction, instead of using *grpc.ClientConn.
src/github.com/gogo/protobuf/gogoproto
Package gogoproto provides extensions for protocol buffers to achieve: - fast marshalling and unmarshalling.
Package gogoproto provides extensions for protocol buffers to achieve: - fast marshalling and unmarshalling.
src/github.com/gogo/protobuf/plugin/defaultcheck
The defaultcheck plugin is used to check whether nullable is not used incorrectly.
The defaultcheck plugin is used to check whether nullable is not used incorrectly.
src/github.com/gogo/protobuf/plugin/description
The description (experimental) plugin generates a Description method for each message.
The description (experimental) plugin generates a Description method for each message.
src/github.com/gogo/protobuf/plugin/embedcheck
The embedcheck plugin is used to check whether embed is not used incorrectly.
The embedcheck plugin is used to check whether embed is not used incorrectly.
src/github.com/gogo/protobuf/plugin/enumstringer
The enumstringer (experimental) plugin generates a String method for each enum.
The enumstringer (experimental) plugin generates a String method for each enum.
src/github.com/gogo/protobuf/plugin/equal
The equal plugin generates an Equal and a VerboseEqual method for each message.
The equal plugin generates an Equal and a VerboseEqual method for each message.
src/github.com/gogo/protobuf/plugin/face
The face plugin generates a function will be generated which can convert a structure which satisfies an interface (face) to the specified structure.
The face plugin generates a function will be generated which can convert a structure which satisfies an interface (face) to the specified structure.
src/github.com/gogo/protobuf/plugin/gostring
The gostring plugin generates a GoString method for each message.
The gostring plugin generates a GoString method for each message.
src/github.com/gogo/protobuf/plugin/marshalto
The marshalto plugin generates a Marshal and MarshalTo method for each message.
The marshalto plugin generates a Marshal and MarshalTo method for each message.
src/github.com/gogo/protobuf/plugin/oneofcheck
The oneofcheck plugin is used to check whether oneof is not used incorrectly.
The oneofcheck plugin is used to check whether oneof is not used incorrectly.
src/github.com/gogo/protobuf/plugin/populate
The populate plugin generates a NewPopulated function.
The populate plugin generates a NewPopulated function.
src/github.com/gogo/protobuf/plugin/size
The size plugin generates a Size or ProtoSize method for each message.
The size plugin generates a Size or ProtoSize method for each message.
src/github.com/gogo/protobuf/plugin/stringer
The stringer plugin generates a String method for each message.
The stringer plugin generates a String method for each message.
src/github.com/gogo/protobuf/plugin/testgen
The testgen plugin generates Test and Benchmark functions for each message.
The testgen plugin generates Test and Benchmark functions for each message.
src/github.com/gogo/protobuf/plugin/union
The onlyone plugin generates code for the onlyone extension.
The onlyone plugin generates code for the onlyone extension.
src/github.com/gogo/protobuf/plugin/unmarshal
The unmarshal plugin generates a Unmarshal method for each message.
The unmarshal plugin generates a Unmarshal method for each message.
src/github.com/gogo/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
src/github.com/gogo/protobuf/protoc-gen-gogo/descriptor
Package descriptor provides functions for obtaining protocol buffer descriptors for generated Go types.
Package descriptor provides functions for obtaining protocol buffer descriptors for generated Go types.
src/github.com/gogo/protobuf/protoc-gen-gogo/generator
The code generator for the plugin for the Google protocol buffer compiler.
The code generator for the plugin for the Google protocol buffer compiler.
src/github.com/gogo/protobuf/protoc-gen-gogo/grpc
Package grpc outputs gRPC service descriptions in Go code.
Package grpc outputs gRPC service descriptions in Go code.
src/github.com/gogo/protobuf/protoc-gen-gogo/plugin
Package plugin_go is a generated protocol buffer package.
Package plugin_go is a generated protocol buffer package.
src/github.com/golang/dep
Package dep is a prototype dependency management library.
Package dep is a prototype dependency management library.
src/github.com/golang/dep/cmd/dep
Dep is a tool for managing dependencies for Go projects Usage: "dep [command]" Commands: init Initialize a new project with manifest and lock files status Report the status of the project's dependencies ensure Ensure a dependency is safely vendored in the project prune Prune the vendor tree of unused packages version Show the dep version information Examples: dep init set up a new project dep ensure install the project's dependencies dep ensure -update update the locked versions of all dependencies dep ensure -add github.com/pkg/errors add a dependency to the project Use "dep help [command]" for more information about a command.
Dep is a tool for managing dependencies for Go projects Usage: "dep [command]" Commands: init Initialize a new project with manifest and lock files status Report the status of the project's dependencies ensure Ensure a dependency is safely vendored in the project prune Prune the vendor tree of unused packages version Show the dep version information Examples: dep init set up a new project dep ensure install the project's dependencies dep ensure -update update the locked versions of all dependencies dep ensure -add github.com/pkg/errors add a dependency to the project Use "dep help [command]" for more information about a command.
src/github.com/golang/dep/gps
Package gps is a Go packaging solver library.
Package gps is a Go packaging solver library.
src/github.com/golang/dep/gps/internal/pb
Package pb provides generated Protocol Buffers for cache serialization.
Package pb provides generated Protocol Buffers for cache serialization.
src/github.com/golang/glog
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
src/github.com/golang/protobuf/jsonpb
Package jsonpb provides marshaling and unmarshaling between protocol buffers and JSON.
Package jsonpb provides marshaling and unmarshaling between protocol buffers and JSON.
src/github.com/golang/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
src/github.com/golang/protobuf/protoc-gen-go/generator
The code generator for the plugin for the Google protocol buffer compiler.
The code generator for the plugin for the Google protocol buffer compiler.
src/github.com/golang/protobuf/protoc-gen-go/generator/internal/remap
Package remap handles tracking the locations of Go tokens in a source text across a rewrite by the Go formatter.
Package remap handles tracking the locations of Go tokens in a source text across a rewrite by the Go formatter.
src/github.com/golang/protobuf/protoc-gen-go/grpc
Package grpc outputs gRPC service descriptions in Go code.
Package grpc outputs gRPC service descriptions in Go code.
src/github.com/golang/protobuf/protoc-gen-go/plugin
Package plugin_go is a generated protocol buffer package.
Package plugin_go is a generated protocol buffer package.
src/github.com/gomeet/go-proto-gomeetfaker
Package gomeetfaker is a generated protocol buffer package.
Package gomeetfaker is a generated protocol buffer package.
src/github.com/grpc-ecosystem/grpc-gateway/codegenerator
Package codegenerator contains reusable functions used by the code generators.
Package codegenerator contains reusable functions used by the code generators.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
Command protoc-gen-grpc-gateway is a plugin for Google protocol buffer compiler to generate a reverse-proxy, which converts incoming RESTful HTTP/1 requests gRPC invocation.
Command protoc-gen-grpc-gateway is a plugin for Google protocol buffer compiler to generate a reverse-proxy, which converts incoming RESTful HTTP/1 requests gRPC invocation.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway/generator
Package generator provides an abstract interface to code generators.
Package generator provides an abstract interface to code generators.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway/gengateway
Package gengateway provides a code generator for grpc gateway files.
Package gengateway provides a code generator for grpc gateway files.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/genswagger
Package genswagger provides a code generator for swagger.
Package genswagger provides a code generator for swagger.
src/github.com/grpc-ecosystem/grpc-gateway/utilities
Package utilities provides members for internal use in grpc-gateway.
Package utilities provides members for internal use in grpc-gateway.
src/github.com/hashicorp/hcl
Package hcl decodes HCL into usable Go structures.
Package hcl decodes HCL into usable Go structures.
src/github.com/hashicorp/hcl/hcl/ast
Package ast declares the types used to represent syntax trees for HCL (HashiCorp Configuration Language)
Package ast declares the types used to represent syntax trees for HCL (HashiCorp Configuration Language)
src/github.com/hashicorp/hcl/hcl/parser
Package parser implements a parser for HCL (HashiCorp Configuration Language)
Package parser implements a parser for HCL (HashiCorp Configuration Language)
src/github.com/hashicorp/hcl/hcl/printer
Package printer implements printing of AST nodes to HCL format.
Package printer implements printing of AST nodes to HCL format.
src/github.com/hashicorp/hcl/hcl/scanner
Package scanner implements a scanner for HCL (HashiCorp Configuration Language) source text.
Package scanner implements a scanner for HCL (HashiCorp Configuration Language) source text.
src/github.com/hashicorp/hcl/hcl/token
Package token defines constants representing the lexical tokens for HCL (HashiCorp Configuration Language)
Package token defines constants representing the lexical tokens for HCL (HashiCorp Configuration Language)
src/github.com/jhump/protoreflect/desc
Package desc contains "rich descriptors" for protocol buffers.
Package desc contains "rich descriptors" for protocol buffers.
src/github.com/jhump/protoreflect/internal
Package internal contains some code that should not be exported but needs to be shared across more than one of the protoreflect sub-packages.
Package internal contains some code that should not be exported but needs to be shared across more than one of the protoreflect sub-packages.
src/github.com/jteeuwen/go-bindata
bindata converts any file into managable Go source code.
bindata converts any file into managable Go source code.
src/github.com/magiconair/properties
Package properties provides functions for reading and writing ISO-8859-1 and UTF-8 encoded .properties files and has support for recursive property expansion.
Package properties provides functions for reading and writing ISO-8859-1 and UTF-8 encoded .properties files and has support for recursive property expansion.
src/github.com/mitchellh/mapstructure
Package mapstructure exposes functionality to convert an arbitrary map[string]interface{} into a native Go structure.
Package mapstructure exposes functionality to convert an arbitrary map[string]interface{} into a native Go structure.
src/github.com/mwitkow/go-proto-validators
Package validator is a generated protocol buffer package.
Package validator is a generated protocol buffer package.
src/github.com/mwitkow/go-proto-validators/plugin
The validator plugin generates a Validate method for each message.
The validator plugin generates a Validate method for each message.
src/github.com/pelletier/go-toml
Package toml is a TOML parser and manipulation library.
Package toml is a TOML parser and manipulation library.
src/github.com/pseudomuto/protoc-gen-doc
Package gendoc is a protoc plugin for generating documentation from your proto files.
Package gendoc is a protoc plugin for generating documentation from your proto files.
src/github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc
protoc-gen-doc is used to generate documentation from comments in your proto files.
protoc-gen-doc is used to generate documentation from comments in your proto files.
src/github.com/pseudomuto/protokit
Package protokit is a library that makes it easy to create your own protoc plugins.
Package protokit is a library that makes it easy to create your own protoc plugins.
src/github.com/spf13/cast
Package cast provides easy and safe casting in Go.
Package cast provides easy and safe casting in Go.
src/github.com/spf13/cobra
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
src/github.com/spf13/pflag
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
src/github.com/square/certstrap/Godeps/_workspace/src/github.com/codegangsta/cli
Package cli provides a minimal framework for creating and organizing command line Go applications.
Package cli provides a minimal framework for creating and organizing command line Go applications.
src/github.com/square/certstrap/Godeps/_workspace/src/golang.org/x/crypto/ssh/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
src/golang.org/x/sys/unix
Package unix contains an interface to the low-level operating system primitives.
Package unix contains an interface to the low-level operating system primitives.
src/golang.org/x/text/transform
Package transform provides reader and writer wrappers that transform the bytes passing through as well as various transformations.
Package transform provides reader and writer wrappers that transform the bytes passing through as well as various transformations.
src/golang.org/x/text/unicode/norm
Package norm contains types and functions for normalizing Unicode strings.
Package norm contains types and functions for normalizing Unicode strings.
src/gopkg.in/yaml.v2
Package yaml implements YAML support for the Go language.
Package yaml implements YAML support for the Go language.
cmd
Command protoc-gen-gomeet-service is a plugin for Google protocol buffer compiler to generate a Gomeet project's microservices, which create a the project's gRPC services definitions with it's console, cli client and some sugar.
Command protoc-gen-gomeet-service is a plugin for Google protocol buffer compiler to generate a Gomeet project's microservices, which create a the project's gRPC services definitions with it's console, cli client and some sugar.
utils is the main gomeet's library.
utils is the main gomeet's library.
geo
grpc-middlewares/acl
`acl` a generic ACL server-side middleware for gRPC.
`acl` a generic ACL server-side middleware for gRPC.
jwt
log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL