From 4b05c44a8999dad0b7f8157ce0b7e41c3fcef543 Mon Sep 17 00:00:00 2001 From: Ryan Willis Date: Tue, 11 Jun 2024 22:41:15 -0700 Subject: [PATCH 1/2] add headers to test frigate connectivity --- config/config.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/config.go b/config/config.go index c9f62ec..02b209c 100644 --- a/config/config.go +++ b/config/config.go @@ -149,7 +149,7 @@ type Ntfy struct { Server string `fig:"server" default:""` Topic string `fig:"topic" default:""` Insecure bool `fig:"ignoressl" default:false` - Headers []map[string]string `fig:"headers"` + Headers []map[string]string `fig:"headers" default:[]` Template string `fig:"template" default:""` } @@ -238,7 +238,7 @@ func validateConfig() { ConfigData.Frigate.StartupCheck.Interval = 30 } for current_attempt < ConfigData.Frigate.StartupCheck.Attempts { - response, err = util.HTTPGet(statsAPI, ConfigData.Frigate.Insecure) + response, err = util.HTTPGet(statsAPI, ConfigData.Frigate.Insecure, ConfigData.Frigate.Headers...) if err != nil { log.Warn(). Err(err). From d1b2f53576e36dc49d3670ba3fd95972927872f0 Mon Sep 17 00:00:00 2001 From: Ryan Willis Date: Tue, 11 Jun 2024 22:42:09 -0700 Subject: [PATCH 2/2] allow config to be loaded from environment only --- .dockerignore | 7 +++++++ .github/workflows/docker-publish.yml | 6 +++--- config/config.go | 21 ++++++++++++++++----- 3 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a072ac7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +.git* +docs +screenshots +example-config.yml +docker-compose.yml +mkdocs.yml +README.md \ No newline at end of file diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index c8ea463..9c128af 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -25,7 +25,7 @@ jobs: - name: Install cosign if: github.event_name != 'pull_request' - uses: sigstore/cosign-installer@v3.3.0 + uses: sigstore/cosign-installer@v3.3.0 with: cosign-release: 'v2.2.3' @@ -42,13 +42,13 @@ jobs: - name: Extract Docker metadata id: meta - uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 + uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push Docker image id: build-and-push - uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 + uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 with: context: . push: ${{ github.event_name != 'pull_request' }} diff --git a/config/config.go b/config/config.go index 02b209c..4482a99 100644 --- a/config/config.go +++ b/config/config.go @@ -2,6 +2,7 @@ package config import ( "encoding/json" + "errors" "fmt" "html/template" "os" @@ -182,15 +183,25 @@ func LoadConfig(configFile string) { } // Load Config file - log.Debug().Msgf("Loading config file: %v", configFile) + log.Debug().Msgf("Attempting to load config file: %v", configFile) err := fig.Load(&ConfigData, fig.File(filepath.Base(configFile)), fig.Dirs(filepath.Dir(configFile)), fig.UseEnv("FN")) if err != nil { - log.Fatal(). - Err(err). - Msg("Failed to load config file!") + if errors.Is(err, fig.ErrFileNotFound) { + log.Warn().Msg("Config file could not be read, attempting to load config from environment") + err = fig.Load(&ConfigData, fig.IgnoreFile(), fig.UseEnv("FN")) + if err != nil { + log.Fatal(). + Err(err). + Msg("Failed to load config from environment!") + } + } else { + log.Fatal(). + Err(err). + Msg("Failed to load config from file!") + } } - log.Info().Msg("Config file loaded.") + log.Info().Msg("Config loaded.") // Send config file to validation before completing validateConfig()