{% extends "base.html" %} {% import "partials/nav.html" as nav %} {% import "partials/icons.html" as icons %} {% block title %}Fika Clients — Quartermaster{% endblock %} {% block nav %}{% call nav::nav("clients", user, csrf_token, fika_installed) %}{% endcall %}{% endblock %} {% block content %}

Fika Clients

{% if user.role.can_control_server() %}
{% endif %}
{% if converging %}
Converging... Scaling clients to target count.
{% endif %}
{% if clients.is_empty() %}

No Fika clients configured.

Configure clients in quartermaster.toml under [clients].

{% else %} {% for client in clients %} {% endfor %}
Client Status Health Fika Status Players CPU Memory Restarts
Client {{ client.index }} {% match client.container_status %} {% when crate::client::ContainerStatus::Running %} Running {% when crate::client::ContainerStatus::Stopped %} Stopped {% when crate::client::ContainerStatus::Unknown %} Unknown {% endmatch %} {% match client.health %} {% when crate::client::ClientHealth::Healthy %} Healthy {% when crate::client::ClientHealth::Degraded %} Degraded {% when crate::client::ClientHealth::Down %} Down {% when crate::client::ClientHealth::GivenUp %} Given Up {% endmatch %} {% if let Some(status) = client.fika_status %} {% match status %} {% when crate::spt::headless::EHeadlessStatus::Ready %} Ready {% when crate::spt::headless::EHeadlessStatus::InRaid %} In Raid {% when crate::spt::headless::EHeadlessStatus::Unknown(_) %} Unknown {% endmatch %} {% else %} {% endif %} {% if client.players.is_empty() %} {% else %} {{ client.players.join(", ") }} {% endif %} {% if let Some(cpu) = client.cpu_percent %} {{ cpu }}% {% else %} {% endif %} {% if let Some(mem) = client.memory_mb %} {{ mem as i64 }} MB {% else %} {% endif %} {% if client.restart_count > 0 %} {{ client.restart_count }} {% else %} 0 {% endif %}
{% endif %}
{% endblock %}