update inventory implementation

This commit is contained in:
Johannes Kirschbauer
2024-06-21 16:45:38 +02:00
committed by hsjobeki
parent b4a8a3d047
commit 1b226c9e09
13 changed files with 349 additions and 109 deletions

View File

@@ -20,6 +20,4 @@ import (
// // A map of machines
schema.#machine
schema.#groups
}

View File

@@ -1,18 +1,10 @@
package schema
#groups: groups: {
// Machine groups
machines: {
// Group name mapped to list[machineName]
// "group1": ["machine1", "machine2"]
[string]: [...string]
}
}
#machine: machines: [string]: {
name: string,
description?: string,
icon?: string
tags: [...string]
}
#role: string
@@ -26,7 +18,10 @@ package schema
},
// We moved the machine sepcific config to "machines".
// It may be moved back depending on what makes more sense in the future.
roles: [#role]: [...string],
roles: [#role]: {
machines: [...string],
tags: [...string],
}
machines: {
[string]: {
config?: {

View File

@@ -1,39 +1,51 @@
{
"machines": {
"camina_machine": {
"name": "camina"
"name": "camina",
"tags": ["laptop"]
},
"vyr_machine": {
"name": "vyr"
},
"vi_machine": {
"name": "vi"
}
},
"groups": {
"machines": {
"laptops": ["camina_machine", "vi_machine"],
"all": ["camina_machine", "vi_machine", "vyr_machine"]
"name": "vi",
"tags": ["laptop"]
}
},
"meta": {
"name": "kenjis clan"
},
"services": {
"borgbackup-static": {
"borgbackup": {
"instance_1": {
"meta": {
"name": "My backup"
},
"roles": {
"server": ["vyr_machine"],
"client": ["group:laptops"]
"server": {
"machines": ["vyr_machine"]
},
"client": {
"machines": ["vyr_machine"],
"tags": ["laptop"]
}
},
"machines": {
"vyr_machine": {},
"vi_machine": {},
"camina_machine": {}
"machines": {},
"config": {}
},
"instance_2": {
"meta": {
"name": "My backup"
},
"roles": {
"server": {
"machines": ["vi_machine"]
},
"client": {
"machines": ["camina_machine"]
}
},
"machines": {},
"config": {}
}
}

View File

@@ -14,13 +14,15 @@
"name": "kenjis clan"
},
"services": {
"syncthing-static-peers": {
"syncthing": {
"instance_1": {
"meta": {
"name": "My sync"
},
"roles": {
"peer": ["vyr_machine", "vi_machine", "camina_machine"]
"peer": {
"machines": ["vyr_machine", "vi_machine", "camina_machine"]
}
},
"machines": {},
"config": {

View File

@@ -14,14 +14,15 @@
"name": "kenjis clan"
},
"services": {
"zerotier-static": {
"zerotier": {
"instance_1": {
"meta": {
"name": "My Network"
},
"roles": {
"server": ["vyr_machine"],
"peer": ["vi_machine", "camina_machine"]
"controller": { "machines": ["vyr_machine"] },
"moon": { "machines": ["vyr_machine"] },
"peer": { "machines": ["vi_machine", "camina_machine"] }
},
"machines": {
"vyr_machine": {