Sen descrición

David 87299836fc subdomains do %!s(int64=10) %!d(string=hai) anos
roles 4846a8e6c2 leo los host nginx de archivo externo %!s(int64=10) %!d(string=hai) anos
scripts 2cc694fe77 templater %!s(int64=10) %!d(string=hai) anos
templates 5dabde348e rename %!s(int64=10) %!d(string=hai) anos
README.md 87299836fc subdomains do %!s(int64=10) %!d(string=hai) anos
create-nginx.yml b20e9394f3 split+señora %!s(int64=10) %!d(string=hai) anos
create-senora.yml bfc72190b5 ufw %!s(int64=10) %!d(string=hai) anos
nginx_hosts.yml 4846a8e6c2 leo los host nginx de archivo externo %!s(int64=10) %!d(string=hai) anos
provision.yml fa804faaaf reestructuro %!s(int64=10) %!d(string=hai) anos

README.md

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/ufw 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 (requerido para IP en ufw, dns)
    • Instalar SSH, nginx, certbot
  • (Si es necesario) Crear VM(k) señora
    • DO VM + Agregar a lista de VMs existentes (requerido para dns, subdominio, certificado)
    • Instalar SSH, python, pip
    • sacar passwd login de ssh
    • iptables/ufw que dropee todo el trafico que no sea ssh y que no sea de VM nginx (sigue faltando obtener la whitelist)
  • Asignar señora a VM
    • crear usuario señora, con HOME
    • asignarle un puerto disponible (8000-8100) a la señora
    • Agregar (señora,VM,puerto) a lista de señoras
    • Configurar subdominios (DO) para señoras(http POST "https://api.digitalocean.com/v2/domains/davidventura.com.ar/records" type="A" name="senora" data="1.2.3.4" Authorization:"Bearer $DO_API_TOKEN")
    • 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)