This guide walks you through setting up and running the Thunder WSO2 Cloud use case with declarative resources.
- macOS/Linux environment
- Git installed
- Node.js and npm installed (for React sample app)
Download the latest Thunder release (v0.18.0):
cd ~/Downloads
curl -LO https://github.com/asgardeo/thunder/releases/download/v0.18.0/thunder-0.18.0-macos-arm64.zipDownload the React SDK sample application:
curl -LO https://github.com/asgardeo/thunder/releases/download/v0.18.0/sample-app-react-sdk-0.18.0-macos-arm64.zipExtract the Thunder zip file:
unzip thunder-0.18.0-macos-arm64.zip
cd thunder-0.18.0-macos-arm64Clone this repository content to Thunder's resources directory:
git clone https://github.com/rajithacharith/wso2-cloud-immutable-resources.git temp-repo
cp -r temp-repo/* repository/resources/
rm -rf temp-repoAlternatively, if you already have this repository locally:
cp -r /path/to/this/repo/* repository/resources/Add the following configuration to repository/conf/deployment.yaml:
immutable_resources:
enabled: true
organization_unit:
store: "composite"Command to append to deployment.yaml:
cat >> repository/conf/deployment.yaml << 'EOF'
immutable_resources:
enabled: true
organization_unit:
store: "composite"
EOFContact @rajithacharith for the exact environment variable values, then export them:
export ENV_VAR_NAME_1="value1"
export ENV_VAR_NAME_2="value2"
# Add all required environment variables as providedOr if you have an .env file:
source /path/to/your/.envRun Thunder:
./start.shWait for Thunder to start completely. You should see logs indicating the server is ready.
In a new terminal window, extract and setup the React sample app:
cd ~/Downloads
unzip sample-app-react-sdk-0.18.0-macos-arm64.zip
cd sample-app-react-sdk-0.18.0-macos-arm64Start the React application:
./start.shOr if using npm directly:
npm install
npm startOpen your browser and visit:
https://localhost:3000
# Complete setup (one-liner style)
cd ~/Downloads && \
curl -LO https://github.com/asgardeo/thunder/releases/download/v0.18.0/thunder-0.18.0-macos-arm64.zip && \
curl -LO https://github.com/asgardeo/thunder/releases/download/v0.18.0/sample-app-react-sdk-0.18.0-macos-arm64.zip && \
unzip thunder-0.18.0-macos-arm64.zip && \
cd thunder-0.18.0-macos-arm64 && \
git clone https://github.com/rajithacharith/wso2-cloud-immutable-resources.git temp-repo && \
cp -r temp-repo/* repository/resources/ && \
rm -rf temp-repo && \
cat >> repository/conf/deployment.yaml << 'EOF'
immutable_resources:
enabled: true
organization_unit:
store: "composite"
EOFThen in separate terminals:
# Terminal 1: Start Thunder
cd ~/Downloads/thunder-0.18.0-macos-arm64
source /path/to/your/.env # Set your environment variables
./start.sh# Terminal 2: Start React App
cd ~/Downloads
unzip sample-app-react-sdk-0.18.0-macos-arm64.zip
cd sample-app-react-sdk-0.18.0-macos-arm64
./start.sh- Port conflicts: Ensure ports 3000 (React app) and Thunder's default ports are available
- Environment variables: Double-check all required env vars are set before starting Thunder
- Permissions: If you encounter permission issues, run
chmod +x start.shin the respective directories
This repository contains declarative resources for WSO2 Cloud:
applications/- Application configurationsflows/- Authentication flowsidentity_providers/- Identity provider configurationsorganization_units/- Organization unit definitionsuser_schemas/- User schema definitions
For environment variable values or additional support, contact @rajithacharith.