The Daily Weather Plugin for Backstage provides real-time weather information for a specified location using the Weatherstack API. This plugin includes a secure backend proxy configuration to fetch weather data without exposing your API key.
To install the plugin, run the following command:
yarn --cwd packages/app add @infosys_ltd/daily-weather-pluginAfter installation, create an account on Weatherstack and generate your API Access Key.
Update your app-config.yaml file with the following proxy configuration:
proxy:
endpoints:
'/weather':
target: 'http://api.weatherstack.com/current?access_key=YOUR_API_KEY&query=YOUR_DEFAULT_LOCATION'
changeOrigin: trueImportant Notes:
- Replace
YOUR_API_KEYwith your Weatherstack API key. - Replace
YOUR_DEFAULT_LOCATIONwith the desired default location (e.g.,Stockholm).
This configuration ensures:
- The
access_key(API key) is securely embedded in the proxy target URL. - The
queryparameter specifies the default location for weather data.
Instead of hardcoding the access_key and query in the configuration file, you can dynamically set them via environment variables. This approach is more secure and flexible.
Set the following environment variables in your CLI:
export WEATHERSTACK_ACCESS_KEY=your_api_key_here
export WEATHERSTACK_DEFAULT_LOCATION=your_default_location_hereThen update the app-config.yaml as follows:
proxy:
endpoints:
'/weather':
target: 'http://api.weatherstack.com/current?access_key=${WEATHERSTACK_ACCESS_KEY}&query=${WEATHERSTACK_DEFAULT_LOCATION}'
changeOrigin: trueWeather Plugin Configuration:
import { WeatherPage } from '@infosys_ltd/daily-weather-plugin';Note
You have to import above WeatherPage and use it wherever its needed.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
