mirror of
				https://github.com/ClusterCockpit/cc-backend
				synced 2025-10-31 07:55:06 +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"
 | |
| 								}
 | |
| 							}
 | |
| 						}
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
|         }
 | |
|     }
 | |
| }`
 |