---
title: Configuration overview
sidebar_label: Overview
---

The Enterprise Deephaven system is complex and highly configurable, featuring various types of configuration data stored in multiple locations.

Configuration data is stored in [multiple places](./configuration-file-locations-overview.md). Some configuration items are created and managed by the installer, while others must be updated manually after installation. Additionally, extension points are available for modifying the system's configuration.

Most Deephaven configuration is managed by the [Configuration Server](./configuration-server-overview.md), which centralizes access to configuration data stored in [etcd](../core-components/etcd.md). Other configuration data is stored in files.

Use the [`dhconfig`](./dhconfig/overview.md) tool to manage the configuration data handled by the Configuration Server.

## Dynamic vs static configuration types

Most configuration is static; a process reads configuration data when it starts and never checks it again.

The [Persistent Query Controller](../pq-controller/pq-controller.md) and Authentication Server support reloading some configuration without restarting via the [`dhconfig pq reload`](./dhconfig/pq.md#reload) and `sudo -u irisadmin /usr/illumon/latest/bin/iris auth_server_reload_tool` commands.

Many processes watch for changes to [data routing](./data-routing-overview.md) and [schema](../../data-guide/schemas/schema-overview.md) configuration. They will respond dynamically to any updates.

## Types of configuration

There are various types of configuration files:

- **[Deephaven properties files](./deephaven-properties-overview.md)**
- **[XML](https://www.w3.org/XML/) files**:

  - Schemas are stored as XML data.
  - The [Tailer configuration](./data-tailer.md#tailer-xml-configuration-files) is an XML file.
  - PQ configurations are represented as XML data.

- **[YAML](https://github.com/yaml/yaml-spec/tree/main/spec/1.2) files**:

  - Data routing configuration is stored in YAML format.
  - The optional Envoy proxy is configured with a YAML file.
  - Kubernetes configurations are YAML files.
  - etcd server configuration is a YAML file.

  > [!NOTE]
  > A YAML filename may end in either .yml or .yaml.

- **Security and Authentication files**:
  - Includes X509 certificates, keys, truststores, keystores, and password files.

There are additional text-based files with formats specified by the applications that use them.

## Locations of configuration data

Much of a Deephaven system's configuration is stored in [etcd](../core-components/etcd.md) and accessed via the [Configuration Server](./configuration-server-overview.md):

- [Properties files](./deephaven-properties-overview.md)
- [Schemas](../../data-guide/schemas/schema-overview.md)
- [Data routing](./data-routing-overview.md)
- [Permissions (ACLS)](../../sys-admin/permissions/permissions-overview.md)
- [User authentication keys](./public-and-private-keys.md#authorized-keys-file-configuration)

The rest of the configuration is stored as text files in several [well-known locations](./configuration-file-locations-overview.md). Not all files are available on every type of Deephaven node. File system permissions are carefully managed so that access to sensitive files is restricted to the correct users and groups.

## Managing configuration

To change configuration files stored on disk, edit the files directly. After making the changes, restart the relevant processes. Most files are not shared between machines in a deployment, so you must edit the files and restart the processes on all relevant nodes.

<!-- todo: add link to #customer-editable after creating it -->

- Use the [`dhconfig` tool](./dhconfig/overview.md) to make changes to configuration managed by the Configuration Server.
- Use the [Property Inspector](../../resources/faq/property-inspector.md) to investigate properties files.
- Use the [Query Monitor](../../interfaces/web/query-monitor.md) to edit Persistent Queries.
- Use the [ACL editor](../../interfaces/web/permissions.md) UI or the [dhconfig acl](./dhconfig/acls.md) command to manage users and ACLS.

## Related documentation

- [Deephaven properties files](./deephaven-properties-overview.md)
- [Properties reference](./properties-reference.md)
- [Properties index](./properties-index.md)
- [`dhconfig` configuration tool](./dhconfig/overview.md)
- [Configuration file locations](./configuration-file-locations-overview.md)
- [Permissions (ACLS)](../../interfaces/web/permissions.md)
- [etcd](../core-components/etcd.md)
- [Configuration server](./configuration-server-overview.md)
- [Installation and upgrade guide](../installation/basic-install.md)
- [Persistent Query management](../../query-management/pq-overview.md)
