Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 2.11 KB

README.md

File metadata and controls

69 lines (45 loc) · 2.11 KB

GoGen

Monorepo and service generator for Golang projects. It has been updated to work with Gitlab. If there are any missing features, please create a ticket in the DTP project in Jira, using the AD:S DevOps Ticket template.

This project is a binary that is installed locally, and will template an opinionated Golang project for you. It uses Gitlab GoGen to automatically generate CI/CD pipelines based on configuration within the project.

If you would like further details, please refer to the Knowledge Base.

Install

Linux / Mac

curl -fsSL https://raw.githubusercontent.com/fresh8gaming/gogen/trunk/install.sh | sh

Or

wget -q https://raw.githubusercontent.com/fresh8gaming/gogen/trunk/install.sh -O- | sh

Usage

Generate Monorepo

gogen repo /path/to/repo --team dmp --domain example

WARNING!

GoGen repo creation is not meant to be run over an existing repo. It is used to create a new repository ONLY.

Generate gRPC/HTTP Service

gogen does not distinguish between gRPC and HTTP services, but provides both as entry points to give you a false sense of control. Both commands create a service with HPP and gRPC routing, utilising grpc-gateway. This way, HTTP services can be documented with Swagger nicely.

gogen service grpc /path/to/repo --name neat-service

Or

gogen service http /path/to/repo --name neat-service

Generate cron

gogen can also generate code a basic cron service with its deploment with:

gogen service cron /path/to/repo --name neat-service

Generate crawler cron

gogen can also generate a feed crawler specific cron, where you can also specify weather this is an inplay crawler or not.

gogen service crawler-cron /path/to/repo --name neat-crawler

Or, for inplay.

gogen service crawler-cron /path/to/repo --name neat-crawler --inplay true