# Alliance Auth - Mumble Temp Links Authenticator
This is a thoroughly reviewed version of the Authenticator.
Major changes:
- Utilized [poetry](https://python-poetry.org) 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](examples/).
- Implemented [diskcache](https://pypi.org/project/diskcache) to cache avatars.
- Utilized [diskcache](https://pypi.org/project/diskcache) to cache specific database queries, allowing the authenticator to function even if the database connection is unavailable.
- Added Docker support. See [Dockerfile](Dockerfile), [docker-compose.yml](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:
```yaml
networks:
network_alpha:
network_omega:
```
This setup can lead to issues where the callback announcement:
```python
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:
- [Alliance Auth](https://gitlab.com/allianceauth/allianceauth)
- [Mumble Temp Links](https://github.com/Solar-Helix-Independent-Transport/allianceauth-mumble-temp)
## 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:
```yaml
database:
host: 127.0.0.1
name: alliance_auth
```
You can set the equivalent environment variables as:
```bash
MA__DATABASE__HOST=127.0.0.1
MA__DATABASE__NAME=alliance_auth
```
Similarly, for a more complex configuration such as:
```yaml
ice_properties:
- "Ice.ThreadPool.Server.Size = 5"
```
You can set the corresponding environment variable as:
```bash
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:
- [Mubmle Authenticator](https://gitlab.com/allianceauth/mumble-authenticator)
- [Mumble scripts](https://github.com/mumble-voip/mumble-scripts/tree/master)
- [ICE docs](https://doc.zeroc.com/ice/latest/)
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/eveo7/mumble-authenticator-templinks",
"name": "mumble-authenticator-templinks",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": "eveonline, allianceauth, authenticator, mumble, templinks",
"author": "Aaron Kable",
"author_email": "aaronkable@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/53/b9/360e3158b78bcf72d58aa05a039d3a923ae9f44ada12b898f65e7e91830e/mumble_authenticator_templinks-2.0.5.tar.gz",
"platform": null,
"description": "# Alliance Auth - Mumble Temp Links Authenticator\n\nThis is a thoroughly reviewed version of the Authenticator.\n\nMajor changes:\n\n- Utilized [poetry](https://python-poetry.org) for project management.\n- Codebase is now modular, split into several files for better organization.\n- Configuration is managed through YAML files and/or environment variables. See [examples](examples/).\n- Implemented [diskcache](https://pypi.org/project/diskcache) to cache avatars.\n- Utilized [diskcache](https://pypi.org/project/diskcache) to cache specific database queries, allowing the authenticator to function even if the database connection is unavailable.\n- Added Docker support. See [Dockerfile](Dockerfile), [docker-compose.yml](docker-compose.yml).\n- Included connection check to ensure proper ICE server functionality.\n- Added Prometheus metrics for monitoring.\n\n## Important Warning\n\nIt is **highly discouraged** to run this container with multiple networks, as shown below:\n\n```yaml\nnetworks:\n network_alpha:\n network_omega:\n```\n\nThis setup can lead to issues where the callback announcement:\n\n```python\nself.adapter = ice.createObjectAdapterWithEndpoints(\n \"Callback.Client\", f\"tcp -h {host} -p {port}\"\n)\n```\n\nmight 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.\n\n## Requirements\n\nThe authenticator is designed to work in conjunction with the following applications:\n\n- [Alliance Auth](https://gitlab.com/allianceauth/allianceauth)\n- [Mumble Temp Links](https://github.com/Solar-Helix-Independent-Transport/allianceauth-mumble-temp)\n\n## Configuration\n\nThe 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.\n\nFor example, given the following YAML configuration:\n\n```yaml\ndatabase:\n host: 127.0.0.1\n name: alliance_auth\n```\n\nYou can set the equivalent environment variables as:\n\n```bash\nMA__DATABASE__HOST=127.0.0.1\nMA__DATABASE__NAME=alliance_auth\n```\n\nSimilarly, for a more complex configuration such as:\n\n```yaml\nice_properties:\n - \"Ice.ThreadPool.Server.Size = 5\"\n```\n\nYou can set the corresponding environment variable as:\n\n```bash\nMA__ICE_PROPERTIES__0=\"Ice.ThreadPool.Server.Size = 5\"\n```\n\n### Environment Variable Syntax\n\n- The variable names are constructed by converting YAML keys to uppercase and replacing nested keys with double underscores (`__`).\n- Arrays (lists) are represented using index numbers (`0`, `1`, etc.) in the environment variable names.\n- All environment variable names should be prefixed with `MA__` to avoid conflicts with other environment variables.\n\n## See also:\n\n- [Mubmle Authenticator](https://gitlab.com/allianceauth/mumble-authenticator)\n- [Mumble scripts](https://github.com/mumble-voip/mumble-scripts/tree/master)\n- [ICE docs](https://doc.zeroc.com/ice/latest/)\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "AllianceAuth Authenticator for Mumble server with support for templinks",
"version": "2.0.5",
"project_urls": {
"Homepage": "https://gitlab.com/eveo7/mumble-authenticator-templinks"
},
"split_keywords": [
"eveonline",
" allianceauth",
" authenticator",
" mumble",
" templinks"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "37063b9dfff356c730eb266185bb900187ab21f23f959d1384952454c36f5a46",
"md5": "4300d6b630fd27cffb5cb013bfce701e",
"sha256": "b42b4d5ffbe24ed00d40ec93f4611902536030db8191ede33190fb85b340d646"
},
"downloads": -1,
"filename": "mumble_authenticator_templinks-2.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4300d6b630fd27cffb5cb013bfce701e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 28251,
"upload_time": "2025-01-13T18:50:20",
"upload_time_iso_8601": "2025-01-13T18:50:20.079447Z",
"url": "https://files.pythonhosted.org/packages/37/06/3b9dfff356c730eb266185bb900187ab21f23f959d1384952454c36f5a46/mumble_authenticator_templinks-2.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "53b9360e3158b78bcf72d58aa05a039d3a923ae9f44ada12b898f65e7e91830e",
"md5": "0a1ef54714436caa876d05a443491d4b",
"sha256": "8b1f0993e81110f5dcaed7ec66540c255d70ea37e0696e7dcc26bb386aa4f81b"
},
"downloads": -1,
"filename": "mumble_authenticator_templinks-2.0.5.tar.gz",
"has_sig": false,
"md5_digest": "0a1ef54714436caa876d05a443491d4b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 22995,
"upload_time": "2025-01-13T18:50:23",
"upload_time_iso_8601": "2025-01-13T18:50:23.676137Z",
"url": "https://files.pythonhosted.org/packages/53/b9/360e3158b78bcf72d58aa05a039d3a923ae9f44ada12b898f65e7e91830e/mumble_authenticator_templinks-2.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-13 18:50:23",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "eveo7",
"gitlab_project": "mumble-authenticator-templinks",
"lcname": "mumble-authenticator-templinks"
}