Public | Automated Build

Last pushed: 2 days ago
Short Description
Short description is empty for this repo.
Full Description

concierge

Concierge é uma aplicação backoffice que permite a equipe de UX ter controle sobre a renderização dos admins.

Utiliza os middlewares do connect-concierge

O que ele faz

Cuida da autenticação, resolução de dependências, força protocolo HTTPS, otimiza a performance dos admins em geral e fornece alguns dust helpers para ajudar no desenvolvimento dos admins.

Como funciona

O concierge entrega determinados admins. As requisições para esses admins que baterem no Janus são redirecionadas para o Concierge.

Rodando local

É necessário utilizar o Locksmith para gerar credenciais temporárias de acesso ao AWS.

Guia prático de como fazer o Concierge buscar as credenciais do Locksmith:

Obs: É necessário ter credenciais no Okta para utilizar o Locksmith

  1. Clonar o Locksmith e seguir o guia de instalação e uso.
  2. Setar uma variável de ambiente chamada APPSETTINGS_PATH, com o path para o arquivo .conf (que na verdade é um xml) gerado pelo Locksmith. Por padrão, esse arquivo fica em <raíz do locksmith>/locksmith/output/appsettings.conf
  3. Rode o Locksmith (e deixe-o rodando em um terminal isolado. Ele gera uma chave nova a cada 50 minutos)

Pro-tip: Adicione o APPSETTINGS_PATH no seu .bashrc
Bro-tip: Adicione o alias locksmith para executar o main.py de boas

É necessário acessar a aplicação com um host no modelo VTEX, como basedevmkp.vtexcommercebeta.com.br. Para testar a aplicação, precisamos inserir uma regra no arquivo /etc/hosts. Para escrever nesse arquivo é requerido sudo, e portanto, o parâmetro -E para passar as variáveis de ambiente do appsetings do locksmith.

Instale as dependências da aplicação e use o grunt para rodar a aplicação:

$ npm install
$ sudo -E grunt --an=basedevmkp --stable

Resultado dos parâmetros acima no seu arquivo hosts:

127.0.0.1 basedevmkp.vtexcommercestable.com.br

Obs: Não se preocupe, ao encerrar o processo do grunt o seu arquivo hosts será restaurado sempre.

Pro-tip:

  • an: Account name (loja desejada, ex.: basedevmkp, ambienteqa)
  • stable: Proxy para stable, opcional, default: beta

Acesse basedevmkp.vtexcommercestable.com.br/admin/checkout (ou a loja/ambiente que você configurou), e verifique se recebeu a requisição no terminal.

Obs: As requisições para /api/Content, /admin/Script e /api precisam ser proxiadas para os servidores reais. O grunt liga um servidor de proxy reverso (na porta 80) em paralelo ao servidor da aplicação (na porta 8080).

Obs²: /api tem um proxy especial para direcionar a chamada para outro ambiente além do que você está tentando acessar em local, caso contrário qualquer request para a API retornaria erro/timeout, já que você provavelmente não está rodando a API em localhost também.

Ex.: Acessando basedevmkp.vtexcommercestable.com.br vai resultar em chamadas para a API em beta, e vice-versa.

Servindo um novo admin pelo Concierge

Todas as rotas servidas pelo concierge ficam no array roots no package.json.
Para servir um novo admin, basta adicionar sua rota ao array

Deploy

Para deployar a aplicação, basta fazer um release.

Releases beta subirão no environment concierge-env-beta no Elastic Beanstalk. Releases stable subirão no environment concierge-env-stable

Caso seja necessário um novo environment, siga o guia de deploy de Docker no Elastic Beanstalk da VTEX

Docker Pull Command
Owner
vmattos
Source Repository