# Planes ``` +-> | VMs(1) | ---> | [ (usuario, puerto) ] | internet ---> | nginx(1+) | --+-> | VMs(..) | ---> | [ (usuario, puerto) ] | +-> | VMs(n) | ---> | [ (usuario, puerto) ] | ``` ## nginx Tiene que: * ~~Crear una ruta subdominio <--> VM:Puerto~~ * Conseguir certificado Let's encrypt * ~~Renovar certificados~~ ## VMs(k) Tiene que: * Tener distintos usuarios(unix) por cliente (señora), distintos $HOME con distintos puertos para backend. * Droppear TODO el trafico que no sea de nginx. * Backup? por proxy nginx? ## Ansible * Crear VM nginx * DO VM + Agregar a lista de nginx * ~~Instalar SSH, nginx, certbot~~ * Configurar subdominios (DO) para señoras * ~~Configurar subdominios (nginx) para señoras~~ * Conseguir certificados para señoras * Crear VM(k) señora * DO VM + Agregar a lista de VMs existentes * Instalar SSH, python, pip * sacar passwd login de ssh * iptables que dropee todo el trafico que no sea ssh y que no sea de VM nginx * Asignar señora a VM * crear usuario señora, con HOME * asignarle un puerto disponible a la señora * Agregar (señora,VM,puerto) a lista de señoras ## Ansible en orden de resolucion * ~~Crear VM nginx~~ * DO VM + Agregar a lista de nginx * ~~Instalar SSH, nginx, certbot~~ * (Si es necesario) Crear VM(k) señora * DO VM + Agregar a lista de VMs existentes * Instalar SSH, python, pip * sacar passwd login de ssh * iptables que dropee todo el trafico que no sea ssh y que no sea de VM nginx (ip?) * Asignar señora a VM * crear usuario señora, con HOME * asignarle un puerto disponible a la señora * Agregar (señora,VM,puerto) a lista de señoras * Configurar subdominios (DO) para señoras * ~~Configurar subdominios (nginx) para señoras~~ * Conseguir certificados para señoras ## Listas/Base de datos * Lista de VMs nginx(id,ip) * Lista de VMs señoras (id, ip) * Lista de señoras (datos personales, VM-señora-id, usuario, puerto)