From c5a6f7c0621d54d719e6d0d2ddad9943ee067b16 Mon Sep 17 00:00:00 2001 From: julwrites Date: Wed, 26 Nov 2025 07:22:59 +0800 Subject: [PATCH 1/3] Switching to use a fallback mechanism --- pkg/app/api_client.go | 20 +++++++++++++++++--- pkg/bot/bot.go | 3 --- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/pkg/app/api_client.go b/pkg/app/api_client.go index 3578a59..e5aee97 100644 --- a/pkg/app/api_client.go +++ b/pkg/app/api_client.go @@ -56,9 +56,23 @@ func getAPIConfig(projectID string) (string, string) { // If env vars are missing, try to fetch from Secret Manager if url == "" || key == "" { - envProjectID := os.Getenv("GCLOUD_PROJECT_ID") - if envProjectID != "" { - projectID = envProjectID + // Try to fetch project ID first from secrets + if projectID == "" { + projectID := env.Secrets.PROJECT_ID + + // Then from env + if projectID == "" { + projectID := os.Getenv("GCLOUD_PROJECT_ID") + + // Then from secrets + if projectID == "" { + var err error + projectID, err = getSecretFunc(projectID, "GCLOUD_PROJECT_ID") + if err != nil { + log.Printf("Failed to fetch GCLOUD_PROJECT_ID from Secret Manager: %v", err) + } + } + } } if projectID != "" { diff --git a/pkg/bot/bot.go b/pkg/bot/bot.go index 582cee7..6c1407f 100644 --- a/pkg/bot/bot.go +++ b/pkg/bot/bot.go @@ -28,9 +28,6 @@ func RunCommands(env def.SessionData) def.SessionData { env.Msg.Command = app.CMD_CLOSE } - // Propagate secrets - env.Secrets.PROJECT_ID = os.Getenv("GCLOUD_PROJECT_ID") - env = app.ProcessCommand(env) return env From 48ec8d7e5cb16040732ae5535de18e0b9d974e9f Mon Sep 17 00:00:00 2001 From: julwrites Date: Wed, 26 Nov 2025 07:26:37 +0800 Subject: [PATCH 2/3] env.Secrets is already default --- pkg/app/api_client.go | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/pkg/app/api_client.go b/pkg/app/api_client.go index e5aee97..838afc1 100644 --- a/pkg/app/api_client.go +++ b/pkg/app/api_client.go @@ -56,21 +56,16 @@ func getAPIConfig(projectID string) (string, string) { // If env vars are missing, try to fetch from Secret Manager if url == "" || key == "" { - // Try to fetch project ID first from secrets + // Try to fetch project ID first from env if projectID == "" { - projectID := env.Secrets.PROJECT_ID + projectID := os.Getenv("GCLOUD_PROJECT_ID") - // Then from env + // Then from secrets if projectID == "" { - projectID := os.Getenv("GCLOUD_PROJECT_ID") - - // Then from secrets - if projectID == "" { - var err error - projectID, err = getSecretFunc(projectID, "GCLOUD_PROJECT_ID") - if err != nil { - log.Printf("Failed to fetch GCLOUD_PROJECT_ID from Secret Manager: %v", err) - } + var err error + projectID, err = getSecretFunc(projectID, "GCLOUD_PROJECT_ID") + if err != nil { + log.Printf("Failed to fetch GCLOUD_PROJECT_ID from Secret Manager: %v", err) } } } From 2cd56b7e517be116f415d3c7fd2f65d12df37a4e Mon Sep 17 00:00:00 2001 From: julwrites Date: Wed, 26 Nov 2025 07:34:41 +0800 Subject: [PATCH 3/3] Fixing some errors in CI --- .github/workflows/automation.yml | 1 + pkg/bot/bot.go | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/automation.yml b/.github/workflows/automation.yml index 65d43ad..6b94c67 100644 --- a/.github/workflows/automation.yml +++ b/.github/workflows/automation.yml @@ -23,6 +23,7 @@ jobs: env: BIBLE_API_URL: ${{ secrets.BIBLE_API_URL }} BIBLE_API_KEY: ${{ secrets.BIBLE_API_KEY }} + GCLOUD_PROJECT_ID: ${{ secrets.GCLOUD_PROJECT_ID }} run: | go mod tidy go test github.com/julwrites/ScriptureBot/pkg/utils \ diff --git a/pkg/bot/bot.go b/pkg/bot/bot.go index 6c1407f..cadceae 100644 --- a/pkg/bot/bot.go +++ b/pkg/bot/bot.go @@ -6,7 +6,6 @@ package bot import ( "fmt" "log" - "os" "github.com/julwrites/BotPlatform/pkg/def"