Bez popisu

David b77d63da3c db před 10 roky
roles ccd401e892 put info on db when creating droplet před 10 roky
scripts 37403aad29 nginx certbot před 10 roky
templates 5dabde348e rename před 10 roky
web 7d627fd18d unify user+nginx into machines před 10 roky
README.md b77d63da3c db před 10 roky
create-nginx.yml b20e9394f3 split+señora před 10 roky
create-senora.yml bfc72190b5 ufw před 10 roky
nginx_hosts.yml 4846a8e6c2 leo los host nginx de archivo externo před 10 roky
provision.yml fa804faaaf reestructuro před 10 roky

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)