Each client access to config seeder identifies by User-Agent.
Specification
User-Agent will be sent as header:
X-User-Agent: <component>[-<subcomponent>]/<version> (<os>)
X-Hostname: <hostname>
X-Host-Identification: <name> (<sha1>)
<component>: Typically ConfigSeederClient
<subcompnent>: Optional Subcomponent (e.g. Spring, Maven, ...)
<version>: Version of the component in use
<os>: Operating system used
<hostname>: Hostname of the host
<name>: Name under which this client should be available in the statistics view
<sha1>: Unique identification of the system (may be mac address)
Examples:
X-User-Agent: ConfigSeederClient-Java/2.0.2 (Linux)
X-User-Agent: ConfigSeederClient-Spring/2.0.3 (Windows)
X-User-Agent: ConfigSeederOsConnector/1.4.2 (Linux)
X-Hostname: miraculix
Hints
- determine os:
runtime.GOOS - determine hostname:
os.Hostname() - calculate sha:
sha256 := sha256.Sum256([]byte(s)) fmt.Printf("%x\n", sha256)
Task
-
Implement Default Case for Go-Client -
Test with go-demo -
Implement mechanism with which the connectors can define the required headers -
Create task for connector-base -
Create tasks for Kubernetes Connector -
Create tasks for OS Connector
Edited by Christian Cavegn