Open Source Initiative

Building the Future of Aviation Information Exchange

A community-driven initiative creating reusable, tested, and validated components to accelerate SWIM adoption across Air Navigation Service Providers worldwide.

6 Open Source Projects
2026 ICAO Deadline
CP1 EU Compliant

Democratizing Aviation Technology

SWIM (System Wide Information Management) is the backbone of Air Traffic Management modernization. But its technical complexity creates barriers for organizations with limited IT resources.

We believe that open standards deserve open implementations. The SWIM-Developer initiative proposes a collaborative model where ANSPs, developers, and stakeholders co-create tools that are tested, validated, and homologated by the community.

Our goal is to abstract technical complexity and provide ready-to-deploy components that accelerate the adoption of SWIM services, reducing time-to-market and ensuring global interoperability.

Community First

Built by practitioners, for practitioners. Real-world solutions for real-world problems.

No Vendor Lock-in

Cloud-native, portable, and built on open standards. Your infrastructure, your choice.

Our Goal

Tested, validated, and compliant with EUROCONTROL SPEC-170 and EU Regulation 2021/116. This is what we're building toward.

Target Compliance

Our components are being developed to meet:

  • EUROCONTROL SPEC-170 (Yellow Profile)
  • SWIM Registry Service Definitions
  • EU Regulation 2021/116 (CP1)
  • AIXM 5.1.1 (Data Model)
  • AMQP 1.0 over TLS 1.2/1.3

Collaborative Development

SWIM adoption accelerates when ATM entities collaborate. Our modular architecture enables different organizations to develop independent components that integrate seamlessly into a unified solution.

Modular Architecture

Demo Environment — This diagram shows all components deployed together for validation and testing. In production, Consumer and Provider are deployed independently by different organizations.

Demo Environment (single cluster deployment for validation) Internal to organization - NOT external SWIM communication MockClient Test Client Manage Subscriptions Event Streaming DNOTAM Provider SWIM API Subscription Manager WFS GetFeature Event Publisher Outbox Business Component Event Bus (Apache Kafka) DNOTAM Consumer Manage Subscriptions Event Processor XSD + Pluggable Rules Inbox/Outbox MockServer Simulates AISP Subscription API Event Generator Provider Infrastructure AMQP Broker (Artemis) PostgreSQL Consumer Infrastructure Document Store (MongoDB) MockServer Infra AMQP Broker (Artemis)

Understanding the Deployment Scenarios

ANSP (Consumer Only)

Air Navigation Service Providers deploy only the Consumer module. It connects to an external AISP (like EUROCONTROL EAD) via AMQP to receive DNOTAM events. Kafka distributes events to internal ATM systems.

AISP (Provider Only)

Aeronautical Information Service Providers deploy only the Provider module. It receives events from internal systems via Kafka and exposes SWIM-compliant APIs (AMQP pub/sub + REST) to external consumers.

Demo Environment (Both)

For validation and testing, all components deploy together in a single cluster. MockServer simulates an external AISP, MockClient simulates an external consumer. This enables end-to-end testing without real infrastructure.

Consumer + Provider Together: Real-World Scenarios

While Consumer and Provider are typically deployed by different organizations, there are valid operational scenarios where the same organization deploys both:

  • National AIS Hub: A national authority receives events from EUROCONTROL EAD (Consumer) and redistributes to local ANSPs and airports (Provider).
  • Regional Aggregator: A regional entity consolidates events from multiple national AISPs and provides unified access to regional consumers.
  • Enterprise Integration: A large airline receives DNOTAM events (Consumer) and redistributes to internal dispatch centers and crew systems (Provider).
  • Data Enrichment: An organization receives raw events, enriches them with local data, and republishes enhanced events.

Note: This project focuses on demonstrating technical capabilities for SWIM compliance. The operational validity of specific scenarios should be verified with domain experts and relevant aviation authorities.

Modular by Design

Each component is an independent, containerized module. One organization can focus on the Provider implementation—exposing SWIM-compliant interfaces and managing subscriptions—while another develops the Consumer module for receiving and processing events.

