Solve conflics
commit
36c2abc98f
|
@ -1,4 +1,5 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
<<<<<<< HEAD
|
||||||
## [0.12.0] - 2025-05-13
|
## [0.12.0] - 2025-05-13
|
||||||
### Added
|
### Added
|
||||||
- Se ha añadido nueva API para poder gestionar las tareas y acciones programadas.
|
- Se ha añadido nueva API para poder gestionar las tareas y acciones programadas.
|
||||||
|
@ -11,6 +12,11 @@
|
||||||
## Fixed
|
## Fixed
|
||||||
- Se ha corregido el bug en la creacion de clientes masivos donde no se le asignaba la plantilla PXE.
|
- Se ha corregido el bug en la creacion de clientes masivos donde no se le asignaba la plantilla PXE.
|
||||||
- Se ha corregido un bug en el DTO de clientes, que hacia que PHP diera un timeout por bucle infinito.
|
- Se ha corregido un bug en el DTO de clientes, que hacia que PHP diera un timeout por bucle infinito.
|
||||||
|
=======
|
||||||
|
## [0.11.2] - 2025-04-23
|
||||||
|
### Fixed
|
||||||
|
- Se ha cambiado la forma en guardar la fecha al recibir "ping" de los clientes.
|
||||||
|
>>>>>>> main
|
||||||
|
|
||||||
---
|
---
|
||||||
## [0.11.1] - 2025-04-16
|
## [0.11.1] - 2025-04-16
|
||||||
|
|
|
@ -12,5 +12,5 @@ Depends: ${misc:Depends}, mariadb-server, systemd, nginx, libzip-dev, zip, unzip
|
||||||
php8.3-gd, php8.3-ldap, php8.3-mbstring, php8.3-mysql, php8.3-common,
|
php8.3-gd, php8.3-ldap, php8.3-mbstring, php8.3-mysql, php8.3-common,
|
||||||
php8.3-xml, php8.3-zip, mercure
|
php8.3-xml, php8.3-zip, mercure
|
||||||
Description: OpenGnsys Core
|
Description: OpenGnsys Core
|
||||||
This is a longer description of the ogcore package.
|
OgCore package is responsible about management of Opengnsys platform
|
||||||
OpenGnsys Core is a platform for system management.
|
OpenGnsys Core is a platform for system management.
|
||||||
|
|
|
@ -4,8 +4,30 @@ set -e
|
||||||
set -x
|
set -x
|
||||||
. /usr/share/debconf/confmodule
|
. /usr/share/debconf/confmodule
|
||||||
|
|
||||||
|
restore_config_if_modified() {
|
||||||
|
local new="$1"
|
||||||
|
local backup="$1.bak"
|
||||||
|
|
||||||
|
if [ -f "$backup" ]; then
|
||||||
|
if ! cmp -s "$new" "$backup"; then
|
||||||
|
echo ">>> Archivo modificado por el usuario detectado en $new"
|
||||||
|
echo " - Guardando archivo nuevo como ${new}.new"
|
||||||
|
mv -f "$new" "${new}.new"
|
||||||
|
echo " - Restaurando archivo anterior desde backup"
|
||||||
|
mv -f "$backup" "$new"
|
||||||
|
else
|
||||||
|
echo ">>> El archivo $new no ha cambiado desde la última versión, eliminando backup"
|
||||||
|
rm -f "$backup"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
USER="opengnsys"
|
USER="opengnsys"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Detectar si es una instalación nueva o una actualización
|
# Detectar si es una instalación nueva o una actualización
|
||||||
if [ "$1" = "configure" ] && [ -z "$2" ]; then
|
if [ "$1" = "configure" ] && [ -z "$2" ]; then
|
||||||
# Detectar IP de la interfaz de red asociad a la ruta por defecto.
|
# Detectar IP de la interfaz de red asociad a la ruta por defecto.
|
||||||
|
@ -90,29 +112,48 @@ if [ "$1" = "configure" ] && [ -z "$2" ]; then
|
||||||
|
|
||||||
echo ">>> Usuario administrador $ADMIN_USER creado."
|
echo ">>> Usuario administrador $ADMIN_USER creado."
|
||||||
fi
|
fi
|
||||||
|
# Install crontab
|
||||||
|
echo ">>> Configurando cron para comprobar disponibilidad de clientes"
|
||||||
|
cp /opt/opengnsys/ogcore/etc/cron.d/opengnsys-check-clients /etc/cron.d/opengnsys-check-clients
|
||||||
|
chmod 644 /etc/cron.d/opengnsys-check-clients
|
||||||
|
chown root:root /etc/cron.d/opengnsys-check-clients
|
||||||
|
|
||||||
elif [ "$1" = "configure" ] && [ -n "$2" ]; then
|
elif [ "$1" = "configure" ] && [ -n "$2" ]; then
|
||||||
echo ">>> Actualización detectada desde la versión $2"
|
echo ">>> Actualización detectada desde la versión $2"
|
||||||
|
|
||||||
cd /opt/opengnsys/ogcore/api
|
# Restaurar archivos de configuración si han sido modificados
|
||||||
|
restore_config_if_modified "/opt/opengnsys/ogcore/etc/nginx/sites-available/ogcore.conf"
|
||||||
|
restore_config_if_modified "/opt/opengnsys/ogcore/etc/nginx/sites-available/mercure.conf"
|
||||||
|
restore_config_if_modified "/opt/opengnsys/ogcore/etc/php/8.3/fpm/pool.d/ogcore-fpm.conf"
|
||||||
|
restore_config_if_modified "/opt/opengnsys/ogcore/etc/systemd/system/og-mercure.service"
|
||||||
|
restore_config_if_modified "/opt/opengnsys/ogcore/api/env.json"
|
||||||
|
|
||||||
|
cd /opt/opengnsys/ogcore/api
|
||||||
echo ">>> Aplicando migraciones de base de datos"
|
echo ">>> Aplicando migraciones de base de datos"
|
||||||
php bin/console doctrine:migrations:migrate --no-interaction
|
php bin/console doctrine:migrations:migrate --no-interaction
|
||||||
echo ">>> Configurando servidor web y servicios"
|
echo ">>> Configurando servidor web y servicios"
|
||||||
ln -s /opt/opengnsys/ogcore/etc/nginx/sites-available/ogcore.conf /etc/nginx/sites-enabled/ogcore.conf
|
[ ! -L /etc/nginx/sites-enabled/ogcore.conf ] && ln -s /opt/opengnsys/ogcore/etc/nginx/sites-available/ogcore.conf /etc/nginx/sites-enabled/ogcore.conf
|
||||||
ln -s /opt/opengnsys/ogcore/etc/php/8.3/fpm/pool.d/ogcore-fpm.conf /etc/php/8.3/fpm/pool.d/ogcore-fpm.conf
|
[ ! -L /etc/php/8.3/fpm/pool.d/ogcore-fpm.conf ] && ln -s /opt/opengnsys/ogcore/etc/php/8.3/fpm/pool.d/ogcore-fpm.conf /etc/php/8.3/fpm/pool.d/ogcore-fpm.conf
|
||||||
ln -s /opt/opengnsys/ogcore/etc/systemd/system/og-mercure.service /etc/systemd/system/og-mercure.service
|
[ ! -L /etc/systemd/system/og-mercure.service ] && ln -s /opt/opengnsys/ogcore/etc/systemd/system/og-mercure.service /etc/systemd/system/og-mercure.service
|
||||||
echo ">>> Configurando permisos de archivos"
|
echo ">>> Configurando permisos de archivos"
|
||||||
chown opengnsys:www-data /opt/opengnsys/
|
chown opengnsys:www-data /opt/opengnsys/
|
||||||
chown -R opengnsys:www-data /opt/opengnsys/ogcore
|
chown -R opengnsys:www-data /opt/opengnsys/ogcore
|
||||||
|
if [ ! -f /etc/cron.d/opengnsys-check-clients ]; then
|
||||||
|
echo ">>> Configurando cron para comprobar disponibilidad de clientes"
|
||||||
|
cp /opt/opengnsys/ogcore/etc/cron.d/opengnsys-check-clients /etc/cron.d/opengnsys-check-clients
|
||||||
|
chmod 644 /etc/cron.d/opengnsys-check-clients
|
||||||
|
chown root:root /etc/cron.d/opengnsys-check-clients
|
||||||
|
else
|
||||||
|
echo ">>> El archivo de cron ya existe, no se realizan cambios se ajustan permisos"
|
||||||
|
chmod 644 /etc/cron.d/opengnsys-check-clients
|
||||||
|
chown root:root /etc/cron.d/opengnsys-check-clients
|
||||||
|
fi
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable og-mercure
|
systemctl enable og-mercure
|
||||||
systemctl restart og-mercure
|
systemctl restart og-mercure
|
||||||
systemctl restart nginx
|
systemctl restart nginx
|
||||||
systemctl restart php8.3-fpm
|
systemctl restart php8.3-fpm
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Recargar systemd y reiniciar servicios en ambos casos
|
# Recargar systemd y reiniciar servicios en ambos casos
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,19 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
backup_file_if_exists() {
|
||||||
|
local original="$1"
|
||||||
|
local backup="$1.bak"
|
||||||
|
|
||||||
|
if [ -e "$original" ]; then
|
||||||
|
echo " - Guardando backup de $original en $backup"
|
||||||
|
cp -a "$original" "$backup"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
CONFIG_FILE="/opt/opengnsys/ogcore/api/env.json"
|
||||||
|
BACKUP_FILE="/opt/opengnsys/ogcore/api/env.json.bak"
|
||||||
|
|
||||||
# Asegurarse de que el usuario exista
|
# Asegurarse de que el usuario exista
|
||||||
USER="opengnsys"
|
USER="opengnsys"
|
||||||
HOME_DIR="/opt/opengnsys"
|
HOME_DIR="/opt/opengnsys"
|
||||||
|
@ -12,4 +25,18 @@ else
|
||||||
useradd -m -d "$HOME_DIR" -s /bin/bash "$USER"
|
useradd -m -d "$HOME_DIR" -s /bin/bash "$USER"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
CONFIG_FILE="/opt/opengnsys/ogcore/api/env.json"
|
||||||
|
BACKUP_FILE="/opt/opengnsys/ogcore/api/env.json.bak"
|
||||||
|
|
||||||
|
# Solo hacemos backup si el archivo existe y es una actualización (posición 1 = upgrade)
|
||||||
|
if [ "$1" = "upgrade" ]; then
|
||||||
|
echo ">>> Backup de archivos de configuración reales en /opt/opengnsys"
|
||||||
|
backup_file_if_exists "/opt/opengnsys/ogcore/etc/nginx/sites-available/ogcore.conf"
|
||||||
|
backup_file_if_exists "/opt/opengnsys/ogcore/etc/nginx/sites-available/mercure.conf"
|
||||||
|
backup_file_if_exists "/opt/opengnsys/ogcore/etc/php/8.3/fpm/pool.d/ogcore-fpm.conf"
|
||||||
|
backup_file_if_exists "/opt/opengnsys/ogcore/etc/systemd/system/og-mercure.service"
|
||||||
|
backup_file_if_exists "/opt/opengnsys/ogcore/api/env.json"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
*/5 * * * * opengnsys php -d memory_limit=512M /opt/opengnsys/ogcore/api/bin/console opengnsys:check-client-availability >> /opt/opengnsys/ogcore/api/var/log/cron.log 2>&1
|
|
@ -71,9 +71,7 @@ class StatusController extends AbstractController
|
||||||
return new JsonResponse(['message' => 'Client not found'], Response::HTTP_NOT_FOUND);
|
return new JsonResponse(['message' => 'Client not found'], Response::HTTP_NOT_FOUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
$updateAt = (new \DateTime())->setTimestamp((int)$data['timestamp']);
|
$client->setUpdatedAt(new \DateTime());
|
||||||
|
|
||||||
$client->setUpdatedAt($updateAt);
|
|
||||||
$this->entityManager->persist($client);
|
$this->entityManager->persist($client);
|
||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,4 @@ final class CommandTaskScheduleInput
|
||||||
|
|
||||||
return $commandTaskSchedule;
|
return $commandTaskSchedule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -68,4 +68,4 @@ readonly class CommandTaskScheduleProvider implements ProviderInterface
|
||||||
|
|
||||||
return new CommandTaskScheduleInput();
|
return new CommandTaskScheduleInput();
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue