# Uso de `run.sh`

El script `run.sh` automatiza el proceso de implementación para un entorno de `k8s` utilizando `minikube`. Incluye la construcción de imágenes `Docker`, la personalización de versiones de `Postgres`, la habilitación de `TLS` y la configuración de réplicas para la API.

## Requisitos

- [Minikube](https://minikube.sigs.k8s.io/docs/start/)
- [Docker](https://docs.docker.com/get-docker/)
- [Helm](https://helm.sh/docs/intro/install/)

## Uso

```bash
./run.sh -i  # Modo interactivo
./run.sh -p <version> -s <Y|N> -r <number>  # Modo no interactivo
```

## Opciones de línea de comandos

- **-i:** Modo interactivo
- **-p <version>:** Especificar la versión de Postgres
- **-s <Y|N>:** Habilitar o deshabilitar SSL (Y para sí, N para no)
- **-r <number>:** Especificar el número de réplicas para la API

## Funcionalidad del script

1. **Verificación del estado de Minikube:**

   El script verifica si Minikube ya está en ejecución y lo inicia si no lo está.

2. **Versión de Postgres y construcción:**

   Solicita al usuario la versión de Postgres, construye imágenes `Docker` y actualiza la versión en el archivo de valores de `Helm`.

3. **Configuración de TLS:**

   Pregunta al usuario si desea habilitar `TLS` y actualiza el archivo de valores de `Helm` en consecuencia.

4. **Configuración de réplicas para la API:**

   Solicita al usuario el número de réplicas para la API y actualiza el archivo de valores de `Helm`.

5. **Configuración de Ingress:**

   Habilita el complemento Ingress si Minikube está en ejecución.

6. **Implementación de Helm:**

   Verifica la existencia de un release de `Helm` llamado "exam" y lo actualiza o instala según sea necesario.

## build.sh

El script `build.sh` es el encargado de construir imágenes de `Docker`. Ofrece diversas opciones para personalizar el proceso de construcción. Aunque es posible ejecutarlo de forma independiente, se recomienda utilizar el script `run.sh`, ya que actúa como `wrapper`. De todos modos se adjunta la documentación pertinente:

### Uso

```bash
./build.sh -d <dominio> -b -v <versión>
```

### Opciones

- `-b`: Construye las imágenes de `Docker`.
- `-v <version>`: Especifica la versión de `PostgreSQL`.

### Ejemplo

```bash
./build.sh -d ejemplo.com -b -v 13.3
```