Gok
is a command line based tool to allow Golang developers to create a project
, within which golang
services and gateways can be written and configured for deployment to Google's Cloud Platform (GCP), specifically Google Kubernetes Engine.
The intention is to consolidate Kubernetes configuration for services into a single convention. The aim is to encourage teams to use a single convention to increase productivity and decrease learning curve for new team members.
This repo defines the implementation for the CLI subsystem of Gok. It also serves as the home for usage documentation for the Gok
tool.
- Node.js
- Direct Install
- Alternative, Recommendation for MacOS.
- Golang
- Direct Install
- Alternative, Recommendation for MacOS.
- Use Homebrew to install
go
- Use Homebrew to install
- gcloud
- kubectl
- protoc
- Installation Guide
- Alternative, Recommendation for MacOS.
- Use Homebrew to install
protobuf
- Use Homebrew to install
- git
- For MacOS users, this comes with XCode or the UNIX Command Line tools.
- Docker
- For MacOS users, recommend installing Docker Community Edition for Mac.
- Golang dependency manager dep
- make
- For MacOS users, this comes with XCode or the UNIX Command Line tools.
- *nix system such as:
- Apple MacOS (currently executing on MacOS 10.13.x High Sierra)
- Linux such as Ubuntu (not officially tested, but should work)
- BSD Unix (not officially tested, but should work)
- etc
Window's users could consider running a VM or installing "Windows Subsystem for Linux". Note: This is untested, and currently not supported.
Install the tooling via NPM. It should be installed globally.
Using the terminal, start a new shell of your choice, and enter the following:
npm i -g gokums-cli
Use the doctor
command to ensure your system is ready.
Again, via a Terminal shell:
gok doctor
If all is OK, you should see something like:
Checking gokums-cli... You're using latest 1.0.8
Checking Node.js... version 8.4.0 OK
Checking Golang... go version go1.9.4 darwin/amd64 OK
Checking gcloud... OK
Checking kubectl... OK
Checking protoc... version 3.5.1 OK
Checking git... OK
Checking docker... OK
Checking Golang dependency manager dep... OK
Checking make version... OK
Checking GOPATH... OK
Checking protoc-gen-go... OK
Checking protoc-gen-grpc-gateway... OK
Checking protoc-gen-govalidators... OK
Please refer to usage guide.