From 4bb33f783fb9b45a4c664abc4bbbbaf917e5a395 Mon Sep 17 00:00:00 2001 From: Isaque Santos Date: Mon, 10 Aug 2026 14:48:52 -0300 Subject: [PATCH] chore: move Algolia search keys from source code to environment variables Replace hardcoded Algolia app id and search-only api key with PUBLIC_ALGOLIA_APP_ID and PUBLIC_ALGOLIA_SEARCH_KEY read via import.meta.env, remove the unused ALGOLIA_ID/ALGOLIA_APIKEY exports from consts, document the variables in .env.example, and export them in the dev/stage/prod build workflows. Refs: MM-15902 --- .env.example | 6 ++++++ .github/workflows/dev.yml | 2 ++ .github/workflows/prod.yml | 2 ++ .github/workflows/stage.yml | 2 ++ env/consts.development.ts | 3 --- env/consts.localhost.ts | 3 --- env/consts.production.ts | 3 --- env/consts.stage.ts | 3 --- src/consts.ts | 3 --- src/layouts/BaseLayout.astro | 4 ++-- 10 files changed, 14 insertions(+), 17 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000000..604c92c362 --- /dev/null +++ b/.env.example @@ -0,0 +1,6 @@ +# Algolia DocSearch (search-only credentials, exposed to the client) +PUBLIC_ALGOLIA_APP_ID= +PUBLIC_ALGOLIA_SEARCH_KEY= + +# GitHub token used to fetch contributors/authors lists +PUBLIC_GITHUB_TOKEN= diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 555730b1db..cdd07ca378 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -31,6 +31,8 @@ jobs: run: | export NODE_OPTIONS="--max-old-space-size=8120" export PUBLIC_GITHUB_TOKEN="${{ secrets.GH_PACKAGES_SECRET }}" + export PUBLIC_ALGOLIA_APP_ID="${{ secrets.PUBLIC_ALGOLIA_APP_ID }}" + export PUBLIC_ALGOLIA_SEARCH_KEY="${{ secrets.PUBLIC_ALGOLIA_SEARCH_KEY }}" pnpm run build:dev - name: 'AUTH Google Cloud' uses: 'google-github-actions/auth@v2' diff --git a/.github/workflows/prod.yml b/.github/workflows/prod.yml index 4681b179a4..4b7ae78361 100644 --- a/.github/workflows/prod.yml +++ b/.github/workflows/prod.yml @@ -39,6 +39,8 @@ jobs: run: | export NODE_OPTIONS="--max-old-space-size=8120" export PUBLIC_GITHUB_TOKEN="${{ secrets.GH_PACKAGES_SECRET }}" + export PUBLIC_ALGOLIA_APP_ID="${{ secrets.PUBLIC_ALGOLIA_APP_ID }}" + export PUBLIC_ALGOLIA_SEARCH_KEY="${{ secrets.PUBLIC_ALGOLIA_SEARCH_KEY }}" pnpm run build:prod - name: UPDATE Algolia data diff --git a/.github/workflows/stage.yml b/.github/workflows/stage.yml index 26f3b19ee0..874fe86e35 100644 --- a/.github/workflows/stage.yml +++ b/.github/workflows/stage.yml @@ -31,6 +31,8 @@ jobs: run: | export NODE_OPTIONS="--max-old-space-size=8120" export PUBLIC_GITHUB_TOKEN="${{ secrets.GH_PACKAGES_SECRET }}" + export PUBLIC_ALGOLIA_APP_ID="${{ secrets.PUBLIC_ALGOLIA_APP_ID }}" + export PUBLIC_ALGOLIA_SEARCH_KEY="${{ secrets.PUBLIC_ALGOLIA_SEARCH_KEY }}" pnpm run build:stage - name: 'AUTH Google Cloud' uses: 'google-github-actions/auth@v2' diff --git a/env/consts.development.ts b/env/consts.development.ts index c11a1d5517..39f10e2c1d 100644 --- a/env/consts.development.ts +++ b/env/consts.development.ts @@ -4,9 +4,6 @@ export const ASSETS_URL = 'https://z4azz7gp65.map.azionedge.net'; export const FAVICON_URL = 'https://z4azz7gp65.map/assets/images/favicon.png'; export const FONTS_URL = 'https://fonts.azion.com'; -export const ALGOLIA_ID = 'PYJUZH6VNQ'; -export const ALGOLIA_APIKEY = '7c1795c333053265edd2aeb199745797'; - // Analytics Configuration export const ANALYTICS_WRITE_KEY = 'YUr3hmFXyFN1n2dXL7pp1DXilTzgUAIT'; export const ANALYTICS_PROXY_URL = 'https://www.azion.com/api/segment-proxy'; diff --git a/env/consts.localhost.ts b/env/consts.localhost.ts index 7ef01ed47b..7181e64c01 100644 --- a/env/consts.localhost.ts +++ b/env/consts.localhost.ts @@ -4,9 +4,6 @@ export const ASSETS_URL = 'http://localhost:4321'; export const FAVICON_URL = 'https://www.azion.com/assets/images/favicon.png'; export const FONTS_URL = 'https://fonts.azion.com'; -export const ALGOLIA_ID = 'PYJUZH6VNQ'; -export const ALGOLIA_APIKEY = '7c1795c333053265edd2aeb199745797'; - // Analytics Configuration export const ANALYTICS_WRITE_KEY = ''; export const ANALYTICS_PROXY_URL = ''; diff --git a/env/consts.production.ts b/env/consts.production.ts index 7ac0acf145..388114b481 100644 --- a/env/consts.production.ts +++ b/env/consts.production.ts @@ -4,9 +4,6 @@ export const ASSETS_URL = 'https://www.azion.com'; export const FAVICON_URL = 'https://www.azion.com/assets/images/favicon.png'; export const FONTS_URL = 'https://fonts.azion.com'; -export const ALGOLIA_ID = 'PYJUZH6VNQ'; -export const ALGOLIA_APIKEY = '7c1795c333053265edd2aeb199745797'; - // Analytics Configuration export const ANALYTICS_WRITE_KEY = 'YUr3hmFXyFN1n2dXL7pp1DXilTzgUAIT'; export const ANALYTICS_PROXY_URL = 'https://www.azion.com/api/segment-proxy'; diff --git a/env/consts.stage.ts b/env/consts.stage.ts index 141c62bed2..e1cf505f9e 100644 --- a/env/consts.stage.ts +++ b/env/consts.stage.ts @@ -4,9 +4,6 @@ export const ASSETS_URL = 'https://52082s.ha.azioncdn.net'; export const FAVICON_URL = 'https://52082s.ha.azioncdn.net/assets/images/favicon.png'; export const FONTS_URL = 'https://fonts.azion.com'; -export const ALGOLIA_ID = 'PYJUZH6VNQ'; -export const ALGOLIA_APIKEY = '7c1795c333053265edd2aeb199745797'; - // Analytics Configuration export const ANALYTICS_WRITE_KEY = 'YUr3hmFXyFN1n2dXL7pp1DXilTzgUAIT'; export const ANALYTICS_PROXY_URL = 'https://www.azion.com/api/segment-proxy'; diff --git a/src/consts.ts b/src/consts.ts index 7ef01ed47b..7181e64c01 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -4,9 +4,6 @@ export const ASSETS_URL = 'http://localhost:4321'; export const FAVICON_URL = 'https://www.azion.com/assets/images/favicon.png'; export const FONTS_URL = 'https://fonts.azion.com'; -export const ALGOLIA_ID = 'PYJUZH6VNQ'; -export const ALGOLIA_APIKEY = '7c1795c333053265edd2aeb199745797'; - // Analytics Configuration export const ANALYTICS_WRITE_KEY = ''; export const ANALYTICS_PROXY_URL = ''; diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index d964075544..ff9e09a009 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -245,8 +245,8 @@ const translatedPages = await (async (c) => {