Skip to main content

AllianceAuth Authenticator for Mumble server with support for templinks

Project description

Alliance Auth - Mumble Temp Links Authenticator

This is a thoroughly reviewed version of the Authenticator.

Major changes:

  • Utilized uv for project management.
  • Codebase is now modular, split into several files for better organization.
  • Configuration is managed through YAML files and/or environment variables. See examples.
  • Implemented diskcache to cache avatars.
  • Utilized diskcache to cache specific database queries, allowing the authenticator to function even if the database connection is unavailable.
  • Added Docker support. See Dockerfile, docker-compose.yml.
  • Included connection check to ensure proper ICE server functionality.
  • Added Prometheus metrics for monitoring.

Important Warning

It is highly discouraged to run this container with multiple networks, as shown below:

networks:
  network_alpha:
  network_omega:

This setup can lead to issues where the callback announcement:

self.adapter = ice.createObjectAdapterWithEndpoints(
    "Callback.Client", f"tcp -h {host} -p {port}"
)

might use the wrong network interface. Consequently, the Mumble server could attempt to connect to an address that is unreachable from the given network. This can cause unpredictable behavior and connectivity issues.

Requirements

The authenticator is designed to work in conjunction with the following applications:

Configuration

The application can be configured using either YAML files or environment variables. The structure of environment variables corresponds to the structure of the YAML configuration file.

For example, given the following YAML configuration:

database:
  host: 127.0.0.1
  name: alliance_auth

You can set the equivalent environment variables as:

MA__DATABASE__HOST=127.0.0.1
MA__DATABASE__NAME=alliance_auth

Similarly, for a more complex configuration such as:

ice_properties:
  - "Ice.ThreadPool.Server.Size = 5"

You can set the corresponding environment variable as:

MA__ICE_PROPERTIES__0="Ice.ThreadPool.Server.Size = 5"

Environment Variable Syntax

  • The variable names are constructed by converting YAML keys to uppercase and replacing nested keys with double underscores (__).
  • Arrays (lists) are represented using index numbers (0, 1, etc.) in the environment variable names.
  • All environment variable names should be prefixed with MA__ to avoid conflicts with other environment variables.

See also

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mumble_authenticator_templinks-2.0.8.tar.gz (40.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mumble_authenticator_templinks-2.0.8-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page