Série API Connect — Instalando o ambiente
Você pode encontrar os primeiros posts dessa série nos links abaixo:
Para não deixar o post tão longo vou abstrair a obtenção dos ingredientes dessa receita, você pode obtê-los como for melhor para você.
Vamos então aos ingredientes necessários para a configuração do nosso ambiente:
- 1 dose de Docker 1.12.0 ou superior
- 1 dose de Docker-Compose 1.8.1 ou superior
- 1 pitada de Git
- Sistema Operacional a gosto
Vamos ao modo de preparo, no meu caso irei utilizar o Ubuntu, mas fique à vontade em escolher seu ambiente preferido:
1 Adicione o Git ao seu sistema operacional cuidadosamente ou em grande proporção, de acordo com a velocidade de sua Internet.
2 Clone o projeto apiconnect-docker através do comando git clone https://github.com/strongloop/apiconnect-docker
em uma pasta de sua escolha.
3 Adicione o Docker ao seu sistema operacional cuidadosamente ou em grande proporção, de acordo com a velocidade de sua Internet, e logo em seguida, adicione o Docker Compose.
No caso do Docker, eu havia escrito um post sobre a instalação que eu geralmente sigo em ambiente Ubuntu.
Você pode verificar se fez a correta dosagem desses dois ingredientes executando os comandos docker -v
e docker-compose -v
:
4 Ao perceber que os ingredientes Docker e Docker-compose se relacionam de acordo com a especificação inicial, execute o comando docker run -it --rm --env SHOW_LICENSE=1 ibmcom/apiconnect:manager-v5.0.6.0
5 Vamos editar alguns parâmetros do arquivo .env dentro do projeto apiconnect-docker:
Descomente a linha ACCEPT_LICENSE=true
Altere as linhas SMTP_HOST
, SMTP_PORT
e SMTP_SENDER
para valores válidos de SMTP.
A partir desse ponto é possível realizar a configuração com DataPower Gateway ou com um Micro Gateway. No nosso caso, daremos prosseguimento utilizando o DataPower Gateway, por ser uma escolha que mais à frente nos oferecerá maior número de componentes para manipulação da criação de APIs.
6 Execute o comando docker-compose up -d
para iniciar os containers necessários.
Depois de deixar os ingredientes cozinhando algum tempo, voilá…
Aparentemente alguma coisa não está certa com a nossa receita.
Ao analisar o que poderia ter dado errado, entrei no ambiente de problemas do projeto, e notei que a issue 34 reflete o problema atual
O nosso problema se encontra na safra da imagem DataPower quando misturada com o restante da solução do API Connect. Pelo que foi reportado na issue:
Datapower Docker images 7.6.0 was released a couple of weeks ago
https://hub.docker.com/r/ibmcom/datapower/tags/I noticed Docker-compose is broken with it
The reason is the default user has changed from
root
todrouter
.
7 Para salvar a nossa receita, vamos fazer um trocar na safra do DataPower por uma outra que se adapta melhor, bastando para isso alterar no arquivo Dockerfile na pasta datapower para a versão da imagem para 7.5.2.
8 Execute novamente o comando docker-compose up -d
para iniciar os containers necessários.
Depois de deixar os ingredientes cozinhando novamente entre 5 a 10 minutos em fogo baixo, voilá…
9 Execute o comando docker-compose ps
e note que combinamos corretamente todos os ingredientes:
10 Vamos alterar nosso arquivo /etc/hosts para mapear os endereços IP de nosso host Docker. Adicione a seguinte linha <docker-host-ip> apim datapower gwadmin ibmportal microservice
, no meu caso, alterei para 0.0.0.0 apim datapower gwadmin ibmportal microservice
como abordado na issue 29
Para testar vamos abrir a página do DataPower (https://gwadmin/) e a página do API Manager (https://apim/apim/)
Bom, esse post já está longo. Vamos terminar a instalação por aqui. No próximo post iremos realizar algumas configurações… e antes que eu me esqueça, só gostaria de deixar mais uma vez registrado…