diff --git a/.env.example b/.env.example index 81e449e5c6..84bd766f63 100644 --- a/.env.example +++ b/.env.example @@ -7,7 +7,7 @@ NEXTAUTH_URL=123 NEXTAUTH_SECRET=123 # Maptile configuration -NEXT_PUBLIC_MAPTILER_STYLE_KEY=123 +MAPTILER_API_KEY=123 # SEO PREVENT_SEARCH_BOTS=false diff --git a/CHANGELOG.md b/CHANGELOG.md index 198e4bb9e4..48723479db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ You can also check the - Features - Add SPARQL endpoints in the OpenTelemetry traces +- Maintenance + - Set Maptiler API key from `MAPTILER_API_KEY` environment variable at + runtime, to avoid having to rebuild the application when the key is rotated ### 6.4.0 – 2026-03-13 diff --git a/Dockerfile b/Dockerfile index 1b2cc054e4..25d12a1d06 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,6 @@ WORKDIR /usr/src/app # --build-arg PREVENT_SEARCH_BOTS= \ # --build-arg COMMIT=$(git rev-parse HEAD) \ # --build-arg VECTOR_TILE_URL= \ -# --build-arg MAPTILER_STYLE_KEY= \ # --build-arg ADFS_ID= \ # --build-arg ADFS_ISSUER= \ # --build-arg ADFS_PROFILE_URL= \ @@ -19,7 +18,6 @@ WORKDIR /usr/src/app ARG PREVENT_SEARCH_BOTS ARG COMMIT ARG VECTOR_TILE_URL -ARG MAPTILER_STYLE_KEY ARG ADFS_ID ARG ADFS_ISSUER ARG ADFS_PROFILE_URL @@ -40,7 +38,6 @@ ENV PORT=3000 ENV PREVENT_SEARCH_BOTS=$PREVENT_SEARCH_BOTS ENV NEXT_PUBLIC_COMMIT=$COMMIT ENV NEXT_PUBLIC_BASE_VECTOR_TILE_URL=$VECTOR_TILE_URL -ENV NEXT_PUBLIC_MAPTILER_STYLE_KEY=$MAPTILER_STYLE_KEY ENV ADFS_ID=$ADFS_ID ENV ADFS_ISSUER=$ADFS_ISSUER ENV ADFS_PROFILE_URL=$ADFS_PROFILE_URL diff --git a/app/.env.development b/app/.env.development index 18585d13fb..d9b8f73f54 100644 --- a/app/.env.development +++ b/app/.env.development @@ -3,7 +3,6 @@ ENDPOINT=sparql+https://cached.lindas.admin.ch/query SPARQL_GEO_ENDPOINT=https://geo.ld.admin.ch/query GRAPHQL_ENDPOINT=/api/graphql WHITELISTED_DATA_SOURCES=["Prod", "Prod-uncached", "Int", "Int-uncached", "Test", "Test-uncached", "LINDASold-Prod", "LINDASold-Prod-uncached", "LINDASold-Int", "LINDASold-Int-uncached", "LINDASold-Test", "LINDASold-Test-uncached"] -NEXT_PUBLIC_VECTOR_TILE_URL=https://world.vectortiles.geo.admin.ch -NEXT_PUBLIC_MAPTILER_STYLE_KEY=123 +MAPTILER_API_KEY=123 ADFS_PROFILE_URL=https://www.myaccount-r.eiam.admin.ch/ NEXTAUTH_URL=https://localhost:3000 diff --git a/app/charts/map/get-base-layer-style.ts b/app/charts/map/get-base-layer-style.ts index 4a09884861..2a910df912 100644 --- a/app/charts/map/get-base-layer-style.ts +++ b/app/charts/map/get-base-layer-style.ts @@ -2,7 +2,7 @@ import merge from "lodash/merge"; import { useMemo } from "react"; import { MapboxStyle } from "react-map-gl"; -import { BASE_VECTOR_TILE_URL, MAPTILER_STYLE_KEY } from "@/domain/env"; +import { BASE_VECTOR_TILE_URL, MAPTILER_API_KEY } from "@/domain/env"; import { Locale } from "../../locales/locales"; @@ -10,7 +10,7 @@ import greyStyleBase from "./grey.json"; import { hasLayout, mapLayers, replaceStyleTokens } from "./style-helpers"; const tokens = { - "{key}": MAPTILER_STYLE_KEY, + "{key}": MAPTILER_API_KEY, "": BASE_VECTOR_TILE_URL, }; diff --git a/app/domain/env.ts b/app/domain/env.ts index 8cfffc326f..fe46dfec88 100644 --- a/app/domain/env.ts +++ b/app/domain/env.ts @@ -48,6 +48,9 @@ export const GA_TRACKING_ID = export const ADFS_PROFILE_URL = clientEnv?.ADFS_PROFILE_URL ?? process.env.ADFS_PROFILE_URL; +export const MAPTILER_API_KEY = + clientEnv?.MAPTILER_API_KEY ?? process.env.MAPTILER_API_KEY ?? ""; + /** * Server-side-only **RUNTIME** variables (not exposed through window) */ @@ -66,5 +69,3 @@ export const BUILD_GITHUB_REPO = ( ).replace(/^git\+https/, "https"); // Don't use git+https for the link, need to check with Abraxas export const BASE_VECTOR_TILE_URL = process.env.NEXT_PUBLIC_BASE_VECTOR_TILE_URL ?? ""; -export const MAPTILER_STYLE_KEY = - process.env.NEXT_PUBLIC_MAPTILER_STYLE_KEY ?? ""; diff --git a/app/pages/api/client-env.ts b/app/pages/api/client-env.ts index d368c1b608..c5c177a23a 100644 --- a/app/pages/api/client-env.ts +++ b/app/pages/api/client-env.ts @@ -24,6 +24,7 @@ export default async function clientEnvApi( PUBLIC_URL: process.env.PUBLIC_URL, GRAPHQL_ENDPOINT: process.env.GRAPHQL_ENDPOINT, ADFS_PROFILE_URL: process.env.ADFS_PROFILE_URL, + MAPTILER_API_KEY: process.env.MAPTILER_API_KEY, })}`; if (result) { diff --git a/scripts/docker-build-push.sh b/scripts/docker-build-push.sh index 9721732650..d7e62a4eb4 100755 --- a/scripts/docker-build-push.sh +++ b/scripts/docker-build-push.sh @@ -19,7 +19,6 @@ docker build \ --label "COMMIT=$CI_COMMIT_SHA" \ --label "TAGS=$DOCKER_IMAGE_TAGS" \ --build-arg COMMIT=$CI_COMMIT_SHA \ - --build-arg MAPTILER_STYLE_KEY=$MAPTILER_STYLE_KEY \ --build-arg VECTOR_TILE_URL=$VECTOR_TILE_URL \ --build-arg ADFS_ID=$ADFS_ID \ --build-arg ADFS_ISSUER=$ADFS_ISSUER \