diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2021-10-15 13:20:48 +0300 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2021-10-19 19:02:57 +0300 |
| commit | 10314cef906fd9b73e003be69c2f6b7b3d66570c (patch) | |
| tree | 03e8b96ad97d3382d439725166f83c774dc999a4 /internal/config | |
| parent | b27fc108ecd6eead5c97cf6e894bf8d639fff75c (diff) | |
Can configure DTail client not to mess with ~/.ssh/known_hosts via env var - this is useful for running unit and integration tests in jenkins
Diffstat (limited to 'internal/config')
| -rw-r--r-- | internal/config/client.go | 3 | ||||
| -rw-r--r-- | internal/config/initializer.go | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/internal/config/client.go b/internal/config/client.go index 9f4df97..86f97f0 100644 --- a/internal/config/client.go +++ b/internal/config/client.go @@ -104,6 +104,9 @@ type termColors struct { type ClientConfig struct { TermColorsEnable bool `json:",omitempty"` TermColors termColors `json:",omitempty"` + // When unit testing in Jenkins you don't want to touch files in ~jenkins + // during integration tests really. + SSHDontAddHostsToKnownHostsFile bool `json:",omitempty"` } // Create a new default client configuration. diff --git a/internal/config/initializer.go b/internal/config/initializer.go index 8215891..35105bf 100644 --- a/internal/config/initializer.go +++ b/internal/config/initializer.go @@ -65,6 +65,8 @@ func (in *initializer) parseSpecificConfig(configFile string) error { func (in *initializer) transformConfig(sourceProcess source.Source, args *Args, additionalArgs []string) error { + in.readEnvironmentVars() + switch sourceProcess { case source.Server: return in.optimusPrime(transformServer, args, additionalArgs) @@ -78,6 +80,14 @@ func (in *initializer) transformConfig(sourceProcess source.Source, args *Args, } } +// There are some special options which can be set by environment variable. +func (in *initializer) readEnvironmentVars() { + if len(os.Getenv("DTAIL_SSH_DONT_ADD_HOSTS_TO_KNOWNHOSTS_FILE")) != 0 || + len(os.Getenv("DTAIL_JENKINS")) != 0 { + in.Client.SSHDontAddHostsToKnownHostsFile = true + } +} + func (in *initializer) optimusPrime(sourceCb transformCb, args *Args, additionalArgs []string) error { |