Both teams contribute to the same ecosystem: source code is shared on GitHub, and container images are published to a common registry. The result? A complete SWIM solution built through distributed collaboration.

Open Source Collaboration

All source code is available under the BSD 3-Clause License. Organizations are free to use, modify, and redistribute the code. Each member chooses their preferred technology stack—as long as the container interfaces remain compatible, the modules integrate seamlessly.

Secure Container Registry

All container images are published to Quay.io, an enterprise-grade registry with built-in security features:

Vulnerability Scanning

Automatic security analysis using Clair, detecting CVEs in base images and dependencies

Image Signing

Cryptographic signatures ensure image integrity and provenance verification

Health Indicators

Visual security status for each image—green, yellow, or red based on vulnerability severity

Immutable Tags

Version control with immutable digests prevents accidental overwrites

Automated Builds

CI/CD integration triggers rebuilds when base images are updated

Source Code

All modules are open source. Fork, contribute, or use as reference for your implementation.

github.com/swim-developer

Container Images

Pre-built, scanned, and signed images ready to deploy on any Kubernetes cluster.

quay.io/swim-developer

Join the Effort

ANSPs, vendors, and developers can contribute modules, tests, or documentation.

See how to contribute

Build Once, Extend for Any Service

The framework was designed to meet SWIM-TI Yellow Profile requirements as a reusable base. Service-specific logic is isolated into extension points—interfaces that you implement to support DNOTAM, Arrival Sequence, MET, or any CP1 service.

Extensible Architecture — Common Framework + Service-Specific Extensions CONSUMER Common Framework (Designed for Yellow Profile) Built-in Capabilities: Subscription Manager AMQP Consumer mTLS Security Inbox/Outbox Fault Tolerance Observability Health Checks 12-Factor / Cloud-Native Extension Points (Interfaces to Implement) • Subscription Builder • Message Validator • Message Enricher • Distribution Router DNOTAM Module AIXM 5.1.1 schemas Scenario-based routing Event enrichment AMAN Module FIXM schemas Airport-based routing Sequence enrichment MET Module IWXXM schemas Weather-based routing METAR/TAF enrichment PROVIDER Common Framework (Designed for Yellow Profile) Built-in Capabilities: Subscription CRUD Queue Manager mTLS + OIDC JWT Validation AMQP Publisher State Machine Observability 12-Factor / Cloud-Native Extension Points (Interfaces to Implement) • Subscription Validator • Data Model • Query Indexes • Distribution Router DNOTAM Module AIXM validation Scenario-based queues Event filtering AMAN Module FIXM validation Airport-based queues Sequence filtering MET Module IWXXM validation Weather-based queues METAR/TAF filtering Resulting Container Images swim-dnotam-consumer Framework + DNOTAM ext. swim-aman-consumer Framework + AMAN ext. swim-met-consumer Framework + MET ext. swim-dnotam-provider Framework + DNOTAM ext. swim-aman-provider Framework + AMAN ext. swim-met-provider Framework + MET ext. Deployment Model — Same Image, Different Configurations Development Pulls: swim-dnotam-consumer AISP_URL=https://aisp.dev.local KAFKA_BROKERS=kafka.dev.local MONGO_URI=mongodb://db.dev.local UAT Pulls: swim-dnotam-consumer AISP_URL=https://aisp.uat.local KAFKA_BROKERS=kafka.uat.local MONGO_URI=mongodb://db.uat.local Pre-Production Pulls: swim-dnotam-consumer AISP_URL=https://aisp.preprod.local KAFKA_BROKERS=kafka.preprod.local MONGO_URI=mongodb://db.preprod.local Production Pulls: swim-dnotam-consumer AISP_URL=https://ead.eurocontrol.int KAFKA_BROKERS=kafka.prod.local MONGO_URI=mongodb://db.prod.local

Reusable Base

All Yellow Profile complexity is implemented once. Security, messaging, resilience—handled by the framework.

Extension Points

Implement only service-specific interfaces: validation, business rules, routing, enrichment. Everything else is inherited.

Accelerated Adoption

New SWIM services in days, not months. Pull an image, configure environment variables, deploy.

Community Modules

Different organizations contribute different service modules. Everyone benefits from shared work.

The Global Aviation Transformation

SWIM represents a paradigm shift from point-to-point connections to a service-oriented ecosystem where aviation information flows seamlessly between all stakeholders.

ICAO Mandate

The International Civil Aviation Organization mandates SWIM adoption by 2026. All Air Navigation Service Providers must implement standardized data exchange.

Information Domains

SWIM covers multiple domains: Aeronautical (DNOTAM, AIFS, AMAP), Meteorological (IWXXM), Flight (FIXM), and Surveillance.

Security First

SWIM mandates strong security with EACP PKI certificates, mutual TLS (mTLS), and comprehensive audit logging for all transactions.

Interoperability

Standardized protocols (AMQP, REST) and data models (AIXM, FIXM, IWXXM) ensure seamless communication between disparate systems globally.

The Complexity We Abstract

SWIM implementation requires expertise across multiple technology domains. Our components handle this complexity so you can focus on your mission.

SWIM Service Interfaces

SWIM is fundamentally SOA-based. Services are published, discovered, and consumed through standardized interfaces. Our components implement proper service boundaries, contract-first design, and loose coupling. Request/Reply patterns use REST with OpenAPI specifications, compliant endpoints with proper content negotiation, error handling, and patterns as defined by the SWIM-TI Yellow Profile (EUROCONTROL SPEC-170).

Security & PKI

EACP (European Aviation Common PKI) mandates X.509 certificates for authentication. We handle certificate lifecycle, full certificate chain validation (not just CA trust), and mutual TLS configuration with automated rotation.

Event-Driven Messaging

The Yellow Profile mandates AMQP 1.0 for publish/subscribe patterns with external SWIM network. Kafka handles internal event streaming and module integration. We provide pre-configured brokers, topic management, subscription lifecycle, and delivery guarantees with proper security bindings.

Aviation Data Models

Aviation data uses complex XML schemas (AIXM 5.1.1, Event, GML). We provide JAXB bindings, XSD validation, and pluggable business rules engines (Schematron, SBVR-based, or equivalent). JSON is supported for lightweight integrations.

Cloud-Native Platform

Cloud-native design with containerized microservices. Each component is independently deployable, scalable, and observable. Native images for minimal footprint and fast startup. Day-2 operations automated through Kubernetes Operators. Deploy complex SWIM stacks with a single Custom Resource. Reconciliation ensures desired state is maintained.

Reliability & Observability

Aviation demands reliability. Our components implement circuit breakers, retry policies, dead letter queues, idempotent consumers, and graceful degradation for mission-critical operations. Full observability stack: Prometheus metrics, distributed tracing with OpenTelemetry, and centralized logging. Pre-built Grafana dashboards for operational visibility.

Watch & Learn

Step-by-step video guides demonstrating how to deploy, configure, and explore the SWIM Developer components on Kubernetes.

Watch on YouTube

Services Under Development

We are building open-source implementations for SWIM services as defined by EUROCONTROL SWIM Registry. Each service follows its respective Service Definition and the SWIM-TI Yellow Profile (EUROCONTROL SPEC-170).

Reference Implementation

Digital NOTAM (DNOTAM)

Digital replacement for traditional text-based NOTAMs. Machine-readable, validated, and structured aeronautical information about operational changes affecting flight operations.

  • Service Definition: SWIM Registry
  • Data Model: AIXM 5.1.1 + Event Schema
  • Patterns: Pub/Sub (AMQP) + Request/Reply (REST)
  • Protocol: SWIM-TI Yellow Profile (SPEC-170)

Ready to deploy and test on Kubernetes

In Development

Arrival Sequence (AMAN)

Extended Arrival Manager service for sequencing arriving flights. ED-254 defines the service interface bindings specifically for this service, with FIXM-based payload schemas.

  • Standard: EUROCAE ED-254
  • Data Model: FIXM + Arrival Sequence Schema
  • Patterns: Pub/Sub (AMQP) + Request/Reply (REST)
  • Status: Early development phase

