bed72f6078
* Rename agent/proxy package to reflect that it is limited to managed proxy processes Rationale: we have several other components of the agent that relate to Connect proxies for example the ProxyConfigManager component needed for Envoy work. Those things are pretty separate from the focus of this package so far which is only concerned with managing external proxy processes so it's nota good fit to put code for that in here, yet there is a naming clash if we have other packages related to proxy functionality that are not in the `agent/proxy` package. Happy to bikeshed the name. I started by calling it `managedproxy` but `managedproxy.Manager` is especially unpleasant. `proxyprocess` seems good in that it's more specific about purpose but less clearly connected with the concept of "managed proxies". The names in use are cleaner though e.g. `proxyprocess.Manager`. This rename was completed automatically using golang.org/x/tools/cmd/gomvpkg. Depends on #4541 * Fix missed windows tagged files
25 lines
519 B
Go
25 lines
519 B
Go
package proxyprocess
|
|
|
|
import (
|
|
"os"
|
|
)
|
|
|
|
// isRoot returns true if the process is executing as root.
|
|
func isRoot() bool {
|
|
if testRootValue != nil {
|
|
return *testRootValue
|
|
}
|
|
|
|
return os.Geteuid() == 0
|
|
}
|
|
|
|
// testSetRootValue is a test helper for setting the root value.
|
|
func testSetRootValue(v bool) func() {
|
|
testRootValue = &v
|
|
return func() { testRootValue = nil }
|
|
}
|
|
|
|
// testRootValue should be set to a non-nil value to return it as a stub
|
|
// from isRoot. This should only be used in tests.
|
|
var testRootValue *bool
|