The following pages and posts are tagged with
| Title | Type | Excerpt |
|---|---|---|
| Building Ditto | Page | Building with Apache Maven In order to build Ditto with Maven, you’ll need: JDK 21 Apache Maven >=3.9 installed, a running Docker daemon (at least version 18.06 CE). mvn clean install sh build-images.sh |
| Extending Ditto | Page | You extend Ditto by implementing custom DittoExtensionPoint interfaces and loading them into the service via Pekko’s classloader. TL;DR: Create a Java class implementing a DittoExtensionPoint interface, configure it in a <service>-extension.conf file, and add the JAR to /opt/ditto/extensions in the... |
| Operating Ditto | Page | Once you have successfully started Ditto, proceed with setting it up for continuous operation. This page covers the basics for operating Ditto. Configuration You configure Ditto through config files or environment variables. This section covers key configuration parameters. MongoDB configuration If you use a dedicated MongoDB instead of... |
| Running Ditto | Page | Start Ditto Resource requirements: in order to start Ditto locally (via Docker Compose), you’ll need at least: 2 CPU cores to be used by Docker 4 GB of RAM to be used by Docker if you decide to run Ditto in a local Kubernetes environment,... |
| Operating - Authentication | Page | You authenticate HTTP API calls to Ditto through pre-authentication with a reverse proxy or through OpenID Connect (OIDC) providers. TL;DR: Use pre-authentication when a reverse proxy handles user verification and passes the identity via HTTP header. Use OpenID Connect when you need JWT-based authentication from an OIDC provider... |
| Operating - Configuration | Page | You configure Ditto services through config files, environment variables, or Java system properties. TL;DR: Override any Ditto config value by setting an environment variable (when the config uses ${?ENV_NAME} syntax) or by passing a Java system property (-Dkey=value) to the service process. Overview... |
| Operating - DevOps Commands | Page | You use DevOps commands to manage a running Ditto installation without restarts – adjusting log levels, inspecting configuration, and sending piggyback commands to internal actors. TL;DR: Access the /devops API with the DevOps user credentials to dynamically change log levels, retrieve runtime configuration, manage background cleanup,... |
| Operating - MongoDB | Page | You configure Ditto’s MongoDB connection and tune database performance through environment variables and config files. TL;DR: Set MONGO_DB_URI and related environment variables to connect to your MongoDB instance. For MongoDB 6+, enable additional snapshot aggregation indexes to maintain query performance. Overview Each Ditto microservice that... |
| Operating - Monitoring & Tracing | Page | You monitor Ditto through structured logging, Prometheus metrics, and OpenTelemetry-based distributed tracing. TL;DR: Ditto exposes Prometheus metrics on port 9095 by default. Enable tracing with DITTO_TRACING_ENABLED=true and point the OTLP exporter to your collector. Configure logging output via environment variables for STDOUT, ELK, or file-based appenders.... |