Validating framework reuse model

Kubernetes Operators

Deploy complete SWIM infrastructure with a single Custom Resource. Our Operators automate day-2 operations, certificate management, and lifecycle management—reducing deployment complexity from days to minutes.

OpenShift Operator

Enterprise-Grade Deployment

Enterprise-grade Operator for Red Hat OpenShift. Includes all Kubernetes Operator capabilities plus OpenShift-specific features for production deployments with full OLM support.

  • All Kubernetes Operator features included
  • OLM catalog integration for enterprise distribution
  • OpenShift Routes for external access
  • Integration with Cert-Manager for automated PKI
  • Seamless upgrades through OLM channels
Go Operator SDK Kubebuilder OLM
View Repository

Kubernetes Operator

Standard Kubernetes

Kubernetes Operator for automated SWIM stack deployment on any conformant Kubernetes cluster. Modular CRDs allow deploying each component independently—no monolithic deployments.

  • Modular CRDs (Provider, Consumer, MockServer)
  • Automated secret management
  • Rolling updates and reconciliation
  • Health monitoring and status reporting
Go Operator SDK Kubebuilder
View Repository

Open Source Components

Application components for Digital NOTAM (DNOTAM) services. All projects are BSD 3-Clause licensed and open for contribution.

Core

Production modules for SWIM service integration

swim-digital-notam-provider

Become a DNOTAM provider yourself. Receives events from internal Kafka topics, manages external subscriptions, and distributes via AMQP to consumers. Use when your organization is the authoritative source of aeronautical data.

  • Full Subscription Manager API
  • WFS GetFeature endpoint (OGC)
  • Dynamic queue provisioning per subscriber
  • OIDC/JWT authentication (any OpenID Connect provider)
Quarkus PostgreSQL Artemis Keycloak
View Repository

swim-digital-notam-consumer

Production module for organizations that need to receive DNOTAM events. Connects to any AISP/EAD, manages subscriptions automatically, validates messages, and distributes to internal systems via Kafka.

  • Auto-subscription from config
  • Inbox/Outbox patterns (zero message loss)
  • XSD + business rules (pluggable)
  • GraphQL + REST APIs for queries
Quarkus MongoDB Kafka GraphQL
View Repository

Validation & Testing

Tools for development, testing, and validation workflows

swim-digital-notam-mockserver

Simulates an AISP (Aeronautical Information Service Provider) for testing and validating your Consumer implementation. Ultra-lightweight container that requires minimal resources. Optional component used during development and validation phases.

  • Full Subscription Manager API (SWIM Registry)
  • Integrated Artemis AMQP broker
  • 82 sample AIXM events included
  • Interactive scenario simulator
Quarkus Artemis AIXM 5.1.1 mTLS
View Repository

swim-digital-notam-mockclient

Test client for validating SWIM integrations. Provides a user interface for subscription management, real-time event visualization, and contract testing against provider implementations.

  • Subscription CRUD operations
  • Real-time event streaming
  • mTLS proxy support
  • Load testing capabilities
Quarkus HTMX SSE REST Client
View Repository

Try It

Deploy the complete platform locally and explore

swim-deploy-minikube

Helm charts and Ansible playbook for deploying the complete SWIM DNOTAM platform on Minikube. One command deploys MockServer, Consumer, Provider, MockClient, Keycloak, Kafka, and all dependencies. Ready in ~7 minutes.

  • Single ansible-playbook command
  • All components pre-configured
  • mTLS certificates auto-generated
  • Works on Linux, macOS, Windows (WSL2)
Minikube Helm Ansible cert-manager
View Repository

Technologies Used

All components were developed and tested using enterprise-grade downstream versions. The upstream (community) versions are fully compatible and can be used without vendor dependency.

