Categorygithub.com/crewlinker/clgo
module
0.39.2
Repository: https://github.com/crewlinker/clgo.git
Documentation: pkg.go.dev

# README

clgo Test Checks

Opinionated but Re-usable Go libraries for the Crewlinker platform

usage

  • Setup the development environment mage -v dev
  • Run the full test suite: mage -v test
  • To release a new version: mage -v release v0.1.1

backlog

  • SHOULD update github.com/caarlos0/env/v6 to v8
  • MUST include a mechanism to provide isolated schemas to tests, using a "versioned" migration strategy in a migraiton directory
  • MUST include tracing, and re-add the test for contextual postgres logging (from the old 'back' repo)
  • SHOULD upgrade otel packages when otelsql package is supported
  • SHOULD add the Atlasgo github integration for checking migrations
  • SHOULD Allow configuration of the postgres application name to diagnose connections
  • SHOULD allow iam authentication to a database
  • SHOULD test our clserve.Handle with http2 server/client
  • SHOULD test our clserve.Handle with websocket hijack/upgrade
  • COULD develop metric middleware for aws client so we can measure (average) latency (per service?)?

Correct Otel dependencies

OTEL is still a bit of a moving target. So if the dependencies break after running go mod tidy. This is the set of constraints that should make it right.

	go.opentelemetry.io/contrib/detectors/aws/ecs v1.12.0
	go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.37.0
	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.37.0
	go.opentelemetry.io/contrib/propagators/aws v1.12.0
	go.opentelemetry.io/otel v1.11.2
	go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.34.0
	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2
	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.2
	go.opentelemetry.io/otel/metric v0.34.0
	go.opentelemetry.io/otel/sdk v1.11.2
	go.opentelemetry.io/otel/sdk/metric v0.34.0
	go.opentelemetry.io/otel/trace v1.11.2

# Packages

Package clauthn provides re-usable authentication (AuthN).
Package clauthz provides Authorization (AuthZ) functionality.
Package claws provides the official AWS SDK (v2).
Package clbuildinfo provides the official AWS SDK (v2).
Package clcdk contains reusable infrastructruce components using AWS CDK.
Package clconfig provides re-usable configuration utilities.
Package clconnect provides generic fx dependency for standard ConnectRPC services.
Package clent includes re-usable components for working with the Ent ORM.
Package clenv provides functionality to work with environment variables.
Package clhealth provides healthcheck functionality.
Package clid implements a prefixed ulid ID type.
Package cllambda providees reusable fx code for building AWS Lambda infra.
Package clmysql provides modules for interacting with MySQL.
Package cloapi provides an OpenAPI specced primitives.
Package clory provides ory-powered auth functionality.
Package clotel provides re-usable components for OpenTelemetry integration.
Package clpostgres provides re-usable components for using PostgreSQL.
Package clredis provides reusable components for using Redis.
Package clsentry provides Sentry error reporting.
Package clwebserver implements serving of HTTP.
Package clworkos provides auth-flow middleware and endpoint using WorkOS.
Package clzap provides logging using the zap logging library.
Package main defines automation targets using Magefile.