pecigonzalo/fodinfo
40.2
Weak · 3 October 2026
424
lines of production code
F#
with JavaScript
2
measurements over time
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.