Category Upstream (Community) Downstream (Enterprise)
Application Framework Quarkus Red Hat Build of Quarkus
Message Broker (AMQP) Apache ActiveMQ Artemis Red Hat AMQ Broker
Event Streaming Apache Kafka Red Hat AMQ Streams
Identity & Access Keycloak Red Hat Build of Keycloak
Document Database MongoDB MongoDB (UBI Container)
Relational Database PostgreSQL PostgreSQL (UBI Container)
Certificate Management cert-manager cert-manager Operator for Red Hat OpenShift
Operator Development Operator SDK Operator SDK
Container Registry Quay.io Red Hat Quay
Container Platform Kubernetes Red Hat OpenShift
Observability
(Metrics, Tracing, Logging)
OpenTelemetry, Prometheus, Loki, Tempo, Grafana OpenShift Logging Operator, OpenShift Observability Operator

Why OpenShift? The platform was chosen for validation because of its security certifications and proven track record in critical environments across multiple industry verticals. OpenShift has been extensively tested and proven in mission-critical environments, including financial markets and other regulated industries.

No Vendor Lock-in: This is a community project. While components were validated using Red Hat supported downstream versions, you are completely free to use upstream community versions without any harm. No vendor dependency is required.

Reference Architecture

SWIM DNOTAM Reference Architecture — Independent Modules ROLE 1: Your Organization as a CONSUMER CONSUMER (Independent production module) INPUT (from any AISP/EAD) • REST client for subscriptions • AMQP consumer for events OUTPUT (to internal systems) • Kafka topics by business intent • GraphQL API for queries • REST API for management PROCESSING • Inbox pattern (AMQP → MongoDB) • XSD + business rules (pluggable) • Fault tolerance (retry, DLQ) PERSISTENCE • MongoDB (subscriptions, events) • Outbox pattern (MongoDB → Kafka) Connects to & consumes from EXTERNAL AISP / EAD Production: EUROCONTROL EAD, National AIS, or other certified AISP or simulate with MOCKSERVER (Simulates an AISP/EAD for dev/testing) • Subscription Manager API (REST) • Integrated Artemis AMQP broker • Event generator (configurable) • 82 sample AIXM events included • Scenario simulator • Lightweight container (~50MB) Optional ROLE 2: Your Organization as a PROVIDER PROVIDER (Independent production module) EXTERNAL API (SWIM Compliant) • Subscription Manager API • WFS GetFeature (OGC) • HTTPS + mTLS + OIDC/JWT INTERNAL INPUT • Kafka consumer (internal topics) • REST API (direct publish) QUEUE MANAGEMENT • Auto queue creation via AMQ Operator • Security roles per subscriber • Durable/non-durable support SECURITY • mTLS (client certificates) • OIDC/JWT (any OIDC provider) • Role-based queue access PERSISTENCE • PostgreSQL (subscriptions) • Subscription state machine DISTRIBUTION • AMQP 1.0 via AMQ Broker • Per-subscriber queues Distributes events to EXTERNAL CONSUMERS ANSPs, Airport Operators, Airlines, or any authorized subscriber or test with MOCKCLIENT (Simulates an External Consumer connecting to Provider) • Subscription CRUD operations • Real-time event streaming (SSE) • Interactive web UI + mTLS proxy • Load and contract testing Optional ℹ️ Consumer and Provider are independent modules with no direct coupling. Integration happens through Kafka topics: Consumer publishes to business topics, Provider reads from delivery-ready topics. Configure Provider to read from Consumer's topics for end-to-end integration without intermediaries. Deploy Consumer only, Provider only, or both. INFRASTRUCTURE (Shared across all modules) Cert-Manager (Automated PKI for all components) • Auto-generation of certificates • Auto-renewal before expiration • mTLS everywhere • EACP-ready PKI Observability Stack Prometheus Tempo Loki Grafana OpenTelemetry OpenShift

mTLS Everywhere

All service-to-service communication secured with mutual TLS via cert-manager; PKI ready for EACP integration.

Event-Driven

AMQP for external SWIM network communication; Kafka for internal event streaming and module integration.

Full Observability

Metrics, traces, and logs correlated for complete operational visibility.

Join the Community

Whether you're an ANSP engineer, an aviation software vendor, or a cloud-native enthusiast, there's a place for you in this initiative. Together, we can build a future where SWIM adoption is straightforward, tested, and truly open.