environment variable to disable orbit enroll logs (#13519)

This commit is contained in:
Tim Lee
2023-08-25 15:25:07 -06:00
committed by GitHub
parent c9227f14e0
commit 6c7edca368
6 changed files with 34 additions and 11 deletions
@@ -0,0 +1,2 @@
- EXPERIMENTAL: Applying the environmental variable "FLEETD_SILENCE_ENROLL_ERROR"=1 will silence fleetd errors if not setting `--fleet-url` when generating an orbit installer.
- Note: Set this variable before upgrading orbit, or restart the orbit service after setting it.
+9 -7
View File
@@ -22,6 +22,7 @@ import (
"github.com/fleetdm/fleet/v4/orbit/pkg/constant"
"github.com/fleetdm/fleet/v4/orbit/pkg/execuser"
"github.com/fleetdm/fleet/v4/orbit/pkg/insecure"
"github.com/fleetdm/fleet/v4/orbit/pkg/logging"
"github.com/fleetdm/fleet/v4/orbit/pkg/osquery"
"github.com/fleetdm/fleet/v4/orbit/pkg/osservice"
"github.com/fleetdm/fleet/v4/orbit/pkg/platform"
@@ -341,7 +342,8 @@ func main() {
g.Add(systemChecker.Execute, systemChecker.Interrupt)
go osservice.SetupServiceManagement(constant.SystemServiceName, systemChecker.svcInterruptCh, appDoneCh)
if !c.Bool("disable-kickstart-softwareupdated") {
// sofwareupdated is a macOS daemon that automatically updates Apple software.
if !c.Bool("disable-kickstart-softwareupdated") && runtime.GOOS == "darwin" {
log.Warn().Msg("fleetd no longer automatically kickstarts softwareupdated. The --disable-kickstart-softwareupdated flag, which was previously used to disable this behavior, has been deprecated and will be removed in a future version")
}
@@ -643,7 +645,7 @@ func main() {
if _, err := flagRunner.DoFlagsUpdate(); err != nil {
// Just log, OK to continue, since flagRunner will retry
// in flagRunner.Execute.
log.Info().Err(err).Msg("initial flags update failed")
log.Debug().Err(err).Msg("initial flags update failed")
}
g.Add(flagRunner.Execute, flagRunner.Interrupt)
@@ -659,14 +661,14 @@ func main() {
if _, err := extRunner.DoExtensionConfigUpdate(); err != nil {
// just log, OK to continue since this will get retry
log.Info().Err(err).Msg("initial update to fetch extensions from /config API failed")
logging.LogErrIfEnvNotSet(constant.SilenceEnrollLogErrorEnvVar, err, "initial update to fetch extensions from /config API failed")
}
// call UpdateAction on the updateRunner after we have fetched extensions from Fleet
_, err := updateRunner.UpdateAction()
if err != nil {
// OK, initial call may fail, ok to continue
log.Info().Err(err).Msg("initial extensions update action failed")
logging.LogErrIfEnvNotSet(constant.SilenceEnrollLogErrorEnvVar, err, "initial extensions update action failed")
}
extensionAutoLoadFile := filepath.Join(c.String("root-dir"), "extensions.load")
@@ -684,7 +686,7 @@ func main() {
case errors.Is(err, os.ErrNotExist):
// OK, nothing to do.
default:
log.Error().Err(err).Msg("error with extensions.load file at " + extensionAutoLoadFile)
logging.LogErrIfEnvNotSet(constant.SilenceEnrollLogErrorEnvVar, err, "error with extensions.load file at "+extensionAutoLoadFile)
}
g.Add(extRunner.Execute, extRunner.Interrupt)
}
@@ -1226,7 +1228,7 @@ func (f *capabilitiesChecker) execute() error {
// do an initial ping to store the initial capabilities
if err := f.client.Ping(); err != nil {
log.Error().Err(err).Msg("pinging the server")
logging.LogErrIfEnvNotSet(constant.SilenceEnrollLogErrorEnvVar, err, "pinging the server")
}
for {
@@ -1235,7 +1237,7 @@ func (f *capabilitiesChecker) execute() error {
oldCapabilities := f.client.GetServerCapabilities()
// ping the server to get the latest capabilities
if err := f.client.Ping(); err != nil {
log.Error().Err(err).Msg("pinging the server")
logging.LogErrIfEnvNotSet(constant.SilenceEnrollLogErrorEnvVar, err, "pinging the server")
continue
}
newCapabilities := f.client.GetServerCapabilities()
+2
View File
@@ -47,4 +47,6 @@ const (
// UpdateTLSClientKeyFileName is the name of the TLS client private key file
// used when connecting to the update server.
UpdateTLSClientKeyFileName = "update_client.key"
// SilenceEnrollLogErrorEnvVer is an environment variable name for disabling enroll log errors
SilenceEnrollLogErrorEnvVar = "FLEETD_SILENCE_ENROLL_ERROR"
)
+15
View File
@@ -0,0 +1,15 @@
package logging
import (
"os"
"github.com/rs/zerolog/log"
)
// LogErrIfEnvNotSet logs if the environment variable is not set to "1".
func LogErrIfEnvNotSet(envVarName string, err error, message string) {
actualValue := os.Getenv(envVarName)
if actualValue != "1" {
log.Info().Err(err).Msg(message)
}
}
+4 -3
View File
@@ -12,6 +12,7 @@ import (
"time"
"github.com/fleetdm/fleet/v4/orbit/pkg/constant"
"github.com/fleetdm/fleet/v4/orbit/pkg/logging"
"github.com/rs/zerolog/log"
)
@@ -56,10 +57,10 @@ func (r *FlagRunner) Execute() error {
case <-r.cancel:
return nil
case <-ticker.C:
log.Info().Msg("calling flags update")
log.Debug().Msg("calling flags update")
didUpdate, err := r.DoFlagsUpdate()
if err != nil {
log.Info().Err(err).Msg("flags updates failed")
logging.LogErrIfEnvNotSet(constant.SilenceEnrollLogErrorEnvVar, err, "flags updates failed")
}
if didUpdate {
log.Info().Msg("flags updated, exiting")
@@ -166,7 +167,7 @@ func (r *ExtensionRunner) Execute() error {
log.Debug().Msg("calling /config API to fetch/update extensions")
extensionsCleared, err := r.DoExtensionConfigUpdate()
if err != nil {
log.Info().Err(err).Msg("ext update failed")
logging.LogErrIfEnvNotSet(constant.SilenceEnrollLogErrorEnvVar, err, "ext update failed")
}
if extensionsCleared {
log.Info().Msg("extensions were cleared on the server")
+2 -1
View File
@@ -16,6 +16,7 @@ import (
"time"
"github.com/fleetdm/fleet/v4/orbit/pkg/constant"
"github.com/fleetdm/fleet/v4/orbit/pkg/logging"
"github.com/fleetdm/fleet/v4/orbit/pkg/platform"
"github.com/fleetdm/fleet/v4/pkg/retry"
"github.com/fleetdm/fleet/v4/server/fleet"
@@ -223,7 +224,7 @@ func (oc *OrbitClient) getNodeKeyOrEnroll() (string, error) {
endpointDoesNotExist = true
return nil
default:
log.Info().Err(err).Msg("enroll failed, retrying")
logging.LogErrIfEnvNotSet(constant.SilenceEnrollLogErrorEnvVar, err, "enroll failed, retrying")
return err
}
},