gatherNodeSpecs

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