-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.env.example
More file actions
62 lines (55 loc) · 3.19 KB
/
Copy path.env.example
File metadata and controls
62 lines (55 loc) · 3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Configuração do wrapper: tudo por ambiente, não há arquivo de config nem
# página de administração. Estas são TODAS as variáveis que existem, e um teste
# recusa a lista incompleta (internal/platform/config/uso_test.go).
# Token Bearer aceito pela API. OBRIGATÓRIO quando MODO=producao: sem ele
# qualquer chamador transmite documentos com o certificado que enviar.
API_TOKEN=
# producao endurece as validações do boot. NÃO é o tpAmb do documento: esse vai
# no payload, por requisição, e a mesma instância atende os dois ambientes.
MODO=homologacao
# Porta publicada no host (lida pelo compose, não pelo binário).
HOST_PORT=8080
# Concorrência fiscal = nº de workers × slots. Default 1: um crash da lib leva
# UMA requisição junto. Aumentar dá vazão e amplia o estrago de um crash.
ACBR_WORKER_SLOTS=1
# Teto de uma chamada nativa. Cobre a lib TRAVAR (em vez de crashar).
ACBR_WORKER_TIMEOUT_SECONDS=90
# Recicla o worker após N chamadas (0 = nunca). Limita corrupção silenciosa de
# memória, não crash. Use com 2+ workers: com um só, o restart abre janela.
ACBR_WORKER_MAX_CALLS=0
# Onde a API encontra os workers, separados por vírgula. O compose já define.
# Vazio significa nenhum: a API sobe e responde 503 no /readyz.
# ACBR_WORKERS=/run/wrapper/fiscal.sock
# Socket que o fiscal-worker abre. Só o worker usa.
# ACBR_WORKER_LISTEN=/run/wrapper/fiscal.sock
# --- limites da borda --------------------------------------------------------
# Requisições por minuto POR ENDEREÇO do chamador. Vale ANTES da autenticação,
# então também limita quem tenta adivinhar o API_TOKEN. 0 desliga, e desligar é
# razoável atrás de um gateway que já limita. As sondas /healthz e /readyz não
# gastam ficha: limitá-las derrubaria o container são.
API_RATE_PER_MIN=240
# Teto do corpo aceito. Importa mais aqui do que num serviço comum: cada
# transmissão carrega o certificado e o XML.
MAX_BODY_BYTES=8388608
# Lê X-Forwarded-For para descobrir quem chamou. Só ligue se REALMENTE houver um
# proxy na frente que reescreva esse cabeçalho. O cabeçalho é escrito por quem
# chama, e dentro do Docker o peer da conexão é o gateway da bridge: sem proxy
# de verdade, todo chamador pareceria interno e um valor forjado furaria o
# limite por endereço. Desligado, quem vem por um proxy divide um balde só.
TRUST_PROXY_HEADERS=false
# --- caminhos que a imagem já traz prontos -----------------------------------
# Mexa só se montou os schemas em outro lugar, ou se o diretório de rascunho da
# lib precisa ser outro. Ele não guarda dado de cliente e pode ser efêmero.
# Endereço em que a API escuta DENTRO do container. Mudar aqui exige mudar o
# lado do container no mapeamento de portas do compose.
# HTTP_ADDR=:8080
# ACBR_WORK_DIR=/tmp/wrapper-acbr
# ACBR_SCHEMAS_PATH=/opt/acbr/schemas
# ACBR_SCHEMAS_PATH_CTE=/opt/acbr/schemas-cte
# ACBR_SCHEMAS_PATH_MDFE=/opt/acbr/schemas-mdfe
# ACBR_SCHEMAS_PATH_NFE=/opt/acbr/schemas-nfe
# PERIGO: a partir do nível 3 a ACBrLib grava XML e CERTIFICADO em disco. Num
# serviço cuja promessa é não persistir nada, isso torna a promessa falsa. O boot
# RECUSA nível >= 3 com MODO=producao. Ative só para depurar, e apague depois.
# ACBR_LOG_NIVEL=
# ACBR_LOG_PATH=