Skip to content

Developer Guide

Everything you need to develop, build, test, and contribute to the Dataspace Ecosystem. This guide covers the development workflow from initial setup to running end-to-end tests.


  • Project Structure


    Understand the repository layout: core modules, extensions, launchers, SPIs, and how they fit together.

    Project Structure

  • Setup


    Configure your development environment, IDE, and documentation tooling.

    Development Setup

  • Build


    Docker image configuration, base image customization, and vault type selection for container builds.

    Build Guides

  • Testing


    Testing strategy, from unit tests to full end-to-end system tests on Kubernetes.

    Testing Guide

  • Contributing


    Contribution guidelines, code style, and the process for submitting changes.

    Contributing Guide


Module Architecture

The Dataspace Ecosystem follows a layered module architecture designed for extensibility:

┌─────────────────────────────────────────────────┐
│                  Launchers                       │
│   Runtime wiring & deployment configurations     │
├─────────────────────────────────────────────────┤
│                 Extensions                       │
│   Specific functionality & integrations          │
├─────────────────────────────────────────────────┤
│                    Core                          │
│   Default implementations & shared utilities     │
├─────────────────────────────────────────────────┤
│              SPI (Interfaces)                    │
│   Contracts & service provider interfaces        │
└─────────────────────────────────────────────────┘
Layer Purpose Example
SPI Define contracts and interfaces TelemetryRecordStore, TelemetryService
Core Provide default implementations InMemoryTelemetryRecordStore
Extensions Add specific runtime features BillingConsumptionMetricsExtension
Launchers Wire everything for deployment telemetry-agent-postgresql-hashicorpvault
Topic Description
Development Setup IDE configuration and local development
Go Development Setup Containerized Go builds for plugins
Documentation Setup Serve and build the docs locally
Base Image Configuration Customize Docker base images
Vault Selection Guide Choose between HashiCorp and Azure vault
Testing Guide System tests and end-to-end testing
Contributing How to contribute to the project