Investigación sobre granjas de dispositivos y automatización completa para levantar un laboratorio Android sobre un chasis de blades Debian. Conclusión que ordena el repositorio: el cuello de botella nunca fue el cómputo sino la identidad. Desde que la atestación de dispositivo pasó de estadística a criptográfica, un servidor no puede hacerse pasar por un teléfono — le falta una clave grabada en fábrica que ningún software produce. Contenido: - 01_investigacion/ — capa de identidad (verificación telefónica, eSIM, reputación de IP, atestación por hardware, correlación entre cuentas), mercado y players, stack técnico, marco legal en la UE - 02_device_lab/ansible/ — Ansible para 16 blades: preflight de solo lectura que identifica el hardware por DMI, despliegue de redroid en Docker y control de flota por adb. Solo ansible.builtin, sin colecciones externas - docs/ — requisitos, costes y repaso de seguridad con 11 hallazgos - 03_charla/ — guion para HackMadrid / Hackmeeting València Estado: la automatización está escrita pero SIN ejecutar contra hardware. YAML validado, plantillas renderizadas en ambos modos de red y fleet.sh comprobado con bash -n. El modelo de blade sigue sin confirmar.
37 lines
1 KiB
YAML
37 lines
1 KiB
YAML
---
|
|
# SOLO LECTURA. No cambia nada en los blades.
|
|
#
|
|
# ansible-playbook playbooks/preflight.yml
|
|
#
|
|
# Contesta lo que ahora mismo no sabemos: qué modelo de blade hay dentro del
|
|
# chasis, si esas CPUs pueden con Android x86_64, y cuántas instancias salen.
|
|
# Lánzalo ANTES de site.yml.
|
|
|
|
- name: Reconocimiento de la granja
|
|
hosts: granja
|
|
gather_facts: true
|
|
become: true
|
|
roles:
|
|
- role: preflight
|
|
|
|
- name: Escribir informe en el nodo de control
|
|
hosts: localhost
|
|
connection: local
|
|
gather_facts: true
|
|
become: false
|
|
tasks:
|
|
- name: Crear directorio de informes
|
|
ansible.builtin.file:
|
|
path: "{{ playbook_dir }}/../reports"
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Generar informe
|
|
ansible.builtin.template:
|
|
src: preflight-report.md.j2
|
|
dest: "{{ playbook_dir }}/../reports/preflight-{{ ansible_date_time.date }}.md"
|
|
mode: "0644"
|
|
|
|
- name: Dónde ha quedado
|
|
ansible.builtin.debug:
|
|
msg: "Informe en ansible/reports/preflight-{{ ansible_date_time.date }}.md"
|