Žiadny popis

David dbdd78b1f5 initial 'create user' support 10 rokov pred
roles dbdd78b1f5 initial 'create user' support 10 rokov pred
scripts 37403aad29 nginx certbot 10 rokov pred
templates 5dabde348e rename 10 rokov pred
web edeeaae690 dont update port 10 rokov pred
README.md b77d63da3c db 10 rokov pred
add-senora.yml dbdd78b1f5 initial 'create user' support 10 rokov pred
create-nginx.yml b20e9394f3 split+señora 10 rokov pred
create-senora.yml bfc72190b5 ufw 10 rokov pred
nginx_hosts.yml 4846a8e6c2 leo los host nginx de archivo externo 10 rokov pred
provision.yml fa804faaaf reestructuro 10 rokov pred

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)