# Deploys da API

O Conector de SQL funciona através de um serviço que você coloca entre o Power Omni e a sua instância SQL Server.

Este Serviço é responsável por:

* Expor as procedures de um banco como um schema OpenAPI
* Prover endpoints HTTP para a execução dessas procedures
* Converter o resultado das execuções para um formato aceitável pelo Power Omni (incluindo erros do banco)

O desenvolvimento e manuntenção desse conector é de responsabilidade da Power Tuning, mas é você, ou seu time, que decide como e onde vai executá-lo.

Ele é uma aplicação Node.Js, que está disponível através de uma imagem docker linux, o que facilita você fazer o deploy em praticamente qualquer ambiente, cloud ou on-premises.

Esta seção traz alguns guias de como fazer os deploys, para que você tenha norte. Utilize a navegação lateral e escolha o método que for melhor para você

## Sobre a Imagem Docker

A API do serviço de integração é disponibilizada em uma imagem docker montada pelo time da Power Tuning. Independente da maneira como você for fazer o deploy, as mesmas variáveis de ambiente estão disponíveis para a configuração. Veja a  tabela abaixo:

<table><thead><tr><th width="171">Variável</th><th>Descrição</th></tr></thead><tbody><tr><td><code>SQL_CONNECTION</code></td><td>String de conexão com a instância SQL Server</td></tr><tr><td><code>PUBLIC_URLS</code></td><td>URL pública pelo qual a API estará acessível. O serviço vai gerar o OpenAPI schema usando essa URL e é ela que o omni vai usar quando for invocar a procedure</td></tr><tr><td><code>KEYS</code></td><td>Lista de ApiKeys separados por um ";".  Use valores aleatórios e fortes. Para reforçar a segurança, pode-se usar outros serviços que geram a apikey com criptografia</td></tr><tr><td><code>CUSTOM_AUTHSCHEME</code></td><td>String com um yaml especificando um Auth Scheme alternativo que será usado ao gerar o OpenAPI Schema. Use apenas se precisar usar outro tipo de autenticação que não seja ApiKey. É uma configuração avançada para ser feito com o apoio da Power Tuning</td></tr><tr><td><code>AUTO_RELOAD</code></td><td>Altera o AutoReload, especificando a frequência, em millisegundos, que a API vai carregar as procedures modificadas. Com base nesse tempo, a API frequentemente consulta o banco identificando as procedures que foram modificadas e recriando o schema. </td></tr></tbody></table>
