Problem
NethVoice currently accesses users-admin through a dedicated ${MODULE_ID}-adm domain administrator created and managed by the module. This keeps a long-lived privileged credential in module configuration and lifecycle flows, duplicates authentication already provided by the NS8 module agent, and does not consistently follow core provider ordering when users-admin moves between nodes.
Proposed solution
Authenticate NethVoice users-admin operations with core-managed module-agent credentials. Resolve the users-admin/http provider for the selected account domain using NS8 provider ordering, keep the public route and FreePBX endpoint aligned with the selected provider, and remove legacy administrator management from setup, settings, and lifecycle operations.
Challenges
- Keep agent credentials confined to core-managed secret state and out of module configuration, the UI, and logs.
- Handle provider changes and temporary unavailability without stale routing or unnecessary service restarts.
- Migrate upgrades, restores, and clones that contain legacy administrator credentials.
- Preserve predictable multi-node provider failover.
How the challenges are addressed
- Use the first core-ordered provider and clear the cached endpoint and public route when no provider is available.
- Persist only the selected endpoint and node, restarting dependent services only when that selection changes.
- Authenticate direct users-admin API calls with credentials supplied through the core-managed agent environment.
- Remove deprecated setup and settings inputs and clean up legacy account state during module lifecycle operations.
- Require NS8 core 3.21.0 or newer, including its ordered provider selection behavior.
References
Problem
NethVoice currently accesses users-admin through a dedicated
${MODULE_ID}-admdomain administrator created and managed by the module. This keeps a long-lived privileged credential in module configuration and lifecycle flows, duplicates authentication already provided by the NS8 module agent, and does not consistently follow core provider ordering when users-admin moves between nodes.Proposed solution
Authenticate NethVoice users-admin operations with core-managed module-agent credentials. Resolve the
users-admin/httpprovider for the selected account domain using NS8 provider ordering, keep the public route and FreePBX endpoint aligned with the selected provider, and remove legacy administrator management from setup, settings, and lifecycle operations.Challenges
How the challenges are addressed
References