HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/grains/marathon.py
"""
Generate marathon proxy minion grains.

.. versionadded:: 2015.8.2

"""

import salt.utils.http
import salt.utils.platform

__proxyenabled__ = ["marathon"]
__virtualname__ = "marathon"


def __virtual__():
    if (
        salt.utils.platform.is_proxy()
        and "proxy" in __opts__
        and __opts__["proxy"].get("proxytype") == "marathon"
    ):
        return __virtualname__
    return False


def kernel():
    return {"kernel": "marathon"}


def os():
    return {"os": "marathon"}


def os_family():
    return {"os_family": "marathon"}


def os_data():
    return {"os_data": "marathon"}


def marathon():
    response = salt.utils.http.query(
        "{}/v2/info".format(__opts__["proxy"].get("base_url", "http://locahost:8080")),
        decode_type="json",
        decode=True,
    )
    if not response or "dict" not in response:
        return {"marathon": None}
    return {"marathon": response["dict"]}