Uma fonte observa um sistema externo e emite observações normalizadas — nunca
se coloca no caminho de dados, faz proxy de trafego ou le payloads. Esta página cobre o
modelo de conector e como ligar uma fonte real através de OLIVARES_SOURCES_CONFIG. Se
só quer ligar um agente de programação, comece com
Ligar Claude Code; essa e uma fonte no
caminho cooperativo, e este e o modelo subjacente.
O que uma fonte faz
Uma fonte observa um sistema e reporta o que viu como observações tipadas. O mapa de acesso leitura/escrita e construído a partir do que a fonte reporta, não da interceção do que flui. O motor gere o agendamento: uma fonte de streaming (um tail de registo) bloqueia até ser cancelado; uma fonte batch faz o seu trabalho e retorna, e o motor decide quando a executar novamente.
Uma observação transporta apenas identificadores e uma classificação leitura/escrita — nunca corpos SQL, payloads de pedido, segredos ou PII. Isso é uma propriedade do vocabulário de comunicação que o conector fala, não uma definição que pode alternar. Veja Permitido vs observado para como estas observações aterram no mapa.
Cada aresta regista qual fonte a produziu e um nível de confiança, e o produto
mostra ambos. A atribuição e firm quando o acesso esta vinculado a uma identidade por agente e
approximate quando e inferido ou parcial (uma conta de serviço partilhada, uma conexão
agrupada). O modo de acesso e um de unknown, read, write ou readwrite —
unknown e explicito e nunca adivinhado. Veja Fidelidade.
Onde funciona
Os coletores que executam estas fontes funcionam sempre na sua infraestrutura. O plano de controlo que os ingere pode ser um único binário auto-hospedado, uma implantação distribuída, ou air-gapped — os dados do ambiente observado nunca saem do seu limite. Veja Auto-hospedagem e a vista geral de arquitetura.
O ficheiro de configuração
Fontes reais (não demonstração) são ligadas a partir de um único ficheiro de configuração do operador nomeado pela
variavel de ambiente OLIVARES_SOURCES_CONFIG, lido antes do motor arrancar. E um
documento JSON que declara uma lista de sources. Cada entrada seleciona um conector por
kind, nomeia o tenant a que as suas observações pertencem, da a fonte um name, e
transporta a config própria do conector. Um poll_seconds opcional re-executa uma fonte
batch num intervalo; uma fonte de streaming ignora-o.
Os tipos de fonte são nomes registados no motor. Os dois observadores de ficheiro de nível
clean são pgaudit (PostgreSQL) e s3cloudtrail (AWS S3). Use essas strings exatas
— documentação anterior que escreveu pg_audit ou cloudtrail estava errada e essas
strings não resolvem.
Uma fonte pgaudit real
A fonte pgAudit faz tail do registo de auditoria estruturado do PostgreSQL e emite uma aresta por acesso a dados auditado. O modo leitura/escrita e retirado verbatim da classe do pgAudit (READ, WRITE, DDL) — nunca inferido do texto SQL. E apenas leitura sobre o ficheiro de registo e nunca conecta a base de dados.
{
"sources": [
{
"name": "prod-postgres",
"kind": "pgaudit",
"tenant": "acme",
"config": {
"log_path": "/var/log/postgresql/postgresql.json",
"format": "jsonlog",
"follow": "true",
"shared_accounts": "app_pool,reporting"
}
}
]
}
Os valores de config são strings. As chaves acima pertencem ao conector pgAudit:
log_path(obrigatório) — caminho para o ficheiro de registo PostgreSQL a ler.format—csvlogoujsonlog; predefinidocsvlog.follow— tail continuo. Aplica-se apenas ajsonlog; um ficheirocsvloge lido como batch porque os seus registos podem abranger novas linhas.shared_accounts— papeis ouapplication_names separados por virgulas que são agrupados ou partilhados. O acesso atribuído a um destes e marcadoapproximate, deliberadamente, porque a trilha não pode separar os chamadores reais atrás de uma identidade partilhada.
Um application_name distinto e a ponte por agente que ganha uma aresta firm.
Se muitos agentes partilham um papel ou pool de conexões, cada acesso colapsa nessa
identidade e a atribuição torna-se approximate — o produto di-lo em vez de
fingir que consegue distinguir os agentes.
Uma fonte s3cloudtrail real
A fonte CloudTrail le ficheiros de registo AWS CloudTrail e emite uma aresta por evento S3,
retirando leitura/escrita verbatim do campo readOnly do CloudTrail. A origem e o
principal IAM; um papel assumido partilhado entre chamadores e marcado approximate.
{
"sources": [
{
"name": "prod-s3",
"kind": "s3cloudtrail",
"tenant": "acme",
"config": {
"path": "/var/log/cloudtrail/",
"shared_accounts": "shared-pipeline-role"
}
}
]
}
A chave path (obrigatória) e um ficheiro de registo CloudTrail ou um diretório de ficheiros *.json /
*.json.gz. shared_accounts comporta-se como no pgAudit.
Quando nada esta ligado, o motor avisa
O motor falha seguro, não ruidosamente:
- Se
OLIVARES_SOURCES_CONFIGnão esta definido, o motor arranca sem fontes. - Se o ficheiro esta em falta, ilegível ou não é JSON válido, o motor avisa e continua sem fontes — não crasha no arranque.
- Se a lista de fontes esta vazia, avisa que nenhum conector vai ingerir e que o ambiente esta a funcionar sem trafego real.
Em todos os casos o registo de arranque diz-lhe claramente que nada real esta ligado. Um mapa de acesso vazio nunca deve parecer um limpo.
Nem todos os conectores in-tree estão ligados ao serve stock
O Olivares AI distribui mais conectores in-tree do que um binário serve stock regista como
tipos de fonte selecionaveis. Os observadores de ficheiro pgaudit, s3cloudtrail, o backstop
de kernel ebpf, o leitor runtime de host e a introspeção mcp estão ligados ao
serve stock, juntamente com um conjunto de observadores de plataforma de dados, segredos, rede e identidade.
Outros conectores existem na árvore mas ainda não estão ligados ao registo de fontes do serve
stock — isso é um seguimento rastreado, não uma afirmacao de que tudo e
selecionável hoje. Se um kind que espera não resolve, trate-o como ainda não ligado
em vez de mal configurado, e confirme contra o descritor do próprio conector antes
de confiar nele.
Esta página descreve apenas chaves que são verificadas contra os conectores acima. As
chaves config exatas para qualquer outro conector pertencem a esse conector; leia o seu
descritor em vez de copiar um schema não verificado.
Relacionado
- Ligar Claude Code — o caminho cooperativo, de ponta a ponta.
- O mapa de acesso leitura/escrita — o que estas observações constroem.
- Fidelidade — níveis de cobertura e atribuição.
- Honestidade e limites — o que é verificado versus em fase de design.