From 24f03e4f010791bae62df87c38eed796162d9e97 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Thu, 13 Mar 2025 20:18:46 +0100 Subject: [PATCH 01/12] Add Jenkinsfile to build package --- Jenkins/Jenkinsfile-deb-pkg | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Jenkins/Jenkinsfile-deb-pkg diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg new file mode 100644 index 0000000..6aba833 --- /dev/null +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -0,0 +1,28 @@ +pipeline { + agent { + label 'jenkins-slave' + } + environment { + DEBIAN_FRONTEND = 'noninteractive' + BUILD_DIR = "${WORKSPACE}/source" + } + stages { + stage('Checkout') { + steps { + script { + sh "mkdir -p ${BUILD_DIR}" // Creamos el directorio + dir("${BUILD_DIR}") { + checkout scm // Hacemos el checkout en el subdirectorio + } + } + } + } + stage('Build') { + steps { + dir ("${BUILD_DIR}") { + sh 'dpkg-buildpackage -us -uc' + } + } + } + } +} From 02542d23e168ada5ecd56f9c2fb070bd42fadad7 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Thu, 13 Mar 2025 20:34:25 +0100 Subject: [PATCH 02/12] Add composer requirement for build package --- Jenkins/Jenkinsfile-deb-pkg | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 6aba833..eab481c 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -20,7 +20,10 @@ pipeline { stage('Build') { steps { dir ("${BUILD_DIR}") { - sh 'dpkg-buildpackage -us -uc' + sh ''' + composer require symfony/flex + dpkg-buildpackage -us -uc + ''' } } } From 6ce1f99a3e500926dedf4ac92640ec71c0e8edd8 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Thu, 13 Mar 2025 21:51:09 +0100 Subject: [PATCH 03/12] Publishing packages --- Jenkins/Jenkinsfile-deb-pkg | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index eab481c..a4774b3 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -23,8 +23,19 @@ pipeline { sh ''' composer require symfony/flex dpkg-buildpackage -us -uc + sh 'mkdir -p ../artifacts && mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/' ''' } + archiveArtifacts artifacts: 'artifacts/*.deb', fingerprint: true + } + } + stage ('Publish to Debian Repository') { + agent { label 'debian-repo' } + steps { + copyArtifacts projectName: env.JOB_NAME, filter: 'artifacts/*.deb', fingerprintArtifacts: true, target: 'debian-repo/' + sh ''' + aptly repo add opengsnys-devel debian-repo/*.deb + ''' } } } From fc91dd08acbbd9720ca79f785a147bf537da1274 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Thu, 13 Mar 2025 23:39:34 +0100 Subject: [PATCH 04/12] Fix typo --- Jenkins/Jenkinsfile-deb-pkg | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index a4774b3..2a0aa75 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -4,7 +4,10 @@ pipeline { } environment { DEBIAN_FRONTEND = 'noninteractive' - BUILD_DIR = "${WORKSPACE}/source" + BUILD_DIR = "${WORKSPACE}/ogcore" + } + opfions { + skipDefaultCheckout() } stages { stage('Checkout') { @@ -23,7 +26,7 @@ pipeline { sh ''' composer require symfony/flex dpkg-buildpackage -us -uc - sh 'mkdir -p ../artifacts && mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/' + mkdir -p ../artifacts && mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/ ''' } archiveArtifacts artifacts: 'artifacts/*.deb', fingerprint: true From 57ad3b849cf705254fa168b1512099f8ac4101c0 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Thu, 13 Mar 2025 23:44:13 +0100 Subject: [PATCH 05/12] Fix typo --- Jenkins/Jenkinsfile-deb-pkg | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 2a0aa75..e97e793 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -4,25 +4,29 @@ pipeline { } environment { DEBIAN_FRONTEND = 'noninteractive' - BUILD_DIR = "${WORKSPACE}/ogcore" } - opfions { + options { skipDefaultCheckout() } stages { - stage('Checkout') { + stage('Prepare Workspace') { steps { script { - sh "mkdir -p ${BUILD_DIR}" // Creamos el directorio - dir("${BUILD_DIR}") { - checkout scm // Hacemos el checkout en el subdirectorio - } + env.BUILD_DIR = "${WORKSPACE}/ogcore" + sh "mkdir -p ${env.BUILD_DIR}" + } + } + } + stage('Checkout') { + steps { + dir("${env.BUILD_DIR}") { + checkout scm } } } stage('Build') { steps { - dir ("${BUILD_DIR}") { + dir("${env.BUILD_DIR}") { sh ''' composer require symfony/flex dpkg-buildpackage -us -uc @@ -35,10 +39,15 @@ pipeline { stage ('Publish to Debian Repository') { agent { label 'debian-repo' } steps { + script { + sh "mkdir -p ${WORKSPACE}/debian-repo" + } copyArtifacts projectName: env.JOB_NAME, filter: 'artifacts/*.deb', fingerprintArtifacts: true, target: 'debian-repo/' - sh ''' - aptly repo add opengsnys-devel debian-repo/*.deb - ''' + dir("${WORKSPACE}/debian-repo") { + sh ''' + aptly repo add opengnsys-devel *.deb + ''' + } } } } From 3b854f822e9d972e48fedb047d97daea4a0e2cff Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Fri, 14 Mar 2025 00:03:59 +0100 Subject: [PATCH 06/12] Fix typo --- Jenkins/Jenkinsfile-deb-pkg | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index e97e793..25cea2e 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -31,24 +31,19 @@ pipeline { composer require symfony/flex dpkg-buildpackage -us -uc mkdir -p ../artifacts && mv ../*.deb ../*.changes ../*.buildinfo ../artifacts/ + ssh aptly@172.17.8.68 "rm -rf /var/tmp/opengnsys/debian-repo && mkdir -p /var/tmp/opengnsys/debian-repo" + scp -r ../artifacts/* aptly@172.17.8.68:/var/tmp/opengnsys/debian-repo/ ''' } - archiveArtifacts artifacts: 'artifacts/*.deb', fingerprint: true + } } stage ('Publish to Debian Repository') { agent { label 'debian-repo' } steps { - script { - sh "mkdir -p ${WORKSPACE}/debian-repo" - } - copyArtifacts projectName: env.JOB_NAME, filter: 'artifacts/*.deb', fingerprintArtifacts: true, target: 'debian-repo/' - dir("${WORKSPACE}/debian-repo") { - sh ''' - aptly repo add opengnsys-devel *.deb - ''' - } + sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" } } } } + From c6becd3bbd9425b8eac0e608cdcd3ef243248ee6 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Fri, 14 Mar 2025 00:45:35 +0100 Subject: [PATCH 07/12] Updates debian changelog --- debian/changelog | 63 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/debian/changelog b/debian/changelog index cb0e888..afd485f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,14 +1,53 @@ -ogcore (1.0.5+develop20250310-1) unstable; urgency=medium +ogcore (0.9.2-1) unstable; urgency=medium - * Modified changelog - * Some improvements. Fixed multi select actions - * refs #1644. Cancel deployImage action - * Updated test phunit.xml - * Updated test - * Merge branch 'main' into develop - * Fixed phpxml - * Fixed phpxml - * Changed test - * Changed repoClient funcionality. New filters added + * Added mercure service in docker compose file for deployments. + + -- Manuel Aranda Wed, 12 Mar 2025 14:00:00 +0200 + +ogcore (0.9.1-1) unstable; urgency=medium + + * Corrección en la cancelación de transmisiones p2p. + + -- Manuel Aranda Wed, 12 Mar 2025 13:00:00 +0200 + +ogcore (0.9.0-1) unstable; urgency=medium + + * Nueva funcionalidad para tener notificaciones en tiempo real. Instalación de bundle "Mercure". + * Creación de EventListener en Symfony, para publicar mensajes en Mercure cuando se realicen cambios en la base de datos. + * Nuevo endpoint "backup image". Integración con ogRepository. + * Nuevo campo en "usuarios" para escoger la visualización por defecto de la vista "grupos". + * Nuevo campo "dns" en "subredes" para gestionar los servidores DNS. + * Integración de endpoint ogRepository para verificar la integridad de una imagen. + * Nueva funcionalidad para cancelar despliegues de imágenes. + * Añadido nuevo campo "cancelado" en trazas. + * Cambios en logs: salida redirigida de stderr a file.log. + * Modificación en módulo DHCP: gestión de equipos con una única llamada a la API. + * Cambios en las respuestas de acciones masivas en equipos para evitar fallos en peticiones parciales. + + -- Manuel Aranda Tue, 04 Mar 2025 15:00:00 +0200 + +ogcore (0.8.1-1) unstable; urgency=medium + + * Corrección de bug en el deploy de imágenes. + + -- Manuel Aranda Tue, 25 Feb 2025 10:00:00 +0200 + +ogcore (0.8.0-1) unstable; urgency=medium + + * Nuevos campos en "aulas" para la jerarquía en clientes. + * Nueva funcionalidad "imagen global". Integración con ogRepository. + * Limpieza en campos "name" y "date" de ogLive. Ahora se parsea el campo "filename" para mejorar la experiencia del usuario. + * Corrección de bug que impedía borrar un cliente si tenía una traza enlazada. + + -- Manuel Aranda Fri, 10 Jan 2025 12:00:00 +0200 + +ogcore (0.7.3-1) unstable; urgency=medium + + * Adaptados cambios en los endpoints para multiselección de clientes. + * Se agregó la funcionalidad de importar/exportar. Integración con ogRepository. + * Se agregó la funcionalidad de borrar imágenes. Integración con ogRepository. + * Se agregó el modo "TORRENT" y "UDPCAST" en el despliegue de imágenes. + * Refactorización del webhook de ogRepository. + + -- Manuel Aranda Fri, 03 Jan 2025 11:00:00 +0200 - -- Tu Nombre Mon, 10 Mar 2025 10:59:14 +0000 From 5373feed3ce94a59ef74bed980abf64e4a035a78 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Fri, 14 Mar 2025 10:53:16 +0100 Subject: [PATCH 08/12] add proxy to reach mercure server --- etc/nginx/sites-available/ogcore.conf | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/etc/nginx/sites-available/ogcore.conf b/etc/nginx/sites-available/ogcore.conf index f8e7e0a..46a3e51 100644 --- a/etc/nginx/sites-available/ogcore.conf +++ b/etc/nginx/sites-available/ogcore.conf @@ -31,7 +31,21 @@ server { location ~ \.php$ { return 404; } + location /mercure/ { + proxy_pass http://ogcore-mercure:3000/; + proxy_read_timeout 24h; + proxy_http_version 1.1; + proxy_set_header Connection ""; + + # Enable fast reply in SSE + proxy_buffering off; + + ## Be sure to set USE_FORWARDED_HEADERS=1 to allow the hub to use those headers ## + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Proto $scheme; + } error_log /var/log/nginx/ogcore-error.log; access_log /var/log/nginx/ogcore-access.log; -} \ No newline at end of file +} From 14f662a2a66dca7e73085dab7a111aa3f1a9c3e8 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Fri, 14 Mar 2025 11:12:23 +0100 Subject: [PATCH 09/12] add proxy to reach mercure server --- docker/default.conf | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docker/default.conf b/docker/default.conf index c67e1ef..f4682a4 100644 --- a/docker/default.conf +++ b/docker/default.conf @@ -15,14 +15,18 @@ server { ssl_certificate /etc/nginx/certs/ogcore.uds-test.net.crt.pem; ssl_certificate_key /etc/nginx/certs/ogcore.uds-test.net.key.pem; - location /.well-known/mercure { - proxy_pass https://mercure:3000/.well-known/mercure; + location /mercure/ { + proxy_pass http://ogcore-mercure:3000/; proxy_read_timeout 24h; proxy_http_version 1.1; proxy_set_header Connection ""; - proxy_set_header X-Real-IP $remote_addr; + # Enable fast reply in SSE + proxy_buffering off; + + ## Be sure to set USE_FORWARDED_HEADERS=1 to allow the hub to use those headers ## proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Proto $scheme; } From ca79698e871bd1fa71ee4c24ce44f96fc358885f Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Fri, 14 Mar 2025 11:27:21 +0100 Subject: [PATCH 10/12] add proxy to reach mercure server --- docker/default.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/default.conf b/docker/default.conf index f4682a4..d0dd483 100644 --- a/docker/default.conf +++ b/docker/default.conf @@ -15,18 +15,19 @@ server { ssl_certificate /etc/nginx/certs/ogcore.uds-test.net.crt.pem; ssl_certificate_key /etc/nginx/certs/ogcore.uds-test.net.key.pem; - location /mercure/ { + location /mercure/ { proxy_pass http://ogcore-mercure:3000/; proxy_read_timeout 24h; proxy_http_version 1.1; proxy_set_header Connection ""; + proxy_set_header Host $host:$server_port; # Enable fast reply in SSE proxy_buffering off; - ## Be sure to set USE_FORWARDED_HEADERS=1 to allow the hub to use those headers ## + # Forward headers proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Proto $scheme; } From 1dea1b56cfdde6319b3909d9d1a56d594cf5e0be Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 17 Mar 2025 11:19:11 +0100 Subject: [PATCH 11/12] Updated default.conf for container, nginx as secure proxypass --- docker/default.conf | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/docker/default.conf b/docker/default.conf index d0dd483..f10f718 100644 --- a/docker/default.conf +++ b/docker/default.conf @@ -15,21 +15,7 @@ server { ssl_certificate /etc/nginx/certs/ogcore.uds-test.net.crt.pem; ssl_certificate_key /etc/nginx/certs/ogcore.uds-test.net.key.pem; - location /mercure/ { - proxy_pass http://ogcore-mercure:3000/; - proxy_read_timeout 24h; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_set_header Host $host:$server_port; - # Enable fast reply in SSE - proxy_buffering off; - - # Forward headers - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Host $host:$server_port; - proxy_set_header X-Forwarded-Proto $scheme; - } location /opengnsys/rest/ous// { rewrite ^/opengnsys/rest/ous//([0-9]+)/images /opengnsys/rest/ous/$1/images; @@ -59,3 +45,27 @@ server { error_log /var/log/nginx/error.log debug; access_log /var/log/nginx/access.log; } + +server { + listen 3000 ssl http2; + listen [::]:3000 ssl http2; + + + ssl_certificate /etc/nginx/certs/ogcore.uds-test.net.crt.pem; + ssl_certificate_key /etc/nginx/certs/ogcore.uds-test.net.key.pem; + + location / { + proxy_pass http://ogcore-mercure:3000/; + proxy_read_timeout 24h; + proxy_http_version 1.1; + proxy_set_header Connection ""; + + # Enable fast reply in SSE + proxy_buffering off; + + ## Be sure to set USE_FORWARDED_HEADERS=1 to allow the hub to use those headers ## + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Proto $scheme; + } +} \ No newline at end of file From 7b186b55d612ff12c3fafca1b809fb9383f5f510 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 18 Mar 2025 01:43:54 +0100 Subject: [PATCH 12/12] Update Jenkinsfile for debian --- Jenkins/Jenkinsfile-deb-pkg | 43 +++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index 25cea2e..9ddb188 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -1,13 +1,20 @@ +@Library('jenkins-shared-library') _ pipeline { agent { label 'jenkins-slave' } environment { DEBIAN_FRONTEND = 'noninteractive' + DEFAULT_DEV_NAME = 'Opengnsys Team' + DEFAULT_DEV_EMAIL = 'opengnsys@qindel.com' } options { skipDefaultCheckout() } + parameters { + string(name: 'DEV_NAME', defaultValue: '', description: 'Nombre del desarrollador') + string(name: 'DEV_EMAIL', defaultValue: '', description: 'Email del desarrollador') + } stages { stage('Prepare Workspace') { steps { @@ -17,6 +24,7 @@ pipeline { } } } + stage('Checkout') { steps { dir("${env.BUILD_DIR}") { @@ -24,6 +32,23 @@ pipeline { } } } + + stage('Generate Changelog') { + when { + expression { + return env.TAG_NAME != null + } + } + steps { + script { + def devName = params.DEV_NAME ? params.DEV_NAME : env.DEFAULT_DEV_NAME + def devEmail = params.DEV_EMAIL ? params.DEV_EMAIL : env.DEFAULT_DEV_EMAIL + + generateDebianChangelog(env.BUILD_DIR, devName, devEmail) + } + } + } + stage('Build') { steps { dir("${env.BUILD_DIR}") { @@ -35,15 +60,19 @@ pipeline { scp -r ../artifacts/* aptly@172.17.8.68:/var/tmp/opengnsys/debian-repo/ ''' } - - } - } - stage ('Publish to Debian Repository') { - agent { label 'debian-repo' } - steps { - sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" } } } + post { + always { + notifyBuildStatus('narenas@qindel.com') + } + } } +// stage ('Publish to Debian Repository') { +// agent { label 'debian-repo' } +// steps { +// sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/*.deb" +// } +// }