Files

126 lines
2.6 KiB
Plaintext

---
title: "Settings"
description: "Server configuration management"
---
# Settings
Manage server configuration settings.
## Get YAML Configuration
Get the entire YAML configuration file with sensitive fields redacted. Fields containing `_key`, `secret`, `password`, `username`, or `_token` are replaced with `[REDACTED]`.
```bash
curl http://localhost:8002/osm/api/settings/yaml \
-H "Authorization: Bearer $TOKEN"
```
**Response:** (text/yaml)
```yaml
# =============================================================================
# Osmedeus Configuration File
# =============================================================================
base_folder: ~/osmedeus-base
environments:
binaries_path: "{{base_folder}}/binaries"
# ... more config
server:
host: "0.0.0.0"
port: 8002
workspace_prefix_key: "[REDACTED]"
simple_user_map_key: "[REDACTED]"
jwt:
secret_signing_key: "[REDACTED]"
expiration_minutes: 180
database:
host: ""
port: 5432
username: "[REDACTED]"
password: "[REDACTED]"
# ... more config
```
---
## Update YAML Configuration
Replace the entire YAML configuration file with new content. A backup of the existing configuration is created before overwriting.
```bash
curl -X PUT http://localhost:8002/osm/api/settings/yaml \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: text/yaml" \
--data-binary @new-config.yaml
```
**Request Body:** Raw YAML configuration content
**Response:**
```json
{
"message": "Configuration updated successfully",
"path": "/home/user/osmedeus-base/osm-settings.yaml",
"backup": "/home/user/osmedeus-base/osm-settings.yaml.backup"
}
```
**Error Response (Invalid YAML):**
```json
{
"error": true,
"message": "Invalid YAML configuration: yaml: unmarshal errors: ..."
}
```
---
## Reload Configuration
Trigger a hot-reload of the configuration file without restarting the server.
```bash
curl -X POST http://localhost:8002/osm/api/settings/reload \
-H "Authorization: Bearer $TOKEN"
```
**Response:**
```json
{
"message": "Configuration reloaded successfully",
"path": "/home/user/osmedeus-base/osm-settings.yaml"
}
```
**Error Response:**
```json
{
"error": true,
"message": "Failed to reload configuration: ..."
}
```
---
## Get Configuration Status
Get the current status of the hot-reloadable configuration, including last reload time and any errors.
```bash
curl http://localhost:8002/osm/api/settings/status \
-H "Authorization: Bearer $TOKEN"
```
**Response:**
```json
{
"path": "/home/user/osmedeus-base/osm-settings.yaml",
"last_reload": "2025-01-15T10:30:00Z",
"is_watching": true,
"error": ""
}
```