tabeliao-node v0.0.1
tabelião node
Biblioteca do tabelião para nodejs.
Pré-requisitos
É necessário ter um package.json
válido e com as chaves name
e version
.
Sua aplicação não pode ter uma rota /healthcheck
. Ela é criada automaticamente pelo tabelião.
Funcionamento
No bootstrap da aplicação o tabelião procurará o package.json
mais próximo da pasta em que o processo está rodando para utilizar as informações para o SD no endereço default do Consul.
O tabelião criará uma rota /healthcheck
e irá fazer um GET
nela uma vez por minuto para verificar se o serviço está disponível.
NOTA: a rota só será criada se a app
do express for passada no options
.
Uso
tabeliao.register(options, callback(err))
Essa função serve para registrar um serivço no Service Discovery.
Parâmetros
options.ssl (Boolean default false
)
Se o seu serviço roda em https
, deve ser true
.
options.host (String default localhost
)
Host que sua aplicação roda.
options.port (String default 3000
)
Porta que sua aplicação roda.
options.app (Object default null
)
Aplicação Express da sua aplicação.
Por que passar minha aplicação do Express?
Automaticamente uma rota /healthcheck
será criada para monitorar.
Exemplo
var app = require('express')();
// ....
var tabeliao = require('tabeliao-node');
var options = {
ssl: true,
host: 'localhost',
port: '3000',
app: app
};
tabeliao.register(options, function(err) {
if (err) {
throw err;
}
});
Esse exemplo criará a rota /healthcheck
e mandará três informações para o SD:
- id: campo
name
concatenado com-
ehostname
da máquina - name: campo
name
nopackage.json
- tags: array contendo
nodejs
e o campoversion
dopackage.json
tabeliao.getDependencies(keys, callback(err, result))
Pega informações no serviço de configuração centralizada.
Parâmetros
keys (Array de strings)
Você passa todas as chaves das quais você precisa dos valores no servidor de configurações.
Uso
tabeliao.getDependencies(['address/google', 'address/stackoverflow'], function (err, result) {
console.log(result);
});
E o result será:
{
"address/google": "https://google.com",
"address/stackoverflow": "http://stackoverflow.com/"
}
8 years ago