refactor: simplificar naming de nodos con auto-deducción #80
Reference in New Issue
Block a user
No description provided.
Delete Branch "refactor-simplify-node-naming"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cambios principales:
Sintaxis nueva (simplificada):
force_https: yes
Auto: domains: [marmite.abyaya.la], rap_dn: marmite.comun
Sintaxis FQDN externo:
domains:
Auto: rap_dn: kipu.comun
Retrocompatibilidad:
domains: [antigua.abyaya.la]
rap_dn: antigua.comun
Beneficios:
Cambios principales: - Nueva variable 'nodo': nombre base (ej: marmite) - Renombrar variable antigua 'nodo' (FQDN) -> 'rap_dn' - Auto-deducir 'domains' desde nodo: [{{ nodo }}.abyaya.la] - Auto-deducir 'rap_dn' desde nodo: {{ nodo }}.comun - Extraer lógica normalización a roles/proxy/tasks/normalize_node.yml - Agregar defaults en roles/proxy/vars/main.yml Sintaxis nueva (simplificada): - nodo: marmite force_https: yes # Auto: domains: [marmite.abyaya.la], rap_dn: marmite.comun Sintaxis FQDN externo: - nodo: kipu domains: - kipu.latina.red # Auto: rap_dn: kipu.comun Retrocompatibilidad: - service_name: antigua domains: [antigua.abyaya.la] rap_dn: antigua.comun Beneficios: - DRY: Una sola variable define nombre - Menos errores de tipeo - Configuración más limpia - Retrocompatible con service_nameentiendo que está bien, las preguntas nomás son para emprolijar a futuro
@ -2,2 +2,3 @@current_service: "{{ item }}"service_name: "{{ item.service_name }}"# Deducir service_name: usar 'nodo' si existe, sino 'service_name' (retrocompatibilidad)service_name: "{{ item.nodo | default(item.service_name) }}"acabo de entender que lo que vos haces con
set_factyo lo hago en el inventario :P@ -45,0 +43,4 @@- set_fact:matrix_loop: "{{ matrix_loop | default([]) | union([ domino_normalized ]) }}"with_items: "{{ matrix }}"when: "{{ (domino.domains is defined or domino.nodo is defined or domino.service_name is defined) }}"dominoes un typo que se arrastró por autocompletado?no. es mi manía de ponerles nombres no-standard a las variables para diferenciarlas mejor
podriamos estandarizarlas todas
@ -0,0 +3,4 @@domino_normalized:nodo: "{{ domino.nodo | default(domino.service_name) }}"rap_dn: "{{ domino.rap_dn | default((domino.nodo | default(domino.service_name)) ~ '.comun') }}"domains: "{{ domino.domains | default([(domino.nodo | default(domino.service_name)) ~ '.abyaya.la']) }}"eventualmente haría que
abyaya.laycomunsean variables@ -0,0 +4,4 @@nodo: "{{ domino.nodo | default(domino.service_name) }}"rap_dn: "{{ domino.rap_dn | default((domino.nodo | default(domino.service_name)) ~ '.comun') }}"domains: "{{ domino.domains | default([(domino.nodo | default(domino.service_name)) ~ '.abyaya.la']) }}"force_https: "{{ domino.force_https | default(domains_default_force_https) }}"nunca entendí por qué https es opcional
hay servicios que les jodés si les forzás https, como Icecast, donde los clientes de streaming en general no soportan https
@ -20,3 +20,3 @@proxy_ssl_name $ssl_server_name;proxy_pass https://$comun_{{ vhost.nodo | replace(".", "") }};proxy_pass https://$comun_{{ vhost.rap_dn | replace(".", "") }};por que estabamos haciendo este replace? no puede ser otra variable con el nombre sanitizado para nginx asi no lo tenemos que repetir todo el rato?
Aqui, que el dominio .abyaya.la quede en domains[0]
WIP: refactor: simplificar naming de nodos con auto-deducciónto refactor: simplificar naming de nodos con auto-deducción