mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2025-11-01 00:15:05 +01:00
96 lines
3.4 KiB
Go
96 lines
3.4 KiB
Go
// Copyright (C) NHR@FAU, University Erlangen-Nuremberg.
|
|
// All rights reserved. This file is part of cc-backend.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package memorystore
|
|
|
|
const configSchema = `{
|
|
"type": "object",
|
|
"description": "Configuration specific to built-in metric-store.",
|
|
"properties": {
|
|
"checkpoints": {
|
|
"description": "Configuration for checkpointing the metrics within metric-store",
|
|
"type": "object",
|
|
"properties": {
|
|
"file-format": {
|
|
"description": "Specify the type of checkpoint file. There are 2 variants: 'avro' and 'json'. If nothing is specified, 'avro' is default.",
|
|
"type": "string"
|
|
},
|
|
"interval": {
|
|
"description": "Interval at which the metrics should be checkpointed.",
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"description": "Specify the parent directy in which the checkpointed files should be placed.",
|
|
"type": "string"
|
|
},
|
|
"restore": {
|
|
"description": "When cc-backend starts up, look for checkpointed files that are less than X hours old and load metrics from these selected checkpoint files.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"archive": {
|
|
"description": "Configuration for archiving the already checkpointed files.",
|
|
"type": "object",
|
|
"properties": {
|
|
"interval": {
|
|
"description": "Interval at which the checkpointed files should be archived.",
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"description": "Specify the parent directy in which the archived files should be placed.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"retention-in-memory": {
|
|
"description": "Keep the metrics within memory for given time interval. Retention for X hours, then the metrics would be freed.",
|
|
"type": "string"
|
|
},
|
|
"nats": {
|
|
"description": "Configuration for accepting published data through NATS.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"description": "Address of the NATS server.",
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"description": "Optional: If configured with username/password method.",
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"description": "Optional: If configured with username/password method.",
|
|
"type": "string"
|
|
},
|
|
"creds-file-path": {
|
|
"description": "Optional: If configured with Credential File method. Path to your NATS cred file.",
|
|
"type": "string"
|
|
},
|
|
"subscriptions": {
|
|
"description": "Array of various subscriptions. Allows to subscibe to different subjects and publishers.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"subscribe-to": {
|
|
"description": "Channel name",
|
|
"type": "string"
|
|
},
|
|
"cluster-tag": {
|
|
"description": "Optional: Allow lines without a cluster tag, use this as default",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}`
|