gather Node Specs
fun gatherNodeSpecs(executor: ExecutorService, name: String? = null, description: String? = null, units: List<String> = listOf(), interfaceAddresses: List<String> = interfaceAddresses(), cpuInfo: InputStream = try {
Path.of("/proc/cpuinfo").inputStream()
} catch (e: Exception) {
IO.printError("Failed to parse system specs: ${e.message}")
InputStream.nullInputStream()
}, memInfo: InputStream = try {
Path.of("/proc/meminfo").inputStream()
} catch (e: Exception) {
IO.printError("Failed to parse system specs: ${e.message}")
InputStream.nullInputStream()
}, specsData: String = try {
Processor(executor).run(
listOf(
"/usr/bin/hostnamectl",
"--json=pretty"
)
).decodeToString()
} catch (e: Exception) {
"Error, unsupported operating system: ${e.message}"
}, image: String? = null, imageFormat: String? = null, includeEnvironment: Boolean = false): NodeSpecs