Ignis
Explorative area for early-stage concepts and implementations for the Spark FHIR Server
This repository exists to test concepts quickly, learn fast, and validate direction before committing to long-term design decisions.
[!IMPORTANT] Ignis is an experimental project for early-stage exploration. Thus, the implementations in this repository are not intended for production use.
Getting Started
MongoDB
Start a local MongoDB instance with Docker:
docker run -d --name ignis-mongo -p 127.0.0.1:27017:27017 mongo:8
Then run the API:
cd src/Ignis.Apidotnet run
The API will be available at https://localhost:5201/fhir and the OpenAPI document at https://localhost:5201/openapi/v1.json.
Local configuration
Copy src/Ignis.Api/appsettings.local.example.json to src/Ignis.Api/appsettings.local.json to apply per-developer overrides. The file is loaded only when the environment is Development and is gitignored.
Kubernetes
See the infrastructure guide for testing Ignis on Kubernetes.
Server setup
For self-hosted deployments, see the server setup guide — checklist, API configuration reference, and Web BFF configuration reference.
Production notes
Structured JSON logging
The API logs to the console via Serilog. To emit one compact JSON object per log line (suitable for log aggregators), set:
Serilog__WriteTo__0__Name=ConsoleSerilog__WriteTo__0__Args__formatter=Serilog.Formatting.Compact.RenderedCompactJsonFormatter, Serilog.Formatting.Compact
These override the default console sink configured in appsettings.json.