--- title: Contributing description: Contribute to MockServer -- explore the codebase architecture, build from source, run tests, and understand the module structure and CI/CD pipeline. layout: page pageOrder: 11 section: 'General' subsection: true sitemap: priority: 0.6 changefreq: 'monthly' lastmod: 2026-05-04T08:00:00+01:00 ---
MockServer is an open-source project that welcomes contributions and encourages users to understand its internals.
Whether you're looking to contribute code, report issues effectively, or simply understand how MockServer works under the hood, the developer documentation on GitHub provides comprehensive technical details about the codebase, infrastructure, and operations.
The docs/ directory on GitHub contains detailed internal documentation organized into four main areas:
Deep-dive documentation of MockServer's codebase, from high-level module structure down to individual subsystems:
| Document | Description |
|---|---|
| Code Overview | Module hierarchy, dependency graph, package layout |
| Netty Pipeline | Port unification, protocol detection, channel handlers, relay pattern |
| Request Processing | Mock matching, proxy forwarding, action dispatch, WAR bridge |
| Event System | LMAX Disruptor ring buffer, verification, persistence, observers |
| Dashboard UI | React SPA, Redux state, WebSocket communication, data assembly |
| Domain Model | Model hierarchy, matchers, codecs, OpenAPI support, configuration |
| TLS & Security | BouncyCastle CA, SNI, mTLS, JWT auth, control plane security |
| Client & Integrations | MockServerClient, JUnit 4/5, Spring, WebSocket callbacks |
| Memory Management | Log entry and expectation memory analysis, default limit calculation, tuning guide |
| Metrics & Monitoring | Prometheus metrics, memory monitoring, CSV export |
Documentation covering AWS accounts, CI/CD pipelines, container images, and Kubernetes deployment:
| Document | Description |
|---|---|
| AWS Infrastructure | AWS accounts, Terraform IaC, EC2 agents, S3 hosting, CloudFront CDN |
| CI/CD | Buildkite pipelines and GitHub Actions workflows |
| Docker | Docker images, variants, multi-arch builds, and Compose examples |
| Helm & Kubernetes | Helm charts, deployment templates, and Kind-based testing |
Documentation about the build process, releases, dependencies, and the documentation website:
| Document | Description |
|---|---|
| Build System | Maven configuration, profiles, plugins, and build scripts |
| Release Process | End-to-end release workflow with diagrams |
| Security & Dependencies | Java 11 compatibility policy, dependency version ceilings, and security scanning |
| Website | Jekyll documentation site structure and publishing |
| Testing | Test frameworks, module inventory, architecture, configuration, coverage gaps, CI execution |
| Document | Description |
|---|---|
| Architecture | High-level architecture overview |
| Gaps & Recommendations | Review of missing documentation and improvement areas |
If you're interested in contributing to MockServer:
To report bugs or request features: