---
question: Which kernel stores does config.yaml configure?
kind: guide
---

# Services

These are the kernel services you configure and call. They are not module components: the engine owns them, and adapters sit under them. Each one is a block under `services:` in `config.yaml`, and each feature below has an Overview with what you can do from every interface. See [Overview](/architecture/overview) and the [Configuration Reference](/user-guide/get-started/configuration#services).

| Service | What it is |
|---|---|
| [Cache](/user-guide/build/platform/cache-overview) | Cache a function's result, in a hot and a cold tier. |
| [Documents](/user-guide/build/platform/documents-overview) | Store a document and query documents. |
| [Email](/user-guide/build/platform/email-overview) | Send mail, and choose the provider. |
| [Events](/user-guide/build/platform/events-overview) | Record an event and stream events. |
| [Files](/user-guide/build/files/overview) | Object storage for workspace files. |
| [Key-value store](/user-guide/build/platform/key-value-overview) | Store a value, including compare and set. |
| [Knowledge graph](/user-guide/build/knowledge-graph/graph-overview) | The graph this workspace can read. |
| [Message bus](/user-guide/build/platform/message-bus-overview) | Publish a message and consume a queue. |
| [Secrets](/user-guide/build/secrets/overview) | Add a secret, use it in config, and rotate it. |
| [Vector search](/user-guide/build/vector-search/overview) | Collections, embeddings, and search. |

## How a module gets a service

A module lists the services it uses in `ModuleDependencies.services`. The engine loads a service when an enabled module lists it, and only that module can reach it as `self.engine.services.<name>`: calling one the module did not list raises `ValueError` ("does not have access to"). In NATS mode the engine loads every service, for the remote modules too. The `naas_abi` module, which runs Nexus, lists most of them.

When a service has no block in `config.yaml`, the engine uses its built-in default. The defaults are on each feature's Overview.

## Browse a service in Nexus

Super admins can open **System** in the Nexus sidebar, then the **Data** tab, to browse what each service holds: cache entries, sent mail, the event log, secrets, bus streams and the data stores. What each view can change depends on the service. The same data is on the System routes of the Nexus API, under `/api/admin/system/resources/{service}`. Every change there is audited.

Module components (agents, apps, ontologies, pipelines, and the rest) are on the [modules overview](/user-guide/build/modules/overview). The product shell starts at the [Platform](/user-guide/platform/overview).
