Boidas-to-Boidas Polling¶
Overview¶
Boidas-to-Boidas polling is a feature that allows your on-premise Boidas installation to retrieve validation data from another Boidas server (typically Boidas Cloud) instead of connecting directly to the Validas service.
This capability is useful when you want to:
- Operate Boidas in an on-premise environment while leveraging Boidas Cloud as a central hub
- Maintain control over your validation data with a hybrid cloud/on-premise architecture
- Ensure data sovereignty by keeping sensitive validation information within your own infrastructure
How It Works¶
Instead of polling directly from Validas, your on-premise Boidas connects to a remote Boidas server (such as Boidas Cloud) to retrieve validations. The remote Boidas server acts as an intermediary, collecting validations from Validas and making them available to your on-premise instance.
The connection between Boidas instances is secured using OAuth 2.0 authentication, and access is controlled through a special "poller" user role.
The Poller User Role¶
To enable one Boidas instance to retrieve validations from another, a special user called a "poller" must be created on the remote Boidas server.
What is a Poller User?¶
A poller user is a restricted user account with:
- Read-only access: Can only view and download validation data
- Limited permissions: Cannot approve, reject, or modify validations
- API-only access: Designed for server-to-server communication, not for human users
- Automatic authentication: Uses OAuth credentials instead of requiring manual login
Creating a Poller User¶
To create a poller user on the remote Boidas server (the one that will provide validations), use the remote Boidas API to create a new user, setting the role field in the body to poller. See the POST /api/v1/user endpoint for details.
Required Configuration¶
To enable Boidas-to-Boidas polling on your on-premise Boidas instance, you need to configure five additional environment variables. All five must be set for the feature to activate.
Standard Configuration Still Required
You still need to configure the standard VALIDAS_URL and API_KEY environment variables as described in the General Configuration section, even when using Boidas-to-Boidas polling. These are required for the system to function properly.
Environment Variables¶
| Variable | Description | Example |
|---|---|---|
BOIDAS_POLLING_URL |
The URL of the remote Boidas server from which to retrieve validations | https://cloud.boidas.example.com |
BOIDAS_POLLING_OAUTH_CLIENT_ID |
The OAuth Client ID of the poller user on the remote server | uYjiqNPlYZIR3X3VZ6dNPUJi |
BOIDAS_POLLING_OAUTH_CLIENT_SECRET |
The OAuth Client Secret of the poller user on the remote server | XUClkf4wMdLnLS2RvHo9r |
BOIDAS_POLLING_USERNAME |
The username of the poller user on the remote server | onprem_poller_user |
BOIDAS_POLLING_PASSWORD |
The password of the poller user on the remote server | SecurePassword123! |
Optional Configuration¶
| Variable | Description | Default |
|---|---|---|
BOIDAS_POLLING_DAYS_THRESHOLD |
Number of days after approval/rejection that a validation remains available in the remote Boidas instance before polling it from local. | 0 days (poll all validations regardless of when they were processed) |
Example Configuration¶
# docker-compose.yml
services:
boidas-service:
environment:
# Standard Validas Configuration
VALIDAS_URL: "https://validas.example.com"
API_KEY: "your-validas-api-key"
# Boidas-to-Boidas Polling Configuration
BOIDAS_POLLING_URL: "https://boidas-cloud.mycompany.com"
BOIDAS_POLLING_OAUTH_CLIENT_ID: "uYjiqNPlYZIR3X3VZ6dNPUJi"
BOIDAS_POLLING_OAUTH_CLIENT_SECRET: "XUClkf4wMdLnLS2RvHo9r"
BOIDAS_POLLING_USERNAME: "my_onprem_poller"
BOIDAS_POLLING_PASSWORD: "MySecurePassword123!"
BOIDAS_POLLING_DAYS_THRESHOLD: "30" # Optional: only poll validations from last 30 days
Automatic Fallback to Validas¶
If any of the five required Boidas polling variables is missing, your on-premise Boidas will automatically fall back to polling directly from Validas using the traditional VALIDAS_URL and API_KEY configuration.
This ensures that your system continues to operate even if the Boidas-to-Boidas polling configuration is incomplete.
Important Notes¶
Data Availability¶
- Approved/Rejected validations: Available for polling, subject to the days threshold if configured
- Deleted validations: Not available for polling
Note
Boidas-to-Boidas polling only retrieves validations that have been approved or rejected on the remote server. Pending or inconclusive validations are not polled.
Questions Synchronization¶
When polling from a remote Boidas, SEPBLAC questions are automatically synchronized to ensure that question IDs match between the two instances. This prevents data inconsistencies when validations reference specific questions.
Return to Pending Feature¶
The "Return to Pending" feature (controlled by ENABLE_RECOVER_STATE) is automatically disabled when using Boidas-to-Boidas polling. This is because returning a validation to pending state in the on-premise instance would not make sense when the validation has already been processed on the remote Boidas server.
Troubleshooting¶
Polling Not Working¶
If validations are not being retrieved from the remote Boidas:
- Verify all five required environment variables are set correctly
- Check that the
BOIDAS_POLLING_URLis accessible from your on-premise server - Confirm the poller user exists on the remote server with the correct role
- Verify OAuth credentials match those configured on the remote server
- Check the polling logs at
/var/log/boidas/boidasPolling.logfor error messages
Authentication Errors¶
If you see authentication errors in the logs:
- Verify the
BOIDAS_POLLING_OAUTH_CLIENT_IDandBOIDAS_POLLING_OAUTH_CLIENT_SECRETare correct - Confirm the
BOIDAS_POLLING_USERNAMEandBOIDAS_POLLING_PASSWORDmatch the poller user credentials - Ensure the poller user account is active and not locked
No Validations Retrieved¶
If the connection works but no validations are retrieved:
- Check the
BOIDAS_POLLING_DAYS_THRESHOLDsetting - it may be filtering out validations - Verify that validations exist on the remote Boidas server
- Confirm the remote server has validations in "Accepted" or "Rejected" state.
- Check if contextual data filters on the poller user might be limiting available validations
Getting Help¶
If you encounter issues with Boidas-to-Boidas polling:
- Review the polling logs for detailed error messages
- Contact Veridas support with your log files
- Ensure network connectivity between your on-premise server and the remote Boidas URL