Faça um git clone da seguinte url:
git clone [email protected]:MatThHeuss/desafio-metaplane.git
Após isso, entre no diretório do projeto:
cd desafio-metaplane
Para rodar o projeto localmente, basta executar o container docker. Para isso, execute o comando abaixo:
docker compose up -d
Após isso, é necessário iniciar a aplicação de dentro do container, para isso execute o comando abaixo para entrar no container.
make enter-container
Dentro do container, basta executar o seguinte comando:
make start
Para fazer um deploy local do kubernetes, basta seguir os passos a seguir:
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
Após rodar os dois comandos, é necessário expor alguma porta para acessarmos a aplicação. Para isso, execute o comando abaixo:
kubectl port-forward svc/metaplanesvc 8080:8080
É necessário ter um cluster kubernetes rodando localmente, uma sugestão é utilizar o kind
É necessário ter o kubectl
instalado para executar os comandos: kubectl
Para acessar a aplicação via o Google Kubernetes Engine (GKE) basta fazer requisições para o Ip abaixo:
http://34.151.225.187
Para executar os testes basta rodar o comando abaixo:
make test
Endpoint utilizado para salvar as listas que serão mergeadas. Exemplo de requisição:
curl --location 'http://localhost:8080/savelists' \
--header 'Content-Type: application/json' \
--data '{
"numbers": [1, 2, 4]
}'
O Código aceita no máximo duas listas
curl --location 'http://34.151.225.187/savelists' \
--header 'Content-Type: application/json' \
--data '{
"numbers": [1, 2, 4]
}'
Endpoint utilizado para realizar o merge das listas que foram salvas no endpoint anterior. Exemplo de requisição:
curl --location --request POST 'http://localhost:8080/merge' \
--data ''
curl --location --request POST 'http://34.151.225.187/merge' \
--data ''
Após feito o merge, as listas são apagadas da memória para que possa ser realizado vários testes.