This topic is a map, not a tutorial — it shows what's where and links out to the topic that explains the why and how for each piece.
If you already know you're looking for a specific log file or setting, Where Did My Logs and Configuration Go? has the full, detailed walkthrough;
use this topic instead when you want to see the whole layout at once, before and after the upgrade.
New to terms like mTLS, keystore, or WAR? This article uses those terms without redefining them.
See: AAI Glossary — Terms Used in the 26.0.0 Upgrade Documentation
Not applicable. This is a directory/file structure reference map, not a resolution to a specific reported problem.
Everything below lives on disk under one installation root, referred to here as $AAI_HOME (Linux) or %AAI_HOME% (Windows).
$AAI_HOME/
├── jaws.sh (Linux) / jaws.bat (Windows) — service control entry point
├── jaws.sh.vmoptions (Linux) / equivalent .vmoptions file (Windows) — JVM heap/GC flags
│
└── jboss/standalone/
├── configuration/
│ ├── standalone.xml — server listeners, datasource, cache subsystem
│ ├── jaws.properties — main runtime settings
│ ├── jaws-database.xml — database connection settings
│ ├── ehcache.xml — cache configuration
│ ├── log4j2.yml — server logging configuration
│ ├── application.keystore — your HTTPS keystore
│ ├── aaiconnectorkey.p12 — connector keystore
│ └── connectortrust.p12 — connector truststore
│
└── log/
├── jaws.log — main server log
├── server.log — main server log
├── alertService.log — co-hosted component log
├── reportingService.log — co-hosted component log
├── simulationService.log — co-hosted component log
├── subscriptions.log — co-hosted component log
├── audit.log — co-hosted component log
├── collectorService.log — co-hosted component log
├── eem.sdk.log — co-hosted component log
├── eem.network.log — co-hosted component log
├── eem.perf.log — co-hosted component log
├── predictions.log — co-hosted component log
├── maintenance.log — co-hosted component log
├── telemetryService.log — co-hosted component log
└── activemq.log — co-hosted component log| Location | Type | Notes |
|---|---|---|
$AAI_HOME/jaws.sh (Linux) / jaws.bat (Windows) | Entry point | Service control |
$AAI_HOME/jaws.sh.vmoptions (Linux) / equivalent .vmoptions file (Windows) | Config | JVM heap/GC flags |
jboss/standalone/configuration/standalone.xml | Config | Server listeners, datasource, cache subsystem |
jboss/standalone/configuration/jaws.properties | Config | Main runtime settings |
jboss/standalone/configuration/jaws-database.xml | Config | Database connection settings |
jboss/standalone/configuration/ehcache.xml | Config | Cache configuration |
jboss/standalone/configuration/log4j2.yml | Config | Server logging configuration |
jboss/standalone/configuration/application.keystore | Config (certificate) | Your HTTPS keystore |
jboss/standalone/configuration/aaiconnectorkey.p12, connectortrust.p12 | Config (certificate) | Connector keystore/truststore |
jboss/standalone/log/ | Logs | All server and co-hosted component logs (main server log, alert, reporting, simulation, subscriptions, audit, and others) |
$AAI_HOME/
├── aai.sh (Linux) / aai.bat (Windows) — service control entry point
├── aai.sh.vmoptions (Linux) / aai.vmoptions (Windows) — JVM heap/GC flags
│
├── configuration/ — new in 26.0.0, centralized settings
│ ├── aai.properties — ports, TLS, routing, main runtime settings
│ ├── aai-jboss-log4j2.yml — server + co-hosted component logging config
│ ├── eiam.config — eEM/EIAM SDK settings
│ ├── opensearch.properties — search/indexing (OpenSearch) connection settings
│ ├── frontend-gateway-log4j2.yml — per-service logging config
│ ├── denormalizer-log4j2.yml — per-service logging config
│ ├── mcpserver-log4j2.yml — per-service logging config
│ ├── ai-insights-log4j2.yml — per-service logging config
│ └── automation-ai-log4j2.yml — per-service logging config
│
├── jboss/standalone/configuration/ — legacy directory, still in active use
│ ├── standalone.xml — server listeners, datasource, cache subsystem (unchanged)
│ ├── jaws-database.xml — database connection settings (unchanged)
│ ├── ehcache.xml — cache configuration (unchanged)
│ ├── application.keystore — your HTTPS keystore (unchanged by the upgrade)
│ ├── aai-server.p12 — NEW: internal service-mesh mTLS keystore
│ ├── root-ca.p12 — NEW: internal service-mesh mTLS truststore
│ ├── aaiconnectorkey.p12 — connector keystore (now scoped to Frontend Gateway/customer-CA use)
│ └── connectortrust.p12 — connector truststore (now scoped to Frontend Gateway/customer-CA use)
│
├── externalServices/ — new in 26.0.0, one subdirectory per service
│ ├── FrontendGateway/
│ ├── Denormalizer/
│ ├── MCP/
│ ├── AutomationAI/
│ └── AIInsights/
│
└── log/ — new in 26.0.0 (moved from jboss/standalone/log/)
├── jaws.log — main server log
├── server.log — main server log
├── alertService.log — co-hosted component log
├── reportingService.log — co-hosted component log
├── simulationService.log — co-hosted component log
├── subscriptions.log — co-hosted component log
├── audit.log — co-hosted component log
├── collectorService.log — co-hosted component log
├── eem.sdk.log — co-hosted component log
├── eem.network.log — co-hosted component log
├── eem.perf.log — co-hosted component log
├── predictions.log — co-hosted component log
├── maintenance.log — co-hosted component log
├── telemetryService.log — co-hosted component log
├── activemq.log — co-hosted component log
├── aai.eem.log — AAI's own eEM-related logging (new)
├── frontendGateway.log
├── denormalizer.log
├── mcp.log
├── aiinsights.log
├── automationai.log
└── aai-opensearch.log — only present if you run OpenSearch yourself and point AAI at it| Location | Type | Notes |
|---|---|---|
$AAI_HOME/aai.sh / aai.bat | Entry point | Renamed from jaws.* |
$AAI_HOME/aai.sh.vmoptions (Linux) / aai.vmoptions (Windows) | Config | Same mechanism as before, renamed |
configuration/aai.properties (NEW) | Config | New consolidated runtime settings — ports, TLS, routing. Hand-edited only; nothing validates it until the server starts |
configuration/aai-jboss-log4j2.yml (NEW) | Config | Server and co-hosted component logging, moved here from the legacy directory |
configuration/eiam.config (NEW) | Config | eEM/eIAM SDK settings |
configuration/opensearch.properties (NEW) | Config | Search/indexing (OpenSearch) connection settings |
configuration/frontend-gateway-log4j2.yml, denormalizer-log4j2.yml, mcpserver-log4j2.yml, ai-insights-log4j2.yml, automation-ai-log4j2.yml (NEW) | Config | One logging config file per new service |
jboss/standalone/configuration/standalone.xml, jaws-database.xml, ehcache.xml | Config | Unchanged from 24.4.0, same location |
jboss/standalone/configuration/application.keystore | Config (certificate) | Unchanged — still your original HTTPS keystore, same location |
jboss/standalone/configuration/aai-server.p12, root-ca.p12 (NEW) | Config (certificate) | New internal service-mesh mTLS keystore/truststore, generated automatically |
jboss/standalone/configuration/aaiconnectorkey.p12, connectortrust.p12 | Config (certificate) | Still present, same location — now scoped to the Frontend Gateway/customer-CA external-connector workflow only (see note below) |
externalServices/FrontendGateway/, Denormalizer/, MCP/, AutomationAI/, AIInsights/ (NEW) | — | One directory per new service |
log/ (NEW) | Logs | Server and co-hosted component logs (moved here), plus aai.eem.log and one new log file per new service (frontendGateway.log, denormalizer.log, mcp.log, aiinsights.log, automationai.log), plus aai-opensearch.log if you run OpenSearch yourself |
How to confirm the 26.0.0 layout on your own system:
Linux:
ls -la $AAI_HOME $AAI_HOME/configuration $AAI_HOME/jboss/standalone/configuration $AAI_HOME/externalServices $AAI_HOME/logWindows (PowerShell):
dir "$env:AAI_HOME", "$env:AAI_HOME\configuration", "$env:AAI_HOME\jboss\standalone\configuration", "$env:AAI_HOME\externalServices", "$env:AAI_HOME\log"The tree below is the 26.0.0 layout again, this time labeled with what happened to each item during the upgrade instead of what it's for:
$AAI_HOME/
├── aai.sh / aai.bat [RENAMED — was jaws.sh / jaws.bat]
├── aai.sh.vmoptions / aai.vmoptions [RENAMED — same mechanism, was jaws.sh.vmoptions / equivalent]
│
├── configuration/ [NEW]
│ ├── aai.properties [NEW — settings previously spread across jaws.properties and standalone.xml]
│ ├── aai-jboss-log4j2.yml [MOVED — was jboss/standalone/configuration/log4j2.yml]
│ ├── eiam.config [NEW]
│ ├── opensearch.properties [NEW]
│ └── (5 per-service *-log4j2.yml files) [NEW — one per new service below]
│
├── jboss/standalone/configuration/ [UNCHANGED location — still active, not legacy leftovers]
│ ├── standalone.xml, jaws-database.xml, ehcache.xml [UNCHANGED]
│ ├── application.keystore [UNCHANGED — same HTTPS certificate as before the upgrade]
│ ├── aai-server.p12, root-ca.p12 [NEW — internal service-mesh mTLS, don't confuse with the items below]
│ └── aaiconnectorkey.p12, connectortrust.p12 [UNCHANGED files — scope narrowed to Frontend Gateway/customer-CA use only]
│
├── externalServices/ [NEW]
│ └── FrontendGateway/, Denormalizer/, MCP/, AutomationAI/, AIInsights/ [NEW]
│
└── log/ [MOVED — was jboss/standalone/log/]
├── jaws.log [MOVED, same filename]
├── server.log [MOVED, same filename]
├── alertService.log [MOVED, same filename]
├── reportingService.log [MOVED, same filename]
├── simulationService.log [MOVED, same filename]
├── subscriptions.log [MOVED, same filename]
├── audit.log [MOVED, same filename]
├── collectorService.log [MOVED, same filename]
├── eem.sdk.log [MOVED, same filename]
├── eem.network.log [MOVED, same filename]
├── eem.perf.log [MOVED, same filename]
├── predictions.log [MOVED, same filename]
├── maintenance.log [MOVED, same filename]
├── telemetryService.log [MOVED, same filename]
├── activemq.log [MOVED, same filename]
├── aai.eem.log [NEW]
├── frontendGateway.log [NEW]
├── denormalizer.log [NEW]
├── mcp.log [NEW]
├── aiinsights.log [NEW]
└── automationai.log [NEW]| Concern | 24.4.0 | 26.0.0 | What changed |
|---|---|---|---|
| Server and co-hosted logging config | jboss/standalone/configuration/log4j2.yml | configuration/aai-jboss-log4j2.yml | Moved to the new top-level configuration directory |
| Main runtime settings (ports, TLS, routing) | Spread across jaws.properties and standalone.xml | New: configuration/aai.properties | New consolidated file |
| Database connection, cache config | jaws-database.xml, ehcache.xml | Same location | No change |
| HTTPS keystore | application.keystore | Same location | No change — still your original certificate |
| Internal service-mesh mTLS certs | Did not exist | New: aai-server.p12, root-ca.p12 | New in 26.0.0, generated automatically at install/upgrade time |
| Connector / customer-CA certs | aaiconnectorkey.p12, connectortrust.p12 (fed the shared connector keystore/truststore directly) | Same files, same location | Scope narrowed to the Frontend Gateway/customer-CA external-connector workflow — the internal mesh uses the new certs above instead |
| Server and co-hosted component logs | jboss/standalone/log/ | log/ (new top-level directory) | Moved out from under jboss/standalone/ |
| eEM-specific logging | Not separated out | New: log/aai.eem.log | New in 26.0.0 |
| New service directories and logs (Frontend Gateway, Denormalizer, MCP, Automation AI, AI Insights) | Did not exist | New: externalServices/<Service>/, log/<service>.log | New in 26.0.0 — five independently-managed services |
| JVM heap/GC options | jaws.sh.vmoptions | aai.sh.vmoptions | Same location and mechanism, renamed |
The two things people most often miss:
configuration/ directory didn't move — a new one was added alongside it. jboss/standalone/configuration/ is not gone and is not just legacy leftovers; standalone.xml, jaws-database.xml, ehcache.xml, configuration/ directory is a separate, additional location — not a replacement.aai-server.p12 and root-ca.p12 are new, not carried over. They sit in the same legacy directory as your original application.keystore, which makes them easy to mistake for pre-existing files There is no equivalent of the VM tables above to ls your way through, because there's no single host or persistent filesystem holding everything, and no pre-26.0.0 layout to compare against
— this deployment model didn't exist before 26.0.0. Instead:
log/ directory to browse the way there is on VM.How to confirm this on your own system:
kubectl get pods -n <namespace> | grep aai-
helm get values <release-name> -n <namespace>Full detail on the merge behavior, which settings are hand-editable, and how to find your release name/namespace if you don't already know them: Where Did My Logs and Configuration Go?
application.keystore, aai-server.p12, root-ca.p12, aaiconnectorkey.p12, connectortrust.p12) explained in full.