summaryrefslogtreecommitdiff
path: root/internal/config
diff options
context:
space:
mode:
authorPaul Buetow <pbuetow@mimecast.com>2021-10-15 13:20:48 +0300
committerPaul Buetow <pbuetow@mimecast.com>2021-10-19 19:02:57 +0300
commit10314cef906fd9b73e003be69c2f6b7b3d66570c (patch)
tree03e8b96ad97d3382d439725166f83c774dc999a4 /internal/config
parentb27fc108ecd6eead5c97cf6e894bf8d639fff75c (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.go3
-rw-r--r--internal/config/initializer.go10
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 {