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.
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
gogen repo /path/to/repo --team dmp --domain example
GoGen repo creation is not meant to be run over an existing repo. It is used to create a new repository ONLY.
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
gogen
can also generate code a basic cron service with its deploment with:
gogen service cron /path/to/repo --name neat-service
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