Pular para o conteúdo principal
Versão: Em desenvolvimento — v0.2.7

Variáveis de ambiente

As quatro primeiras variáveis são obrigatórias para colibri.InitializeApp(). As demais ativam ou configuram módulos específicos.

Aplicação​

VariávelObrigatóriaPadrãoValores ou formato
ENVIRONMENTSim—development, test, sandbox, production
APP_NAMESim—Texto não vazio
APP_TYPESim—service, serverless, cli
CLOUDSim—none, aws, gcp, firebase
PORTNão8080Inteiro
LOG_LEVELNãoinfodebug, info, warn, warning, error
WAIT_GROUP_TIMEOUT_SECONDSNão90Inteiro em segundos

OpenTelemetry​

VariávelObrigatóriaPadrãoUso
OTEL_EXPORTER_OTLP_ENDPOINTNãovazioAtiva exportação OTLP HTTP; use a URL base, como http://localhost:4318.
OTEL_EXPORTER_OTLP_HEADERSNãovazioCabeçalhos chave=valor separados por vírgula.
OTEL_EXPORTER_OTLP_METRICS_ENDPOINTNãoendpoint principalSobrescreve o endpoint apenas para métricas.
OTEL_SERVICE_NAMENãoAPP_NAMENome reportado pelo recurso OpenTelemetry.
OTEL_TRACES_ENABLEDNãotrueDesliga os traces. Com true, os traces ainda exigem OTEL_EXPORTER_OTLP_ENDPOINT.
OTEL_METRICS_ENABLEDNãotrueDesliga as métricas em /metrics e na exportação OTLP.
OTEL_METRICS_PROMETHEUS_ENABLEDNãotrueExpõe as métricas em /metrics pelo registry padrão do Prometheus.

As variáveis OTEL_*_ENABLED aceitam os valores booleanos do Go, como true, false, 1 e 0. Um valor inválido impede a inicialização. As combinações entre elas estão em Observabilidade.

PostgreSQL​

VariávelObrigatória ao usar SQLPadrão
SQL_DB_HOSTSimvazio
SQL_DB_PORTSimvazio
SQL_DB_NAMESimvazio
SQL_DB_USERSimvazio
SQL_DB_PASSWORDSimvazio
SQL_DB_SSL_MODESimvazio
SQL_DB_MAX_OPEN_CONNSNão10
SQL_DB_MAX_IDLE_CONNSNão3
SQL_DB_MIGRATIONNãofalse
MIGRATION_SOURCE_URLNão./migrations

Redis​

VariávelObrigatória ao usar cachePadrão
CACHE_URISimvazio
CACHE_PASSWORDNãovazio

Cloud e storage​

VariávelUso
CLOUD_HOSTEndpoint customizado ou emulador.
CLOUD_REGIONRegião AWS.
CLOUD_SECRETCredencial usada pelas integrações configuradas.
CLOUD_TOKENToken usado pelas integrações configuradas.
CLOUD_DISABLE_SSLObsoleta e sem efeito desde a v0.2.4. O esquema vem do próprio CLOUD_HOST, como http://localhost:4566.
CLOUD_AWS_ROLE_ARNARN de role assumida na AWS.

Em sandbox e production, as integrações AWS usam a cadeia padrão de credenciais do AWS SDK for Go v2. Em development e test, usam CLOUD_HOST, CLOUD_REGION, CLOUD_SECRET e CLOUD_TOKEN para apontar para um emulador, como o LocalStack.

Use um gerenciador de segredos fora do ambiente local. Não armazene credenciais reais no .env versionado.

Mensageria​

VariávelPadrãoValores
COLIBRI_MESSAGINGCLOUD_DEFAULTCLOUD_DEFAULT, RABBITMQ
RABBITMQ_URLvazioURL AMQP

CORS​

VariávelPadrão
CORS_ALLOW_ORIGINS*
CORS_ALLOW_METHODSOPTIONS, GET, POST, PUT, PATCH, DELETE
CORS_ALLOW_HEADERSOrigin, Content-Type, Authorization, X-User-Id, X-Tenant-Id
CORS_EXPOSE_HEADERSvazio
CORS_ALLOW_CREDENTIALSfalse
CORS_MAX_AGE0