diff --git a/snap/local/bin/source-env-file.sh b/snap/local/bin/source-env-file.sh index 7c2dd66f..81914a5e 100755 --- a/snap/local/bin/source-env-file.sh +++ b/snap/local/bin/source-env-file.sh @@ -8,15 +8,14 @@ BINPATH="${ARGV[0]}" # binary name == service name/key SERVICE=$(basename "$BINPATH") -SERVICE_ENV="$SNAP_DATA/config/$SERVICE/res/$SERVICE.env" +ENV_FILE="$SNAP_DATA/config/$SERVICE/overrides.env" TAG="edgex-$SERVICE."$(basename "$0") -if [ -f "$SERVICE_ENV" ]; then - logger --tag=$TAG "sourcing $SERVICE_ENV" +if [ -f "$ENV_FILE" ]; then + logger --tag=$TAG "sourcing $ENV_FILE" set -o allexport - source "$SERVICE_ENV" set - set +o allexport + source "$ENV_FILE" set + set +o allexport fi exec "$@" - diff --git a/snap/local/helper-go/go.mod b/snap/local/helper-go/go.mod index 883c681e..46ce0c0c 100644 --- a/snap/local/helper-go/go.mod +++ b/snap/local/helper-go/go.mod @@ -2,4 +2,4 @@ module github.com/edgexfoundry/device-virtual-go/snap/local/helper-go go 1.18 -require github.com/canonical/edgex-snap-hooks/v3 v3.0.0-20230112170125-c0580fb68dab +require github.com/canonical/edgex-snap-hooks/v3 v3.0.0-20230315092647-3e5be341fbd0 diff --git a/snap/local/helper-go/go.sum b/snap/local/helper-go/go.sum index 81198834..6e2f75a7 100644 --- a/snap/local/helper-go/go.sum +++ b/snap/local/helper-go/go.sum @@ -1,5 +1,5 @@ -github.com/canonical/edgex-snap-hooks/v3 v3.0.0-20230112170125-c0580fb68dab h1:wpiKN0hX8tqeZNa4jPvgyrqP8ixm1Xu7lcQA3bypR7w= -github.com/canonical/edgex-snap-hooks/v3 v3.0.0-20230112170125-c0580fb68dab/go.mod h1:RvJ48YbdBPZn7L8OcylOpKIlIJD+nMjo5D7WSnPYusY= +github.com/canonical/edgex-snap-hooks/v3 v3.0.0-20230315092647-3e5be341fbd0 h1:JfHMf7jDblOMgFBbJpLI4srXjQolVDNJmsT8M6oumKY= +github.com/canonical/edgex-snap-hooks/v3 v3.0.0-20230315092647-3e5be341fbd0/go.mod h1:RvJ48YbdBPZn7L8OcylOpKIlIJD+nMjo5D7WSnPYusY= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= diff --git a/snap/local/helper-go/install.go b/snap/local/helper-go/install.go index 00b9a53e..2c42e53d 100644 --- a/snap/local/helper-go/install.go +++ b/snap/local/helper-go/install.go @@ -20,6 +20,7 @@ import ( hooks "github.com/canonical/edgex-snap-hooks/v3" "github.com/canonical/edgex-snap-hooks/v3/env" "github.com/canonical/edgex-snap-hooks/v3/log" + "github.com/canonical/edgex-snap-hooks/v3/snapctl" ) func installConfig() error { @@ -38,7 +39,14 @@ func installConfig() error { func install() { log.SetComponentName("install") - if err := installConfig(); err != nil { - log.Fatalf("Error installing config files: %s", err) + // Install default config files only if no config provider is connected + isConnected, err := snapctl.IsConnected(app + "-config").Run() + if err != nil { + log.Fatalf("Error checking interface connection: %s", err) + } + if !isConnected { + if err := installConfig(); err != nil { + log.Fatalf("Error installing config files: %s", err) + } } }