Skip to content

NethVoice: Use module agent credentials for users-admin #8123

Description

@Amygos

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

Metadata

Metadata

Assignees

Labels

nethvoiceBug or features releted to the NethVoice project

Projects

Status
In Progress

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions