Skip to content
CAI
Software that uses CAICheck a score

pecigonzalo/fodinfo

40.2

Weak · 3 October 2026

424

lines of production code

F#

with JavaScript

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

fodinfo is an F\# microservice built on .NET 8 that serves as a Kubernetes reference implementation, mirroring the functionality of the podinfo project. It provides a suite of HTTP endpoints for health checks, runtime inspection, status simulation, and data storage, alongside structured logging and Prometheus metrics. The system is designed for demonstration and testing purposes, featuring comprehensive deployment configurations via Helm and Kustomize, as well as end-to-end testing scripts for validating service connectivity and fault conditions.

Features

Add Helm chart for deploying fodinfo on Kubernetes

This change introduces the \fodinfo\ Helm chart, enabling users to deploy the fodinfo microservice to a Kubernetes cluster. The chart includes templates for a Deployment, Service, Ingress, HorizontalPodAutoscaler, and optional Redis caching, along with support for TLS via cert-manager, Prometheus monitoring via ServiceMonitor, and Linkerd service profiles. It also provides Helm test hooks to validate service connectivity and simulate fault conditions.

charts/fodinfo · high confidence

Add Kustomize-based deployment manifests for dev, staging, and production environments

This change introduces a complete Kustomize structure for deploying the demo webapp, including base manifests for the backend, frontend, and Redis cache components, along with environment-specific overlays for dev, staging, and production namespaces. It also adds a secure deployment configuration under the 'secure' directory, featuring TLS certificates via cert-manager, specific service accounts, and RBAC rules, alongside a README and a Kind script for local testing.

deploy · high confidence

Added manual health check toggle and default web UI

Users can now manually enable or disable a specific health check via a new toggle mechanism, which reports the service as healthy or unhealthy based on the switch state. Additionally, a new default web interface has been introduced, providing a dashboard that displays application information, version history, and allows users to send test pings to the backend.

src/HealthChecks, src/wwwroot · high confidence

Initial release of fodinfo, an F\# microservice for Kubernetes

This change introduces fodinfo, a F\# port of the podinfo reference microservice, designed to demonstrate best practices for running .NET applications in Kubernetes. The application is built on .NET 8 and Falco 5, featuring structured logging via Serilog and metrics instrumentation with prometheus-net. It exposes a comprehensive set of HTTP endpoints for health checks (/healthz, /readyz), runtime information (/version, /api/info), and testing capabilities such as status code simulation (/status/{code}), request echoing (/echo), header inspection (/headers), and file storage (/store). The release includes a multi-stage Dockerfile for containerization, Helm and Kustomize charts for deployment, and a Nix flake for reproducible development environments.

(repo-wide) · high confidence

New HTTP handlers for status, delay, and environment inspection

The application now exposes new endpoints to inspect and manipulate runtime state. Users can trigger artificial latency via the delay handler, retrieve environment variables and configuration details, and force specific HTTP status codes via the status handler. Additionally, the panic handler allows for controlled process termination, while the readyz handler provides explicit enable/disable toggles for agent readiness checks.

src/Handlers · high confidence

Behavioural changes

Reimplementation of fodinfo service with .NET 8, Falco, and podinfo-aligned endpoints

The application source has been rewritten in F\# using .NET 8 and the Falco web framework, replacing the previous implementation. This change aligns the HTTP API surface with the podinfo reference project, exposing health, version, info, panic, echo, environment, config, status, headers, delay, token, cache, store, and websocket endpoints at the root path. The service now reports the git revision in the /version and /api/info responses, configures Serilog for structured logging, exposes Prometheus metrics at /metrics, and manages health checks via /readyz. Configuration is handled through a new typed settings model bound to the 'fodinfo' section of appsettings.json, allowing customization of UI elements and backend URLs.

src · high confidence

Test coverage

Added shell scripts for end-to-end testing of fodinfo

Added test/build.sh, test/deploy.sh, test/e2e.sh, and test/test.sh to automate the end-to-end testing workflow. These scripts handle building the fodinfo Docker image, deploying it via Helm into a k3d cluster with cert-manager, and running Helm tests against the deployed application.

test · high confidence

Dependencies

Upgrade to .NET 8 and update core dependencies

The project has migrated from .NET 5.0 to .NET 8.0, bringing modern runtime support and performance improvements. Several key libraries have been updated to their latest major versions: Falco to 5.2.0, prometheus-net.AspNetCore to 8.2.1, and Serilog.AspNetCore to 9.0.0. Additionally, the Serilog.Sinks.Async package was added in version 2.1.0 to support asynchronous logging. The old project file (podinfo.fsproj) has been replaced by a new one (src/fodinfo.fsproj) that reflects these changes and includes new source files for configuration, health checks, handlers, and endpoints.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 40 → 40 (-0.1)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 50 → 50 (+0.0)
  • Readiness 25 → 25 (+0.0)
  • Security 76 → 74 (-2.2)
  • Accessibility 42 → 42 (+0.0)

Resolved (2)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

pecigonzalo/fodinfo was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 84b6fefa5b9a0210c83a9322fa1f60c433f7f53d — the exact code this score is about.
  • Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-4f4226d619ea.