Files
hello-gin/CLAUDE.md
itumi a9bc589b43
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Initial commit with Woodpecker CI
2026-02-16 11:31:03 +02:00

1.4 KiB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

A minimal cloud-native Go web application using the Gin framework. Serves a greeting endpoint on port 8000 and exposes Prometheus metrics on port 8080. All application logic lives in cmd/main.go.

Build & Run Commands

# Build locally (requires Go 1.23+, toolchain 1.24.11)
go build -tags netgo -ldflags "-linkmode 'external' -extldflags '-static'" -o server ./cmd

# Run locally
GIN_MODE=release ./server

# Build and run via Docker Compose (ports 8000 + 8080)
docker-compose up --build

# Kubernetes deployment
kubectl apply -f deployment.yaml

Architecture

  • Single-file app (cmd/main.go): Dual Gin routers — app router on :8000, metrics router on :8080
  • Environment variables: USERNAME, MY_POD_NAME (used in greeting response)
  • Metrics: gin-metrics library exposes Prometheus metrics at /metrics on the metrics router
  • Deployment: Multi-stage Dockerfile producing a scratch-based static binary; Kubernetes manifests with Traefik ingress and PodMonitor
  • CI/CD: Woodpecker CI (.woodpecker.yaml) builds with Kaniko and pushes to git.codemowers.io registry
  • No tests, no database, no linter configuration
  • templates/ and static/ directories exist but are not currently wired up in the router