Buscar K
Aparência
Aparência
Uma credencial é a conexão com um banco ou uma API. Ela vive em credentials/<slug>--<id>.yaml e é referenciada pelos nós de extração do flow.
lumo new credential --type postgres --name "ERP Produção"Ligue o autocomplete no editor colando esta linha no topo do arquivo:
# yaml-language-server: $schema=https://docs.horusbi.com.br/schemas/v2/credential.schema.jsonO nó de extração do flow aponta para a credencial pela chave, não pelo id. Descubra a chave com lumo list credential.
# ── header ────────────────────────────────────────────────
id: integer # obrigatório, >= 1
kind: credential # obrigatório, literal "credential"
lumo: v2 # obrigatório, literal "v2"
tenantId: integer # obrigatório, >= 1
---
# ── body ──────────────────────────────────────────────────
nome: string # obrigatório, mínimo 1 caractere
type: string # obrigatório: mysql | postgresql | bigquery | http | sqlserver
# | oracle | firebird | informix | odbc | iris
password: string # somente-escrita: o servidor guarda e nunca devolve no GET
tags: [string]
config: # obrigatório. aceita chaves extras conforme o driver
host: string
port: integer # 1 a 65535
database: string
username: string
password: stringO password some do arquivo depois de um lumo pull, porque o servidor nunca devolve o segredo. Isso é esperado. Preencha na criação ou quando for rotacionar, e omita nos pushes seguintes para manter o valor que já está no servidor.
# credentials/erp-producao--944.yaml
# yaml-language-server: $schema=https://docs.horusbi.com.br/schemas/v2/credential.schema.json
id: 944
kind: credential
lumo: v2
tenantId: 853
---
nome: ERP Produção
type: postgresql
config:
host: db.interno.exemplo.com
port: 5432
database: erp
username: horusbi_ro
# Preencha só na criação ou na rotação do segredo. Omita nos pushes
# seguintes: o servidor mantém o valor que já tem.
password: "{{ senha }}"
tags: [erp]Use um usuário só de leitura na origem. O ETL nunca escreve no sistema de origem.
id Tipo: integer (>= 1) · Obrigatório: sim
kind Tipo: string · Obrigatório: sim · Valor: credential
lumo Tipo: string · Obrigatório: sim · Valor: v2
tenantId Tipo: integer (>= 1) · Obrigatório: sim
nome Tipo: string (mínimo 1 caractere) · Obrigatório: sim
Nome exibido da credencial.
type Tipo: string · Obrigatório: sim
Driver da conexão. Os valores aceitos:
| Valor | Origem |
|---|---|
postgresql | PostgreSQL |
mysql | MySQL |
sqlserver | SQL Server |
oracle | Oracle |
firebird | Firebird |
informix | Informix |
iris | InterSystems IRIS |
odbc | Qualquer origem via ODBC |
bigquery | Google BigQuery |
http | API HTTP |
Qualquer outro valor é rejeitado.
config Tipo: object · Obrigatório: sim
Parâmetros da conexão. As chaves comuns a bancos relacionais:
| Campo | Tipo | O que é |
|---|---|---|
host | string | Host do servidor. |
port | integer (1 a 65535) | Porta. |
database | string | Banco a conectar. |
username | string | Usuário. |
password | string | Senha. Somente-escrita, igual à do body. |
config aceita chaves adicionais específicas de cada driver, e o schema não as restringe. Rode lumo scaffold credential --variant <driver> para ver as chaves de um driver antes de escrever o arquivo.
config:
host: db.interno.exemplo.com
port: 5432
database: erp
username: horusbi_ropassword Tipo: string · Obrigatório: não
Senha da conexão. Somente-escrita: o servidor guarda o valor e nunca o devolve numa leitura, então ele não reaparece depois de um lumo pull.
Preencha na criação ou para rotacionar o segredo. Omita nos pushes seguintes para preservar o valor no servidor.
tags Tipo: array de string · Obrigatório: não · Default: []
| Campo | O que é |
|---|---|
version | Versão do recurso. |
criado_em, criado_por, publicado_em, publicado_por | Auditoria. |