miércoles, noviembre 28, 2018

SuperLatch Docker: Integrar Latch con Docker y Kubernetes en tus aplicaciones (2 de 3)

Continuando con lo visto en la primera parte de este artículo, para ejecutar la PoC de SuperLatch Docker, el primer paso será ejecutar el proceso de pairing del contenedor de la PoC con Latch. Para ello tendremos que definir las variables de entorno con los valores que serán necesarios para confirmar la cuenta del usuario Latch y los valores asociados a la aplicación.

Figura 7: SuperLatch Docker: Integrar Latch con Docker y Kubernetes en tus aplicaciones (2 de 3)

Para ello utilizaremos el botón “Añadir una nueva aplicación”, le daremos un nombre que será el que utilicemos para gestionar su Latch y al final obtendremos una pantalla parecida a esta:

Figura 8: Creación de una app desde el panel de control de Latch para obtener un ApplicationID

Los valores que tendremos que tener en cuenta son el ID de la aplicación y el Secreto, además de nuestras claves API de usuario que podemos ver en la pantalla anterior:

Figura 9: Creación de una aplicación desde el panel de control de Latch. UserID y User Secret

El siguiente paso será crear tres variables de entorno GNU/Linux y asignarles estos valores. Este sería el proceso:
export LATCH_APP_ID=f399NWzvzPT9FvYmxszZ 
export LATCH_SECRET_KEY=VAzYXpim[...........]MfbpUDR2M  
export LATCH_ACCOUNT_ID=wplatch@gmail.com
Ahora solo tenemos que preparar nuestra aplicación Latch en nuestro iPhone o Android y solicitar un nuevo token de pareado. Luego ejecutamos la aplicación superlatchpairing.py que se encuentra dentro del directorio latch-container.


Figura 10: Vídeo de pareado con Latch

Si todo ha ido correctamente, como se puede ver en el vídeo, deberá de devolver un nuevo valor de ACCOUNT_ID como se puede observar en esta captura:

Figura 11: AccountID devuelto por Latch después de hacer el pairing correctamente

En este punto ya tenemos Latch asociado con nuestra aplicación en el contenedor. Ahora tendremos que sustituir el valor de LATCH_ACCOUNT_ID con esta nueva cadena para que Latch funcione correctamente contra esta nueva aplicación. Para ello simplemente volvemos a ejecutar el export pero esta vez con la cadena devuelta del pairing.

Figura 12: Actualización de la variable LATCH_ACCOUNT_ID
después de obtener el AccountID devuelto por la operación de pairing

Ya estamos listos para ejecutar el docker-compose y levantar todos los contenedores. Para ello, utilizamos el siguiente comando desde la carpeta donde está ubicado el fichero docker-compose.yaml:

Figura 13: Ejecución del docker-compose

Esto tardará un poco la primera vez mientras descarga todas las imágenes necesarias para montar toda la instalación. Una vez terminado, podemos ver los contenedores levantados y los servicios publicados con el siguiente comando:

Figura 14: Salida de la ejecución de docker-compose ps

En la imagen observamos los contenedores y los puertos publicados. Podemos comprobar los tres contenedores en ejecución, con la aplicación de Go publicada en el puerto 8081 del localhost y la aplicación Java en el puerto 8080. Ahora si abrimos el navegador apuntando a cada puerto podremos ver las dos aplicaciones desplegadas y su estado:
Figura 15: Estado de las aplicaciones Java con Latch desactivado
Figura 16: Estado de las aplicaciones Go con Latch desactivado

Ya sólo queda empezar a jugar con Latch y veremos como a medida que cambiamos el estado del pestillo Latch, tanto la aplicación Go como la aplicación Java se bloquean o se activan, como veremos en la última parte de este artículo.

***********************************************************************************
- SuperLatch Docker: Integrar Latch con Docker y Kubernetes en tus apps (1 de 3)
- SuperLatch Docker: Integrar Latch con Docker y Kubernetes en tus apps (2 de 3)
- SuperLatch Docker: Integrar Latch con Docker y Kubernetes en tus apps (3 de 3)
***********************************************************************************

Autores:

Fran Ramírez, (@cyberhadesblog) miembro del equipo de Crazy Ideas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.

Rafael Troncoso (@tuxotron) es DevOps Tech Lead en USCIS/DHS, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.

No hay comentarios:

Publicar un comentario