Light Dark Auto

Service Catalog

Configure the greymatter.io catalog daemon

Main Configuration

  • HOST(String, default: "0.0.0.0") - Hostname or IP address.
  • PORT(Number, default: 8080) - TCP port to listen on.
  • AUTHORIZED_USERS(String) - List of PKI Distinguished Names approved to access metrics views in the dashboard. An empty string permits all access.
  • CONTROL_SERVER_RETRY_DELAY(String, default: "10s") - Delay duration for indefinite connection retries to each configured Control server.
  • METRICS_MAX_RETRIES(Number, default: 3) - The maximum number of retries made before stopping requests to a service instance's metrics endpoint.
  • METRICS_RETRY_DELAY(String, default: "10s") - The wait period between attempts to connect to a service instance's metrics endpoint.
  • METRICS_REQUEST_TIMEOUT(String, default: "15s") - The wait time to indicate a request timeout from a service instance's metrics endpoint.
  • DEBUG(Boolean, default: false) - Whether to start the service with the debug log level.
  • USE_TLS(Boolean, default: false) - Enables TLS.
  • CA_CERT_PATH(String, default: "") - Path to the certificate authority file.
  • SERVER_CERT_PATH(String, default: "") - Path to the server certificate.
  • SERVER_KEY_PATH(String, default: "") - Path to the server certificate key.
  • CONFIG_SOURCE(String, default: "") - Configures where to store and read service configuration from. Options are redis and gmdata.
  • CONFIG_POLLING_INTERVAL(String, default: "3s") - Interval for checking the store for configuration changes. Only applicable when CONFIG_SOURCE=gmdata.

Configure Persistence with Redis

The catalog's data is stored in Redis.

It is recommended to set appendonly in your Redis server configuration. See the Redis documentation for more details.

The following environment variables configure Redis persistence.

  • REDIS_HOST(String, default: "localhost") - Host of the Redis connection.
  • REDIS_PORT(Integer, default: 6379) - Port of the Redis connection.
  • REDIS_USE_TLS(Boolean, default: false) - Whether to connect to Redis over TLS.
  • REDIS_CA_CERT_PATH(String, default: "") - Path to SSL CA on disk for connecting to Redis.
  • REDIS_SERVER_CERT_PATH(String, default: "") - Path to SSL Cert on disk for connecting to Redis
  • REDIS_SERVER_KEY_PATH(String, default: "") - Path to SSL Key on disk for connecting to Redis.
  • REDIS_PASS(String, default: "") - Password if required by Redis.
  • REDIS_DB(Integer, default: 0) - Which database to use in Redis.
  • REDIS_MAX_RETRIES(String, default: "5") - Max number of times to attempt to connect to Redis.
  • REDIS_RETRY_DELAY(String, default: "1s") - Duration between Redis connection attempts

Note: Several instances of gm-catalog can share a single Redis.

Logging

The log level of the greymatter.io Catalog service can be retrieved and dynamically changed via the following requests:

GET /logging

Returns the current log level.

current log level = info

PUT /logging?level=<log-level>

Updates the log level to the level indicated in query parameter level.

Level should be one of: error, warn, info, debug.

Environment Configuration File

If you're running the Catalog executable binary manually you can also provide a configuration file with key/value pairs.

./gm-catalog --config=settings.toml