Configuration Reference: cosid-server
cosid.server.*, bound by ServerProperties of cosid-server. Besides these, the server reads the ordinary cosid.* properties (runtime, stores, machine, generators): its backing store is one of cosid.stores. Every property can be set from the environment, as in COSID_SERVER_AUTH_TOKENS_0.
| Property | Default | Meaning |
|---|---|---|
cosid.server.store | the only store | the backing store among cosid.stores; required when there are several |
cosid.server.auth.allow-anonymous | false | allow every call without a token, when no token and no client is configured; without either, the server refuses to start |
cosid.server.auth.tokens | [] | tokens that may use every namespace and key |
cosid.server.auth.clients[i].name | the client, for logs | |
cosid.server.auth.clients[i].token | its token | |
cosid.server.auth.clients[i].namespaces | [] | slot namespaces, and range keys whose first segment is one of them; * for all; the id endpoints check cosid.namespace |
cosid.server.auth.clients[i].key-prefixes | [] | range keys with one of these prefixes |
cosid.server.auth.public-paths | /actuator/health, /actuator/health/** | path patterns that need no token |
cosid.server.auth.admin-paths | /actuator, /actuator/**, /v3/api-docs, /v3/api-docs/**, /v3/api-docs.yaml, /swagger-ui.html, /swagger-ui/** | path patterns (other than the public ones) only tokens may use; a client token gets 403 |
cosid.server.limits.min-ttl | 100ms | the shortest lease ttl |
cosid.server.limits.max-ttl | 1h | the longest lease ttl |
cosid.server.limits.max-tolerance | 1m | the largest tolerance |
cosid.server.limits.max-slot-limit | 65536 | the largest slot limit of a namespace |
cosid.server.limits.max-reserve | 1000000000000 | the largest range one reserve takes |
cosid.server.limits.max-count | 1000 | the most ids one id request takes |
cosid.server.limits.max-keys-per-namespace | 10000 | range keys one client uses in one namespace on one server instance; 0 for no cap |
cosid.server.limits.max-namespaces-per-client | 1000 | namespaces one client uses range keys in on one server instance; 0 for no cap |
cosid.server.limits.key-idle-timeout | 1h | a range key unused this long no longer counts; 0 keeps every key |
cosid.server.blocking.threads | 64 | the bounded pool the store calls run on |
cosid.server.blocking.queue-capacity | 1024 | calls that may wait; beyond it 503 with Retry-After: 1 |
cosid.server.ids.enabled | false | the optional /ids/** endpoints; generators named strings or periodic are then refused |
The image's own defaults (application.yaml): server.port: 8688, the health probes on, and Actuator exposing health, info, prometheus and cosid. cosid.namespace defaults to ${spring.application.name} (cosid-server).
