A long time ago, on a server far, far away 👋

OpenTelemetry for Codex CLI

Codex CLI can emit traces, metrics, OTel log records with event names and attributes. You can track API requests, tool invocations, token usage, MCP calls, across an organization by exporting telemetry data through OpenTelemetry. This article covers local setup for OpenTelemetry stack and Codex CLI configuration for OTel. It should help you explore the traces, logs and metrics, prepare some dashboards and find answers to questions like: which models were used? how many tool calls were made? was MCP used? how long did the run take? Traces While Codex CLI emits traces, those are not fully documented and you currently can’t find official list of trace span names. ...

2026-05-10 · 4 min · Ivan Franjic

Claude Code with Ollama

During 2025 the AI race has shifted from creating best models to creating best agents. By end of year, most developers argue that Claud Code has taken lead. Standard Claude Code usage typically requires an expensive Anthropic subscription. But beyond the cost savings, using Ollama with Claude Code offers significant advantages regarding data privacy, confidentiality, and service autonomy. By redirecting the Claude Code interface to a local instance, you effectively bypass several of Anthropic’s cloud-based data collection and usage policies. These include model training opt-out, technical information collection, usage tracking, regional constraints, intellectual property ownership and more. ...

2026-01-25 · 1 min · Ivan Franjic

Docker model runner

Sometime in April this year, Docker added new feature called Docker Model Runner. It’s meant to streamline the process of pulling, running, and serving large language models (LLMs) and other AI models directly from Docker Hub or OCI-compliant registries. It integrates with Docker Desktop and Docker Engine, allows you to serve models via OpenAI-compatible APIs, package GGUF files as OCI, and interact with models from the command line. Features Pull and push models Serve models on OpenAI-compatible APIs Package and publish GGUF files as OCI Run AI models directly from the command line Manage local models and display logs Requirements Docker Model Runner is supported on the following platforms: ...

2025-07-27 · 3 min · Ivan Franjic

Golang gRPC example

What is gRPC? gRPC is a high performance, open source universal RPC framework. By default, it uses Protocol Buffers. Example Prerequisites Golang Protocol Buffer compiler - protoc sudo apt install protobuf-compiler Update PATH variable to include the path to the protoc executable Golang plugins go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest Creating gRPC services The process of creating gRPC services follows three steps: Define Messages/Services Generate client/server source Implement gRPC service methods Method types There are four types of service methods that can be defined. ...

2022-06-12 · 2 min · Ivan Franjic

Creating Docker Github action

Creating Docker Github action This is an example how to create a simple Docker Github action. To get more familiar with Github actions, check official docs. Start with an empty git repo: mkdir docker-gha-example cd docker-gha-example git init For repository to be considered a Github action, it is required to have a file action.yml or action.yaml, this metadata file will define inputs, outputs and run configuration. name: Docker Github action description: This is an example of Docker Github action branding: icon: star color: yellow inputs: name: description: who to greet required: false default: 'world' outputs: greeting: description: greeting message runs: using: docker image: Dockerfile args: - ${{ inputs.name }} For more details on action.yml check docs. ...

2022-04-12 · 2 min · Ivan Franjic