parts/k8s/windowshostsconfigagentfunc.ps1 (20 lines of code) (raw):

function New-HostsConfigService { $HostsConfigParameters = [io.path]::Combine($KubeDir, "hostsconfigagent.ps1") & "$KubeDir\nssm.exe" install hosts-config-agent C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppDirectory "$KubeDir" | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppParameters $HostsConfigParameters | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppRestartDelay 5000 | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent Description hosts-config-agent | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent Start SERVICE_DEMAND_START | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent ObjectName LocalSystem | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent Type SERVICE_WIN32_OWN_PROCESS | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppThrottle 1500 | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppStdout "$KubeDir\hosts-config-agent.log" | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppStderr "$KubeDir\hosts-config-agent.err.log" | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppStdoutCreationDisposition 4 | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppStderrCreationDisposition 4 | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppRotateFiles 1 | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppRotateOnline 1 | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppRotateSeconds 86400 | RemoveNulls & "$KubeDir\nssm.exe" set hosts-config-agent AppRotateBytes 10485760 | RemoveNulls }