Skip to main content

ConfigService

Source and message fields. Error family: config.

GetConfig​

GetConfig is the service's configuration: schema, Live paths, the current revision and what every live instance runs with.

  • Path: /backplane.console.v1.ConfigService/GetConfig.
  • Input: GetConfigRequest; output: GetConfigResponse; mode: unary.
  • Errors: config + common.
  • Read/validation: safe to retry after a transient failure.
// client: ConfigServiceClient; request: GetConfigRequest; signal: AbortSignal
const response = await client.getConfig(request, { signal });

ListRevisions​

ListRevisions pages through the revisions, newest first.

  • Path: /backplane.console.v1.ConfigService/ListRevisions.
  • Input: ListRevisionsRequest; output: ListRevisionsResponse; mode: unary.
  • Errors: config + common.
  • Read/validation: safe to retry after a transient failure.
// client: ConfigServiceClient; request: ListRevisionsRequest; signal: AbortSignal
const response = await client.listRevisions(request, { signal });

ValidateOverride​

ValidateOverride is SaveRevision without saving: the violations it would be rejected with.

  • Path: /backplane.console.v1.ConfigService/ValidateOverride.
  • Input: ValidateOverrideRequest; output: ValidateOverrideResponse; mode: unary.
  • Errors: config + common.
  • Read/validation: safe to retry after a transient failure.
// client: ConfigServiceClient; request: ValidateOverrideRequest; signal: AbortSignal
const response = await client.validateOverride(request, { signal });

SaveRevision​

SaveRevision validates the override and, when valid, saves it as the next revision and delivers it to Consul KV. Invalid: nothing is saved, violations say why.

  • Path: /backplane.console.v1.ConfigService/SaveRevision.
  • Input: SaveRevisionRequest; output: SaveRevisionResponse; mode: unary.
  • Errors: config + common.
  • Database mutation: never automatically replay after an ambiguous failure.
// client: ConfigServiceClient; request: SaveRevisionRequest; signal: AbortSignal
const response = await client.saveRevision(request, { signal });

Rollback​

Rollback saves a new revision with the values of an older one (rollback_of), validated as any save.

  • Path: /backplane.console.v1.ConfigService/Rollback.
  • Input: RollbackRequest; output: RollbackResponse; mode: unary.
  • Errors: config + common.
  • Database mutation: never automatically replay after an ambiguous failure.
// client: ConfigServiceClient; request: RollbackRequest; signal: AbortSignal
const response = await client.rollback(request, { signal });

WatchConfig​

WatchConfig streams the service's configuration: the current one first, then a new one whenever the service's instances, manifests or revision change.

  • Path: /backplane.console.v1.ConfigService/WatchConfig.
  • Input: WatchConfigRequest; output: WatchConfigResponse; mode: replacement snapshots.
  • Errors: config + common.
  • Long-lived read; recovery follows its stream semantics.
// client: ConfigServiceClient; request: WatchConfigRequest; signal: AbortSignal
for await (const response of client.watchConfig(request, { signal })) {
console.log(response);
}