Variaveis de ambiente
O IaC Code le a configuracao a partir de argumentos do CLI, variaveis de ambiente e arquivos de configuracao. A precedencia e:
CLI arguments > environment variables > configuration files
As variaveis de ambiente sao uteis para pipelines de CI/CD, containers e substituicoes pontuais sem editar arquivos de configuracao.
Configuracao de LLM
| Variavel | Descricao |
|---|---|
IAC_CODE_PROVIDER | Nome do provedor de modelo (insensivel a maiusculas e minusculas). Valores validos: DashScope, DashScope Token Plan, OpenAI, Anthropic, DeepSeek, Gemini, Azure OpenAI, ModelScope, Kimi CN, Kimi Intl, MiniMax CN, MiniMax Intl, ZhiPu CN, ZhiPu Intl, Volcengine CN, SiliconFlow CN, SiliconFlow Intl, Aliyun CodingPlan, Aliyun CodingPlan Intl, ZhiPu CN CodingPlan, ZhiPu Intl CodingPlan, Volcengine CodingPlan, OpenAPI Compatible, Anthropic Compatible, OpenRouter, Ollama, LM Studio |
IAC_CODE_MODEL | Nome do modelo |
IAC_CODE_BASE_URL | Substitui o endpoint de API do provedor ativo; tem precedência sobre o apiBase salvo e a URL padrão integrada |
IAC_CODE_API_KEY | Chave de API do provedor; substitui a chave do provedor ativo em .credentials.yml |
Consulte Provedores de LLM para detalhes sobre os provedores.
Credenciais da Alibaba Cloud
| Variavel | Descricao |
|---|---|
ALIBABA_CLOUD_ACCESS_KEY_ID | AccessKey ID |
ALIBABA_CLOUD_ACCESS_KEY_SECRET | AccessKey Secret |
ALIBABA_CLOUD_SECURITY_TOKEN | Token STS; muda o modo de credencial para STS quando definido |
ALIBABA_CLOUD_REGION_ID | Regiao padrao |
ALIBABA_CLOUD_ECS_METADATA | Nome opcional da função RAM do ECS; usado quando o modo já é EcsRamRole e nenhum nome foi salvo, mas não seleciona o modo por si só |
ALIBABA_CLOUD_ECS_METADATA_DISABLED | Defina como true para desabilitar as credenciais de metadados da instância ECS |
ALIBABA_CLOUD_IMDSV1_DISABLED | Defina como true para exigir IMDSv2 e impedir fallback para IMDSv1 |
As variáveis de metadados do ECS só se aplicam depois que o modo de credencial for configurado como EcsRamRole. O nome da função salvo no IaC Code tem prioridade sobre ALIBABA_CLOUD_ECS_METADATA; se nenhum dos dois estiver definido, o nome será detectado por meio do IMDS.
Consulte Credenciais da Alibaba Cloud para mais detalhes.
Telemetria
| Variavel | Descricao |
|---|---|
IAC_CODE_DISABLE_NONESSENTIAL_TRAFFIC | Defina como 1 / true / yes / on para desabilitar o trafego de telemetria nao essencial |
DISABLE_TELEMETRY | Defina como 1 / true / yes / on para desabilitar toda a telemetria |
IAC_CODE_TELEMETRY_ENDPOINT | Endpoint OTLP base; os endpoints de sinais individuais usam este valor como padrao |
IAC_CODE_TELEMETRY_TRACES_ENDPOINT | Endpoint personalizado para traces |
IAC_CODE_TELEMETRY_METRICS_ENDPOINT | Endpoint personalizado para metricas |
IAC_CODE_TELEMETRY_LOGS_ENDPOINT | Endpoint personalizado para logs |
IAC_CODE_TELEMETRY_HEADERS | Cabecalhos OTLP personalizados (formato JSON ou chave=valor) |
IAC_CODE_CHANNEL | Canal de origem de telemetria estavel e de baixa cardinalidade (padrao: unknown), por exemplo ros_official ou partner_acme |
Outros
| Variavel | Descricao |
|---|---|
IAC_CODE_CONFIG_DIR | Substitui o diretorio de configuracao em tempo de execucao (padrao ~/.iac-code/); suporta expansao de ~ e $VAR. Todos os artefatos persistidos (credenciais, configuracoes, historico, projects, image-cache, skills, telemetry, etc.) seguem este diretorio |
IAC_CODE_LOG_DIR | Substitui o diretório local de logs de inicialização/depuração (padrão <config-dir>/logs/); suporta expansão de ~ e $VAR. Registros de auditoria de permissões seguem o layout da sessão e não são movidos por esta variável |
IAC_CODE_PERMISSION_AUDIT_INCLUDE_TOOL_INPUT | Substitui permissions.audit.include_tool_input; defina como 1 / true / yes / on para incluir entrada de ferramenta apenas em forma estrutural nos registros de auditoria de permissões, usando tipo/tamanho/fingerprint em vez de strings brutas de payload de negócio e aplicando fingerprint a nomes de campo fora da lista permitida |
IAC_CODE_ENV | Rotulo do ambiente de implantacao (padrao: production) |
IAC_CODE_TENANT_ID | Identificador de tenant para telemetria; prefixado automaticamente com iac_tenant_ se ainda nao estiver |
IAC_CODE_GIT_BASH_PATH | Caminho para bash.exe do Git Bash no Windows quando nao esta no PATH |
IAC_CODE_A2A_PUSH_KEYRING | Keyring criptografado de push secrets A2A gerenciado pelo ambiente (formato JSON) |
OTEL_EXPORTER_OTLP_ENDPOINT | Endpoint padrao do OpenTelemetry; quando definido, habilita a exportacao OTLP |
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT | Capturar conteudo de mensagens/ferramentas GenAI em spans: SPAN_ONLY, EVENT_ONLY, SPAN_AND_EVENT |
Backup de sessão
| Variável | Descrição |
|---|---|
IAC_CODE_CONFIG_BACKUP_DIR | Diretório opcional de backup de sessões; suporta expansão de ~ e $VAR, e expansão %VAR% no Windows. No PowerShell, passe um caminho concreto ou deixe o shell expandir $env:VAR antes de iniciar iac-code. Em ambientes sandbox geralmente é um caminho OSS montado, mas deve ser independente de IAC_CODE_CONFIG_DIR e de qualquer origem de sessão, sem sobreposição, e com latência baixa o suficiente para checkpoints críticos. Caminhos UNC, unidades mapeadas e caminhos OSS montados devem preservar bloqueio de arquivo .backup-lock, substituição atômica e metadados de arquivo para mirroring incremental; evite ancestrais symlink, junction ou reparse point na origem da sessão ativa, na raiz de backup e nas sessões espelhadas. Quando habilitado, checkpoints espelham cada sessão v2 para <backup>/projects/<project>/<session_id>/ com a mesma estrutura da sessão ativa; .backup-state.json e .backup-lock ficam locais e não são copiados. Backups de fim de turno normal usam normal_turn_end e não bloqueiam a resposta; somente falhas em checkpoints critical=true bloqueiam a publicação. Índices A2A task/context compartilhados podem ser montados separadamente. |
IAC_CODE_CONFIG_BACKUP_TMP_DIR | Diretório local de preparação opcional para iac-code a2a; requer IAC_CODE_CONFIG_BACKUP_DIR. Os backups A2A bloqueiam apenas até concluir aqui um snapshot imutável <session_id>_vX; depois, um processo dedicado copia os snapshots para o diretório final na ordem das versões e os remove após o sucesso. Os dois caminhos devem ser absolutos e não podem se sobrepor, e este diretório deve ficar fora de IAC_CODE_CONFIG_DIR. Outros modos de execução ignoram esta configuração. |