From 42dde2d547a8a7cf61500379f6d46cbaa2a9d80c Mon Sep 17 00:00:00 2001 From: Tim Clifford Date: Mon, 11 Jan 2021 14:27:06 +0000 Subject: [PATCH] Pre-req bug fix --- .lagoon.yml | 176 +++++++++++++++++++++--------------------- synchers/mariadb.go | 17 ++-- synchers/mongodb.go | 7 +- synchers/postgres.go | 7 +- synchers/syncutils.go | 4 +- 5 files changed, 101 insertions(+), 110 deletions(-) diff --git a/.lagoon.yml b/.lagoon.yml index e8127c9..3ea0784 100644 --- a/.lagoon.yml +++ b/.lagoon.yml @@ -1,91 +1,91 @@ docker-compose-yaml: docker-compose.yml -source-environment-defaults: - postgres: - config: - hostname: "$POSTGRES_HOST" - username: "$POSTGRES_USERNAME" - password: "$POSTGRES_PASSWORD" - port: "5432" - database: "$POSTGRES_DATABASE" - mariadb: - config: - hostname: "$MARIADB_HOST" - username: "$MARIADB_USERNAME" - password: "$MARIADB_PASSWORD" - port: "$MARIADB_PORT" - database: "$MARIADB_DATABASE" - files: - config: - sync-directory: "/app/web/sites/default/files" - drupalconfig: - config: - syncpath: "./config/sync" +# source-environment-defaults: +# postgres: +# config: +# hostname: "$POSTGRES_HOST" +# username: "$POSTGRES_USERNAME" +# password: "$POSTGRES_PASSWORD" +# port: "5432" +# database: "$POSTGRES_DATABASE" +# mariadb: +# config: +# hostname: "$MARIADB_HOST" +# username: "$MARIADB_USERNAME" +# password: "$MARIADB_PASSWORD" +# port: "$MARIADB_PORT" +# database: "$MARIADB_DATABASE" +# files: +# config: +# sync-directory: "/app/web/sites/default/files" +# drupalconfig: +# config: +# syncpath: "./config/sync" -lagoon-sync: - postgres: - config: - hostname: "$POSTGRES_HOST" - username: "$POSTGRES_USERNAME" - password: "$POSTGRES_PASSWORD" - port: "5432" - database: "$POSTGRES_DATABASE" - exclude-table: - - cachewhatever - - someothertable - exclude-table-data: - - cache_data - - cache_menu - local: - config: - hostname: "drupal" - username: "drupal" - password: "drupal" - port: "3306" - database: "drupal" - mongodb: - config: - hostname: "$HOSTNAME" - port: "$MONGODB_SERVICE_PORT" - database: "local" - local: - config: - hostname: "$HOSTNAME" - port: "27017" - database: "local" - mariadb: - config: - hostname: "$MARIADB_HOST" - username: "$MARIADB_USERNAME" - password: "$MARIADB_PASSWORD" - port: "$MARIADB_PORT" - database: "$MARIADB_DATABASE" - ignore-table: - - cachewhatever - - someothertable - ignore-table-data: - - cache_data - - cache_menu - local: - config: - hostname: "drupal" - username: "drupal" - password: "drupal" - port: "3306" - database: "drupal" - files: - config: - sync-directory: "/app/storage" - exclude: - - "app" - - "framework" - local: - config: - sync-directory: "/tmp/storageout" - drupalconfig: - config: - syncpath: "./config/sync" - local: - overrides: - config: - syncpath: "./config/sync" \ No newline at end of file +# lagoon-sync: +# postgres: +# config: +# hostname: "$POSTGRES_HOST" +# username: "$POSTGRES_USERNAME" +# password: "$POSTGRES_PASSWORD" +# port: "5432" +# database: "$POSTGRES_DATABASE" +# exclude-table: +# - cachewhatever +# - someothertable +# exclude-table-data: +# - cache_data +# - cache_menu +# local: +# config: +# hostname: "drupal" +# username: "drupal" +# password: "drupal" +# port: "3306" +# database: "drupal" +# mongodb: +# config: +# hostname: "$HOSTNAME" +# port: "$MONGODB_SERVICE_PORT" +# database: "local" +# local: +# config: +# hostname: "$HOSTNAME" +# port: "27017" +# database: "local" +# mariadb: +# config: +# hostname: "$MARIADB_HOST" +# username: "$MARIADB_USERNAME" +# password: "$MARIADB_PASSWORD" +# port: "$MARIADB_PORT" +# database: "$MARIADB_DATABASE" +# ignore-table: +# - cachewhatever +# - someothertable +# ignore-table-data: +# - cache_data +# - cache_menu +# local: +# config: +# hostname: "drupal" +# username: "drupal" +# password: "drupal" +# port: "3306" +# database: "drupal" +# files: +# config: +# sync-directory: "/app/storage" +# exclude: +# - "app" +# - "framework" +# local: +# config: +# sync-directory: "/tmp/storageout" +# drupalconfig: +# config: +# syncpath: "./config/sync" +# local: +# overrides: +# config: +# syncpath: "./config/sync" \ No newline at end of file diff --git a/synchers/mariadb.go b/synchers/mariadb.go index 60c1d6b..7a690cd 100644 --- a/synchers/mariadb.go +++ b/synchers/mariadb.go @@ -20,19 +20,19 @@ type BaseMariaDbSync struct { func (mariaConfig *BaseMariaDbSync) setDefaults() { // If no values from config files, set some expected defaults if mariaConfig.DbHostname == "" { - mariaConfig.DbHostname = "$MARIADB_HOST" + mariaConfig.DbHostname = "$DB_HOST" } if mariaConfig.DbUsername == "" { - mariaConfig.DbUsername = "$MARIADB_USERNAME" + mariaConfig.DbUsername = "$DB_USERNAME" } if mariaConfig.DbPassword == "" { - mariaConfig.DbPassword = "$MARIADB_PASSWORD" + mariaConfig.DbPassword = "$DB_PASSWORD" } if mariaConfig.DbPort == "" { - mariaConfig.DbPort = "$MARIADB_PORT" + mariaConfig.DbPort = "$DB_PORT" } if mariaConfig.DbDatabase == "" { - mariaConfig.DbDatabase = "$MARIADB_DATABASE" + mariaConfig.DbDatabase = "$DB_DATABASE" } if mariaConfig.IgnoreTable == nil { mariaConfig.IgnoreTable = []string{} @@ -68,10 +68,7 @@ func (m MariadbSyncPlugin) UnmarshallYaml(root SyncherConfigRoot) (Syncer, error pluginIDLagoonSync := root.LagoonSync[m.GetPluginId()] pluginIDEnvDefaults := root.EnvironmentDefaults[m.GetPluginId()] - if pluginIDLagoonSync == nil { - pluginIDLagoonSync = "mariadb" - } - if pluginIDEnvDefaults == nil { + if pluginIDLagoonSync == nil || pluginIDEnvDefaults == nil { pluginIDEnvDefaults = "mariadb" } @@ -99,7 +96,7 @@ func (root MariadbSyncRoot) PrepareSyncer() (Syncer, error) { } func (root MariadbSyncRoot) GetPrerequisiteCommand(environment Environment, command string) SyncCommand { - lagoonSyncBin := "$(which ./lagoon-sync || which /tmp/lagoon-sync* || which lagoon-sync)" + lagoonSyncBin := "lagoon_sync=$(which ./lagoon-sync* || which /tmp/lagoon-sync || false) && $lagoon_sync" return SyncCommand{ command: fmt.Sprintf("{{ .bin }} {{ .command }} || true"), diff --git a/synchers/mongodb.go b/synchers/mongodb.go index 5ca3adc..51bf4fa 100644 --- a/synchers/mongodb.go +++ b/synchers/mongodb.go @@ -52,10 +52,7 @@ func (m MongoDbSyncPlugin) UnmarshallYaml(root SyncherConfigRoot) (Syncer, error pluginIDLagoonSync := root.LagoonSync[m.GetPluginId()] pluginIDEnvDefaults := root.EnvironmentDefaults[m.GetPluginId()] - if pluginIDLagoonSync == nil { - pluginIDLagoonSync = "mongodb" - } - if pluginIDEnvDefaults == nil { + if pluginIDLagoonSync == nil || pluginIDEnvDefaults == nil { pluginIDEnvDefaults = "mongodb" } @@ -82,7 +79,7 @@ func (root MongoDbSyncRoot) PrepareSyncer() (Syncer, error) { } func (root MongoDbSyncRoot) GetPrerequisiteCommand(environment Environment, command string) SyncCommand { - lagoonSyncBin := "$(which ./lagoon-sync || which /tmp/lagoon-sync* || which lagoon-sync)" + lagoonSyncBin := "lagoon_sync=$(which ./lagoon-sync* || which /tmp/lagoon-sync || false) && $lagoon_sync" return SyncCommand{ command: fmt.Sprintf("{{ .bin }} {{ .command }} || true"), diff --git a/synchers/postgres.go b/synchers/postgres.go index 9bfdf68..1524267 100644 --- a/synchers/postgres.go +++ b/synchers/postgres.go @@ -60,10 +60,7 @@ func (m PostgresSyncPlugin) UnmarshallYaml(syncerConfigRoot SyncherConfigRoot) ( pluginIDLagoonSync := syncerConfigRoot.LagoonSync[m.GetPluginId()] pluginIDEnvDefaults := syncerConfigRoot.EnvironmentDefaults[m.GetPluginId()] - if pluginIDLagoonSync == nil { - pluginIDLagoonSync = "postgres" - } - if pluginIDEnvDefaults == nil { + if pluginIDLagoonSync == nil || pluginIDEnvDefaults == nil { pluginIDEnvDefaults = "postgres" } @@ -89,7 +86,7 @@ func (root PostgresSyncRoot) PrepareSyncer() (Syncer, error) { } func (root PostgresSyncRoot) GetPrerequisiteCommand(environment Environment, command string) SyncCommand { - lagoonSyncBin := "which lagoon-sync" + lagoonSyncBin := "lagoon_sync=$(which ./lagoon-sync* || which /tmp/lagoon-sync || false) && $lagoon_sync" return SyncCommand{ command: fmt.Sprintf("{{ .bin }} {{ .command }}"), diff --git a/synchers/syncutils.go b/synchers/syncutils.go index 0eca817..da89ee6 100644 --- a/synchers/syncutils.go +++ b/synchers/syncutils.go @@ -97,7 +97,7 @@ func RunPrerequisiteCommand(environment Environment, syncer Syncer, dryRun bool, err, configResponseJson, errstring := Shellout(execString) if err != nil { fmt.Println(errstring) - return "", err + // return "", err } data := &PreRequisiteResponse{} @@ -107,7 +107,7 @@ func RunPrerequisiteCommand(environment Environment, syncer Syncer, dryRun bool, log.Printf("Config response: %v", configResponseJson) configRespSuccessful = true } else { - log.Printf("%v-----\nWarning: Check if lagoon-sync is available on %s\n-----", configResponseJson, environment.EnvironmentName) + log.Printf("%v\n-----\nWarning: lagoon-sync is not available on %s\n-----", configResponseJson, environment.EnvironmentName) configRespSuccessful = false }