Saltar para o conteúdo principal

config.yaml

O ipmideck lê as suas definições de data/config.yaml, escrito com predefinições sensatas na primeira execução. Pode editar o ficheiro diretamente, ou substituir qualquer valor em tempo de execução com uma variável de ambiente (prático para Docker, veja abaixo).
# data/config.yaml (auto-generated on first run)
server:
  host: "0.0.0.0"
  port: 3000
  https: false
auth:
  enabled: true
  session_expiry: "24h"
  max_login_attempts: 5
ipmi:
  poll_interval: 30
  power_poll_interval: 30
  command_timeout: 30
data:
  retention_days: 365
  cleanup_interval: "24h"
logging:
  level: "info"
modules:
  sensors:
    enabled: true
  fanpilot:
    enabled: true
  power:
    enabled: true
  sel:
    enabled: true
  fru:
    enabled: true
As chaves acima são as chaves aninhadas reais e sem prefixo que o ipmideck escreve em config.yaml. As substituições por variável de ambiente usam um prefixo IPMIDECK_ separado e nunca aparecem dentro do próprio ficheiro YAML.

Substituições por ambiente

Cada definição pode ser substituída em tempo de execução com uma variável de ambiente com prefixo IPMIDECK_. Esta é a forma mais fácil de configurar o ipmideck no Docker, onde não quer editar um ficheiro dentro do contentor.
Variável de ambienteDescrição
IPMIDECK_SERVER_HOSTHost/interface ao qual o painel faz bind (predefinição 0.0.0.0).
IPMIDECK_SERVER_PORTPorta HTTP à qual o painel faz bind (predefinição 3000).
IPMIDECK_AUTH_ENABLEDAtiva ou desativa o início de sessão integrado (predefinição true).
IPMIDECK_AUTH_SESSION_EXPIRYQuanto tempo uma sessão de início de sessão permanece válida (predefinição 24h).
IPMIDECK_IPMI_POLL_INTERVALSegundos entre sondagens de sensores do BMC (predefinição 30).
IPMIDECK_IPMI_POWER_POLL_INTERVALSegundos entre sondagens de estado de energia (predefinição 30).
IPMIDECK_DATA_RETENTION_DAYSDias de histórico de sensores a manter antes da limpeza (predefinição 365).
IPMIDECK_DATA_DB_PATHCaminho absoluto para o ficheiro da base de dados SQLite.
IPMIDECK_LOGGING_LEVELVerbosidade dos registos: debug, info, warning ou error (predefinição info).
IPMIDECK_DEMOCorrer contra hardware simulado em vez de BMCs reais (predefinição false).
Mais duas variáveis controlam localizações de ficheiros em vez de um valor de config.yaml: IPMIDECK_DATA_DIR (o diretório de dados, veja abaixo) e IPMIDECK_CONFIG_PATH (um caminho explícito para um config.yaml a carregar).
As variáveis de ambiente têm precedência sobre os valores em config.yaml. Defina-as no seu comando docker run (-e IPMIDECK_SERVER_PORT=8080) ou no seu docker-compose.yml.

Onde a configuração fica

O ipmideck resolve o seu diretório de dados a partir de IPMIDECK_DATA_DIR se definido, caso contrário recai numa predefinição de plataforma. O config.yaml fica sempre em <data-dir>/config.yaml:
  • Docker: /data/config.yaml: a imagem define IPMIDECK_DATA_DIR=/data; torne /data persistente com um volume.
  • pip no Linux: /data/config.yaml por predefinição: defina IPMIDECK_DATA_DIR para o relocalizar.
  • pip no Windows: ./data/config.yaml, relativo ao diretório a partir do qual corre o ipmideck.

Próximos passos