> ## Documentation Index
> Fetch the complete documentation index at: https://docs.peaq.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Provide network, wallet, and storage settings for ROS 2 nodes through environment variables or YAML.

The packages read configuration from either environment variables or a YAML file referenced in launch parameters. Use whichever is easier for your deployment and keep sensitive data (wallet passwords, managed IPFS JWTs) outside of version control.

## Environment Variables

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
# Network and confirmation mode
export PEAQ_ROBOT_NETWORK=agung
export PEAQ_ROBOT_CONFIRMATION_MODE=FAST

# Wallet keystore
export PEAQ_ROBOT_KEYSTORE=$HOME/.peaq_robot/wallet.json
export PEAQ_ROBOT_KEY_PASSWORD="super-secret"

# Event forwarding and logging
export PEAQ_ROBOT_EVENTS_ENABLED=true
export PEAQ_ROBOT_LOG_LEVEL=INFO
export PEAQ_ROBOT_LOG_FORMAT=human
```

All nodes (`core_node`, `storage_bridge_node`, `events_node`) consume these variables through the shared configuration module. When unset, defaults come from the YAML configuration or each node’s internal defaults.

## YAML Configuration

Create a copy of the example file and fill in required fields:

```bash theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
cp peaq_ros2_examples/config/peaq_robot.example.yaml \
   peaq_ros2_examples/config/peaq_robot.yaml
```

Example snippet:

```yaml theme={"theme":{"light":"github-light-default","dark":"github-dark"}}
network: agung  # or "peaq" for mainnet

wallet:
  path: /work/peaq_wallet.json
  auto_generate: true

default_confirmation_mode: FAST

events:
  enabled: true

storage_bridge:
  storage:
    mode: pinata
    pinata:
      jwt: "<PINATA_JWT>"
      gateway_url: "https://YOUR-GATEWAY.mypinata.cloud/ipfs"
```

Launch files pass this YAML through `config.yaml_path` parameters so that every node reads a single source of truth. Set `auto_generate: true` during testing to create a wallet automatically; switch to a managed keystore in production.

### Secret Management

* Keep `PEAQ_ROBOT_KEY_PASSWORD` in an `.env` file or secret manager and source it before launching nodes.
* Do not commit the populated `peaq_robot.yaml` to version control—copy it per environment instead.
* Rotate managed gateway credentials regularly and store them in the same secure channel as other secrets.

Proceed to [launch the core services](/peaqchain/sdk-reference/robotics-sdk/ros2/getting-started/launch-core-services) once configuration is in place.
