go-types

module
v0.0.17 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2026 License: GPL-3.0

README

go-types

pipeline statuscoverage reportQuality Gate Status

go-types

This repo stores types used by many of my projects.

The aim of this repo is to save time and repeated code by unifying them in one single source.

Available Types

  • rabbitmq: RabbitMQ config management
  • redis: Redis config management
  • slog: slog logger config management
  • opentelemetry: opentelemetry config management
  • envelope: message envelope carrying trace context and payload for distributed tracing
  • smtp: SMTP server connection config management
  • notification: notification message with destination and severity level

Local development

I run every golang task (tests, vet, coverage…) inside a container, never against a host toolchain. The same image — harbor.windmaker.net/limani/base_golang_1_26 — is used in local development, CI and production, so the environment is identical everywhere.

The development container is defined in development/docker-compose.yml. It mounts the repo into /app and persists the Go module cache in development/gomodcache/ (git-ignored) so dependencies are not re-downloaded on every run.

Bring the container up and open a shell in it:

podman compose -f development/docker-compose.yml up -d
podman compose -f development/docker-compose.yml exec golang /bin/bash

Once inside, run any target, e.g.:

make test

Or execute command outside container:

make test
podman compose -f development/docker-compose.yml exec golang make test

Tear it down when finished:

podman compose -f development/docker-compose.yml down

Directories

Path Synopsis
types

Jump to

Keyboard shortcuts

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