summaryrefslogtreecommitdiff
path: root/internal/config
diff options
context:
space:
mode:
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 {