OSVauco/opax-web/README.md

42 lines
1.5 KiB
Markdown

# OPAX Web TUI
This project provides a starter scaffold for a Google-login-gated web control plane. It consists of a React frontend and a Node.js backend.
The frontend provides a terminal-like interface for interacting with the system. The backend handles user authentication via Google OAuth2 and provides a secure boundary for potential agent integrations.
## Local Development
To run the application locally, first install the dependencies:
```bash
npm install
```
Then, start the development server:
```bash
npm run dev
```
### Configuration
The backend requires several environment variables for configuration. For local development, you can create a `.env` file in the `opax-web/backend/` directory.
- Do not commit `.env` files to Git.
- **NEVER** use or copy production secrets into a local `.env` file.
- For configuration that requires secrets, use local, rotatable test values.
- Production secrets must be stored and delivered via the dedicated secrets solution described in `SECURITY.md`.
Required configuration keys:
- `FRONTEND_URL`
- `ALLOWED_EMAILS`
- `GOOGLE_CLIENT_ID`
- `GOOGLE_CLIENT_SECRET`
- `SESSION_SECRET`
**Note:** The outbound agent integration is currently disabled by default (fail-closed). The backend will not attempt to connect to any external agent services.
## Security
**IMPORTANT:** Never commit passwords, tokens, OAuth client secrets, or service account keys to the Git repository. If any credential is accidentally exposed, it **MUST** be revoked and rotated immediately.
For more details, see `SECURITY.md`.