Skip to content

Configuration

Kevalkumar edited this page Jan 23, 2026 · 2 revisions

Configuration files

Main DataEngine configuration:

  • AAS.TwinEngine.DataEngine/appsettings.json

Test Plugin configuration:

  • AAS.TwinEngine.Plugin.TestPlugin/appsettings.json

Key configuration sections (DataEngine)

  • ApiConfiguration.BasePath – base path for the API (empty by default).
  • PluginConfig.Plugins – list of plugins consumed by DataEngine, e.g.:
    • PluginName – logical name of the plugin.
    • PluginUrl – base URL of the plugin (e.g. http://localhost:8086).
  • AasEnvironment – URLs and paths to AAS-related services:
    • DataEngineRepositoryBaseUrl
    • AasEnvironmentRepositoryBaseUrl
    • AasRegistryBaseUrl / AasRegistryPath
    • SubModelRegistryBaseUrl / SubModelRegistryPath
    • AasRepositoryPath, ConceptDescriptionPath, SubmodelRefPath
    • CustomerDomainUrl
  • MultiPluginConflictOption.HandlingMode – strategy when multiple plugins conflict:
    • TakeFirst | SkipConflictingIds | ThrowError.
  • AasxExportOptions.RootFolder – folder used when exporting AASX files (default aasx).
  • AasRegistryPreComputed – precomputation behavior for shell descriptors:
    • ShellDescriptorCron – cron expression for sync job.
    • IsPreComputed – enable/disable precomputation.
  • TemplateMappingRules – mapping from patterns to AAS/Submodel templates.
  • Semantics – semantics-related settings.
  • HttpRetryPolicyOptions – retry settings for HTTP clients such as TemplateProvider, PluginDataProvider, SubmodelDescriptorProvider.
  • OpenTelemetry – telemetry configuration (see below).
  • Serilog – logging sinks, levels, and output templates.

Telemetry (OpenTelemetry)

Section: OpenTelemetry

  • OtlpEndpoint – OTLP endpoint (default http://localhost:4317).
  • ServiceName – logical service name (TwinEngine by default).
  • ServiceVersion – service version.

The application:

  • Configures Serilog from configuration.
  • Exposes logs, traces, and metrics via OpenTelemetry exporters.

Logging (Serilog)

DataEngine Serilog configuration:

  • Console sink with structured template including correlation and user information.
  • File sink writing to logs/twinEngine-.log with daily rolling.

Test Plugin Serilog configuration:

  • Console sink and file sink writing to logs/TestPlugin-.log.

CORS & Health Checks

  • CORS is configured via CorsConfigurationExtension in ServiceConfiguration and applied in Program.cs.
  • Health checks:
    • /healthz endpoint provided by AddHealthChecks and PluginManifestHealthCheck.

Typical Local Dev Flow

  1. Start or configure dependent AAS services (or mock them if necessary).
  2. Adjust appsettings.json to point to your local URLs for AAS services and plugins.
  3. Run the Test Plugin (or your custom plugin) locally.
  4. Run the main DataEngine API.
  5. Use Swagger UI to explore and verify endpoints.
  6. Run unit and module tests before pushing changes.

Clone this wiki locally