Loom is configured via a YAML file (loom.yml) with optional environment variable overrides.
Config File Locations
Loom looks for loom.yml in the following order (first match wins):
-
config/loom.yml— directory relative to the working directory -
~/.config/metaloom/loom.yml— user home config -
/etc/metaloom/loom.yml— system-wide config
Full Configuration Example
database:
host: "127.0.0.1"
port: 5432
username: "postgres"
password: "secret"
databaseName: "loom"
minPoolSize: 5
acquireIncrement: 5
maxPoolSize: 20
server:
grpcPort: 8091
bindAddress: "0.0.0.0"
restPort: 8092
monitoringPort: 8989
auth:
keystorePath: "keystore.jceks"
keystorePassword: "change-me"
tokenExpirationTime: 3600
Environment Variables
All settings can be overridden with environment variables.
Environment variables take precedence over values in loom.yml.
Database
| Variable | Default | Description |
|---|---|---|
|
|
PostgreSQL host |
|
|
PostgreSQL port |
|
|
Database username |
|
|
Database password |
|
|
Database name |
|
|
Minimum connection pool size |
|
|
Maximum connection pool size |
Server
| Variable | Default | Description |
|---|---|---|
|
|
HTTP REST port |
|
|
gRPC port |
|
|
Bind address for all listeners |
|
|
Monitoring/health port |
Authentication
| Variable | Default | Description |
|---|---|---|
|
(random) |
Initial admin password (first boot only) |
|
|
JWT token lifetime in seconds |
CLI
The Loom server CLI is currently a stub (TBD).
The main entry point is LoomCLI. Configuration is driven entirely via the YAML file and environment variables.