🔧 Core & Ámbitos: Commit general de mejoras y nodos pendientes
- Docs: A03 BKP updates y nuevo manifiesto nodo dasu-sql4 - W-Zombi: Nuevas rutas explícitas (exec.rb, ps1.rb) y estado stateful (cmd.json) - Bóveda: candados/.boveda.json modificados al agregar nuevos servidores (sql2, sql3) - Cleanup: Remover token .session de candados - Core API: Fixes en Bitacora_db
This commit is contained in:
@@ -11,5 +11,6 @@
|
||||
"dominio-utnlarioja.intranet:monlaricardo": "eyJpdiI6InFRQ3VNYWlVSHlKMURNdzciLCJ0YWciOiJ1a3hESUZlaEt6enV3UXZxWUFrWXhRPT0iLCJkYXRhIjoiNVNaekdxVyt6dE5WQmhPaXF3PT0ifQ==",
|
||||
"deepseek_key": "eyJpdiI6InRCc2IvL3J4SGNsejgvL04iLCJ0YWciOiJBbjRlMTNXNlZzUGhNSWowSUU1a01nPT0iLCJkYXRhIjoiQXR4azk1aU9sb2QydzNwa0FMTHpjVkJKQTIvZU4wY1U2V2crK3NBbVd1UnRmUGh6In0=",
|
||||
"srv-ns8:rmonla": "eyJpdiI6IlJ4cHZkbFpJQWVsTTl3T1YiLCJ0YWciOiJ3WTZGMDEvNHNsZm1wZm5jMEF4Q1lBPT0iLCJkYXRhIjoibFljUHRYTm44bUxvQjhCa2tBPT0ifQ==",
|
||||
"dasu-sql3:Administrador": "eyJpdiI6IlRiMDh3U1N2aVhTcDYzbzciLCJ0YWciOiI5NVNyUDFlMXlrM0dGRlNqUXhLbEt3PT0iLCJkYXRhIjoiVkp2V09zSjczcS96UktTSlZTOFdBdz09In0="
|
||||
"dasu-sql3:Administrador": "eyJpdiI6IlRiMDh3U1N2aVhTcDYzbzciLCJ0YWciOiI5NVNyUDFlMXlrM0dGRlNqUXhLbEt3PT0iLCJkYXRhIjoiVkp2V09zSjczcS96UktTSlZTOFdBdz09In0=",
|
||||
"srvv-nginx-rm:rmonla": "eyJpdiI6ImFsQnk5UjhLaDFYWHJsWnciLCJ0YWciOiJJaEtCS215ekkwYVdFR0ZHNzFVN0VBPT0iLCJkYXRhIjoiUkcvSS9sMjhoQnFpRmZobFZBPT0ifQ=="
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
1775682230
|
||||
@@ -473,7 +473,11 @@ module BitacorasDB
|
||||
inicio_horario = Time.new(2000, 1, 1, 8, 0, 0)
|
||||
fin_horario = Time.new(2000, 1, 1, 13, 0, 0)
|
||||
|
||||
if modo_bitacora == 'P' && inicio_time >= fin_horario
|
||||
# Ensure we are comparing Times
|
||||
require 'time'
|
||||
inicio_t = inicio_time.is_a?(String) ? Time.parse(inicio_time) : inicio_time
|
||||
|
||||
if modo_bitacora == 'P' && inicio_t >= fin_horario
|
||||
modo = 'R' # Fuera de horario presencial
|
||||
else
|
||||
modo = modo_bitacora
|
||||
@@ -670,9 +674,15 @@ module BitacorasDB
|
||||
where_clause_events = if conditions.empty?
|
||||
''
|
||||
else
|
||||
# Reemplazar referencias a e. por ev. y eliminar condiciones que no aplican a events
|
||||
conditions_events = conditions.reject { |c| c.include?('bitacora_id') || c.include?('tema_id') || c.include?('ambito_id') }
|
||||
"WHERE #{conditions_events.join(' AND ').gsub('e.', 'ev.')}"
|
||||
# Adaptar condiciones para events: traducir referencias y eliminar las que no aplican
|
||||
conditions_events = conditions.map do |c|
|
||||
if c.include?('e.ambito_id')
|
||||
c.gsub('e.ambito_id', 'n.ambito_id')
|
||||
else
|
||||
c.gsub('e.', 'ev.')
|
||||
end
|
||||
end.reject { |c| c.include?('bitacora_id') || c.include?('tema_id') }
|
||||
conditions_events.empty? ? '' : "WHERE #{conditions_events.join(' AND ')}"
|
||||
end
|
||||
|
||||
# Unificar eventos de tabla events y entradas para mostrar todo junto
|
||||
@@ -1045,7 +1055,7 @@ module BitacorasDB
|
||||
end
|
||||
|
||||
# Actualizar un evento existente
|
||||
def actualizar_evento(id, descripcion: nil, estado: nil, fin: nil)
|
||||
def actualizar_evento(id, descripcion: nil, estado: nil, fin: nil, metadata: nil)
|
||||
set_clauses = []
|
||||
values = []
|
||||
i = 1
|
||||
@@ -1068,6 +1078,12 @@ module BitacorasDB
|
||||
i += 1
|
||||
end
|
||||
|
||||
if metadata
|
||||
set_clauses << "metadata = $#{i}"
|
||||
values << metadata.to_json
|
||||
i += 1
|
||||
end
|
||||
|
||||
return nil if set_clauses.empty?
|
||||
|
||||
set_clauses << "updated_at = NOW()"
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"id":2,"cmd":"$ErrorActionPreference='Stop'; Write-Host '=== Instalando QEMU-GA ==='; msiexec /i D:\\guest-agent\\qemu-ga-x86_64.msi /quiet /norestart; Start-Sleep 10; Start-Service QEMU-GA; Write-Host 'QEMU-GA: ' (Get-Service QEMU-GA).Status; Write-Host '=== Instalando Tailscale ==='; [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iwr https://pkgs.tailscale.com/stable/tailscale-setup-latest.exe -OutFile C:\\tailscale-setup.exe -UseBasicParsing; Start-Process C:\\tailscale-setup.exe /quiet -Wait; Start-Sleep 5; Write-Host '=== Conectando Tailscale ==='; $out = & 'C:\\Program Files\\Tailscale\\tailscale.exe' up 2>&1; Write-Host $out; Write-Host '=== IP Tailscale ==='; & 'C:\\Program Files\\Tailscale\\tailscale.exe' ip"}
|
||||
{"id":200,"cmd":"Rename-Computer -NewName dasu-sql3"}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
require 'json'
|
||||
|
||||
module WZombi
|
||||
module Routes
|
||||
class Exec
|
||||
def initialize(config)
|
||||
@config = config
|
||||
end
|
||||
|
||||
def call(_req, res)
|
||||
res['Content-Type'] = 'text/plain; charset=utf-8'
|
||||
cmd = JSON.parse(File.read(@config.cmd_path))['cmd']
|
||||
res.body = "#{cmd}\n"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,17 @@
|
||||
require 'json'
|
||||
|
||||
module WZombi
|
||||
module Routes
|
||||
class Ps1
|
||||
def initialize(config)
|
||||
@config = config
|
||||
end
|
||||
|
||||
def call(_req, res)
|
||||
res['Content-Type'] = 'text/plain; charset=utf-8'
|
||||
cmd = JSON.parse(File.read(@config.cmd_path))['cmd']
|
||||
res.body = "#{cmd}\n"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user