Compare commits
1 Commits
main
...
feature/og
Author | SHA1 | Date |
---|---|---|
|
22eb6f879e |
58
.env
58
.env
|
@ -1,58 +0,0 @@
|
|||
# In all environments, the following files are loaded if they exist,
|
||||
# the latter taking precedence over the former:
|
||||
#
|
||||
# * .env contains default values for the environment variables needed by the app
|
||||
# * .env.local uncommitted file with local overrides
|
||||
# * .env.$APP_ENV committed environment-specific defaults
|
||||
# * .env.$APP_ENV.local uncommitted environment-specific overrides
|
||||
#
|
||||
# Real environment variables win over .env files.
|
||||
#
|
||||
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
|
||||
# https://symfony.com/doc/current/configuration/secrets.html
|
||||
#
|
||||
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
|
||||
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
|
||||
|
||||
###> symfony/framework-bundle ###
|
||||
APP_ENV=dev
|
||||
APP_SECRET=e95c7f17da15ce1b03d77ad655379c34
|
||||
###< symfony/framework-bundle ###
|
||||
|
||||
###> doctrine/doctrine-bundle ###
|
||||
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
|
||||
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
|
||||
#
|
||||
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
|
||||
#DATABASE_URL="mysql://root:root@127.0.0.1:3336/dimio?serverVersion=8.0.32&charset=utf8mb4"
|
||||
DATABASE_URL="mysql://root:root@ogcore-database:3306/ogcore?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
|
||||
OG_1_DATABASE_URL="mysql://root:root@ogcore-database:3306/ogcore_old_og?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
|
||||
|
||||
#DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8"
|
||||
###< doctrine/doctrine-bundle ###
|
||||
|
||||
###> nelmio/cors-bundle ###
|
||||
CORS_ALLOW_ORIGIN='*'
|
||||
###< nelmio/cors-bundle ###
|
||||
|
||||
###> lexik/jwt-authentication-bundle ###
|
||||
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
|
||||
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
|
||||
JWT_PASSPHRASE=8b9154df37ffa91ef9186ce095324e39e50ff3b023bb1ed34383abd019ba4515
|
||||
###< lexik/jwt-authentication-bundle ###
|
||||
|
||||
OGBOOT_API_URL=http://localhost:8085
|
||||
OGDHCP_API_URL=http://localhost:8085
|
||||
|
||||
###> UDS ###
|
||||
UDS_AUTH_LOGIN="Usuarios locales"
|
||||
UDS_AUTH_USERNAME="natiqindel"
|
||||
UDS_AUTH_PASSWORD="correct horse battery staple"
|
||||
UDS_URL=https://localhost:8087/uds/rest/
|
||||
###< UDS ###
|
||||
|
||||
###> symfony/mercure-bundle ###
|
||||
MERCURE_URL=http://ogcore-mercure:3000/.well-known/mercure
|
||||
MERCURE_PUBLIC_URL=http://ogcore-mercure:3000/.well-known/mercure
|
||||
MERCURE_JWT_SECRET="!ChangeThisMercureHubJWTSecretKey!"
|
||||
###< symfony/mercure-bundle ###
|
26
.env.prod
26
.env.prod
|
@ -1,26 +0,0 @@
|
|||
|
||||
###> symfony/framework-bundle ###
|
||||
APP_ENV=prod
|
||||
APP_SECRET=e95c7f17da15ce1b03d77ad655379c34
|
||||
###< symfony/framework-bundle ###
|
||||
|
||||
###> doctrine/doctrine-bundle ###
|
||||
DATABASE_URL="mysql://root:root@127.0.0.1:3306/ogcore?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
|
||||
OG_1_DATABASE_URL="mysql://root:root@127.0.0.1:3306/ogcore_old_og?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
|
||||
###< doctrine/doctrine-bundle ###
|
||||
|
||||
###> nelmio/cors-bundle ###
|
||||
CORS_ALLOW_ORIGIN='*'
|
||||
###< nelmio/cors-bundle ###
|
||||
|
||||
###> lexik/jwt-authentication-bundle ###
|
||||
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
|
||||
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
|
||||
JWT_PASSPHRASE=8b9154df37ffa91ef9186ce095324e39e50ff3b023bb1ed34383abd019ba4515
|
||||
###< lexik/jwt-authentication-bundle ###
|
||||
|
||||
###> symfony/mercure-bundle ###
|
||||
MERCURE_URL=https://localhost:3000/.well-known/mercure
|
||||
MERCURE_PUBLIC_URL=https://localhost:3000/.well-known/mercure
|
||||
MERCURE_JWT_SECRET="!ChangeThisMercureHubJWTSecretKey!"
|
||||
###< symfony/mercure-bundle ###
|
|
@ -1,6 +0,0 @@
|
|||
# define your env variables for the test env here
|
||||
KERNEL_CLASS='App\Kernel'
|
||||
APP_SECRET='$ecretf0rt3st'
|
||||
SYMFONY_DEPRECATIONS_HELPER=999999
|
||||
PANTHER_APP_ENV=panther
|
||||
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
|
|
@ -1,35 +0,0 @@
|
|||
|
||||
###> symfony/framework-bundle ###
|
||||
/.env.local
|
||||
/.env.local.php
|
||||
/.env.*.local
|
||||
/config/secrets/prod/prod.decrypt.private.php
|
||||
/public/bundles/
|
||||
/var/
|
||||
/vendor/
|
||||
###< symfony/framework-bundle ###
|
||||
|
||||
#phpstorm
|
||||
.idea
|
||||
|
||||
###> lexik/jwt-authentication-bundle ###
|
||||
/config/jwt/*.pem
|
||||
###< lexik/jwt-authentication-bundle ###
|
||||
|
||||
###> symfony/phpunit-bridge ###
|
||||
.phpunit.result.cache
|
||||
/phpunit.xml
|
||||
###< symfony/phpunit-bridge ###
|
||||
|
||||
###> phpunit/phpunit ###
|
||||
/phpunit.xml
|
||||
.phpunit.result.cache
|
||||
###< phpunit/phpunit ###
|
||||
|
||||
### Debian packaging
|
||||
debian/ogcore
|
||||
debian/*.substvars
|
||||
debian/*.log
|
||||
debian/.debhelper/
|
||||
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
openapi: 3.0.3
|
||||
info:
|
||||
title: Core - ogBoot - OpenAPI 3.0
|
||||
description: |-
|
||||
API for ogBOOT service. Used by OGweb.
|
||||
|
||||
Some useful links:
|
||||
- [The ogBOOT repository](https://ognproject.evlt.uma.es/gitea/opengnsys/ogboot)
|
||||
contact:
|
||||
name: ogn-qindel
|
||||
email: seguimiento-ogn-quindel@listas.unizar.es
|
||||
version: 1.0.0
|
||||
paths:
|
||||
/opengnsys3/rest/core/clients:
|
||||
get:
|
||||
summary: Obtener Lista de Clientes
|
||||
description: Obtiene la lista de clientes registrados en el sistema.
|
||||
responses:
|
||||
'200':
|
||||
description: Lista de clientes
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/Client'
|
||||
'401':
|
||||
description: No autorizado
|
||||
/opengnsys3/rest/core/wol:
|
||||
post:
|
||||
summary: Encender Equipos Remotamente (Wake-on-LAN)
|
||||
description: Envía comandos de encendido remoto a uno o varios equipos utilizando Wake-on-LAN.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/WOLRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Comando de encendido enviado correctamente
|
||||
'401':
|
||||
description: No autorizado
|
||||
/opengnsys3/rest/core/session:
|
||||
post:
|
||||
summary: Gestión de Sesión
|
||||
description: Gestiona las sesiones de usuario en el sistema.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/SessionRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Sesión gestionada correctamente
|
||||
'401':
|
||||
description: No autorizado
|
||||
/opengnsys3/rest/core/poweroff:
|
||||
post:
|
||||
summary: Apagar Equipos
|
||||
description: Envía comandos de apagado a uno o varios equipos.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/PowerOffRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Comando de apagado enviado correctamente
|
||||
'401':
|
||||
description: No autorizado
|
||||
/opengnsys3/rest/core/reboot:
|
||||
post:
|
||||
summary: Reiniciar Equipos
|
||||
description: Envía comandos de reinicio a uno o varios equipos.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/RebootRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Comando de reinicio enviado correctamente
|
||||
'401':
|
||||
description: No autorizado
|
||||
/opengnsys3/rest/core/stop:
|
||||
post:
|
||||
summary: Detener Operaciones en Curso
|
||||
description: Detiene las operaciones en curso en los equipos.
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/StopRequest'
|
||||
responses:
|
||||
'200':
|
||||
description: Operaciones detenidas correctamente
|
||||
'401':
|
||||
description: No autorizado
|
||||
components:
|
||||
schemas:
|
||||
Client:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
description: ID del cliente
|
||||
name:
|
||||
type: string
|
||||
description: Nombre del cliente
|
||||
ip_address:
|
||||
type: string
|
||||
description: Dirección IP del cliente
|
||||
mac_address:
|
||||
type: string
|
||||
description: Dirección MAC del cliente
|
||||
WOLRequest:
|
||||
type: object
|
||||
properties:
|
||||
type:
|
||||
type: string
|
||||
description: Tipo de envío de paquetes Wake-on-LAN
|
||||
clients:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/Client'
|
||||
SessionRequest:
|
||||
type: object
|
||||
properties:
|
||||
clients:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Direcciones IP de los clientes
|
||||
disk:
|
||||
type: string
|
||||
description: Número del disco duro
|
||||
partition:
|
||||
type: string
|
||||
description: Número de la partición
|
||||
PowerOffRequest:
|
||||
type: object
|
||||
properties:
|
||||
clients:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Direcciones IP de los clientes
|
||||
RebootRequest:
|
||||
type: object
|
||||
properties:
|
||||
clients:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Direcciones IP de los clientes
|
||||
StopRequest:
|
||||
type: object
|
||||
properties:
|
||||
clients:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Direcciones IP de los clientes
|
||||
|
|
@ -0,0 +1,347 @@
|
|||
openapi: 3.0.3
|
||||
info:
|
||||
title: Core - ogDHCP - OpenAPI 3.0
|
||||
description: |-
|
||||
API for DHCP service. Used by OGweb.
|
||||
|
||||
Some useful links:
|
||||
- [The ogDHCP repository](https://ognproject.evlt.uma.es/gitea/opengnsys/ogdhcp)
|
||||
contact:
|
||||
name: ogn-qindel
|
||||
email: seguimiento-ogn-quindel@listas.unizar.es
|
||||
version: 1.0.0
|
||||
paths:
|
||||
/opengnsys3/rest/core/subnets:
|
||||
get:
|
||||
operationId: 8f92a1cbcb8cd176bdc4ae272b3ad303
|
||||
responses:
|
||||
'200':
|
||||
description: Devuelve todas las subredes
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/Subnet'
|
||||
'400':
|
||||
description: Error al obtener las subredes
|
||||
post:
|
||||
summary: Add a new DHCP subnet
|
||||
operationId: 88949bae5e7784ce2721ffafe7c88c0a
|
||||
requestBody:
|
||||
description: JSON payload
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
subnetId:
|
||||
type: integer
|
||||
example: 2
|
||||
mask:
|
||||
type: string
|
||||
example: 255.255.255.0
|
||||
address:
|
||||
type: string
|
||||
example: 192.168.1.0
|
||||
nextServer:
|
||||
type: string
|
||||
example: 192.168.1.1
|
||||
bootFileName:
|
||||
type: string
|
||||
example: pxelinux.0
|
||||
type: object
|
||||
responses:
|
||||
'200':
|
||||
description: Subnet added successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
success:
|
||||
type: string
|
||||
type: object
|
||||
'400':
|
||||
description: Error occurred
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
type: object
|
||||
/opengnsys3/rest/core/subnets/{subnetId}:
|
||||
put:
|
||||
summary: Modify a DHCP subnet
|
||||
operationId: 548b55fc0e1ad59ea5b5c909dfd07c71
|
||||
parameters:
|
||||
- name: subnetId
|
||||
in: path
|
||||
description: ID of the subnet to modify
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
requestBody:
|
||||
description: Data to modify the subnet
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
mask:
|
||||
type: string
|
||||
address:
|
||||
type: string
|
||||
nextServer:
|
||||
type: string
|
||||
bootFileName:
|
||||
type: string
|
||||
type: object
|
||||
responses:
|
||||
'200':
|
||||
description: Subnet modified successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
success:
|
||||
type: string
|
||||
type: object
|
||||
'400':
|
||||
description: Error occurred
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
type: object
|
||||
delete:
|
||||
summary: Delete a DHCP subnet
|
||||
operationId: c1c1c34729bdd85857b22e6e2bdc41de
|
||||
parameters:
|
||||
- name: subnetId
|
||||
in: path
|
||||
description: ID of the subnet to delete
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
responses:
|
||||
'200':
|
||||
description: Subnet deleted successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
success:
|
||||
type: string
|
||||
type: object
|
||||
'400':
|
||||
description: Error occurred
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
type: object
|
||||
/opengnsys3/rest/core/subnets/{subnetId}/hosts:
|
||||
get:
|
||||
summary: Get all hosts in a subnet
|
||||
operationId: 0989ca622a6a7e23f5af8e3bdd6f6b05
|
||||
parameters:
|
||||
- name: subnetId
|
||||
in: path
|
||||
description: The ID of the subnet
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
responses:
|
||||
'200':
|
||||
description: List of hosts in the subnet
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/Host'
|
||||
'400':
|
||||
description: Error occurred
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
type: object
|
||||
'500':
|
||||
description: Server error
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
type: object
|
||||
put:
|
||||
summary: Update a DHCP host
|
||||
operationId: 1541441cd53685aaf6df45ab48befaa8
|
||||
parameters:
|
||||
- name: subnetId
|
||||
in: path
|
||||
description: The ID of the subnet
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
requestBody:
|
||||
description: Data for the host to update
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
host:
|
||||
type: string
|
||||
example: pc11
|
||||
oldMacAddress:
|
||||
type: string
|
||||
example: 56:6f:c7:4f:00:4f
|
||||
oldAddress:
|
||||
type: string
|
||||
example: 192.168.1.11
|
||||
macAddress:
|
||||
type: string
|
||||
example: 56:6f:c7:4f:01:01
|
||||
address:
|
||||
type: string
|
||||
example: 192.168.1.11
|
||||
type: object
|
||||
responses:
|
||||
'200':
|
||||
description: Host updated successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
success:
|
||||
type: string
|
||||
type: object
|
||||
'400':
|
||||
description: Error occurred
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
type: object
|
||||
post:
|
||||
summary: Add a DHCP host to a subnet
|
||||
operationId: 3f897dcd7c04787ac9c42ddbb57cb800
|
||||
parameters:
|
||||
- name: subnetId
|
||||
in: path
|
||||
description: ID of the subnet to add the host to
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
requestBody:
|
||||
description: Data for the new host
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
host:
|
||||
type: string
|
||||
example: pc11
|
||||
macAddress:
|
||||
type: string
|
||||
example: 56:6f:c7:4f:00:4f
|
||||
address:
|
||||
type: string
|
||||
example: 172.30.4.11
|
||||
type: object
|
||||
responses:
|
||||
'200':
|
||||
description: Host added successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
success:
|
||||
type: string
|
||||
type: object
|
||||
'400':
|
||||
description: Error occurred
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
type: object
|
||||
delete:
|
||||
summary: Delete a DHCP host from a specific subnet
|
||||
operationId: f652c52b39d57d283401df66a7930b5f
|
||||
parameters:
|
||||
- name: subnetId
|
||||
in: path
|
||||
description: The ID of the subnet
|
||||
required: true
|
||||
schema:
|
||||
type: integer
|
||||
responses:
|
||||
'200':
|
||||
description: Host deleted successfully
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
success:
|
||||
type: string
|
||||
type: object
|
||||
'400':
|
||||
description: Error occurred
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
properties:
|
||||
error:
|
||||
type: string
|
||||
type: object
|
||||
components:
|
||||
schemas:
|
||||
Subnet:
|
||||
properties:
|
||||
id:
|
||||
description: The ID of the subnet
|
||||
type: integer
|
||||
subnet:
|
||||
description: The name of the subnet
|
||||
type: string
|
||||
next-server:
|
||||
description: The next server in the subnet
|
||||
type: string
|
||||
boot-file-name:
|
||||
description: The boot file name for the subnet
|
||||
type: string
|
||||
reservations:
|
||||
type: array
|
||||
items:
|
||||
description: The reservations in the subnet
|
||||
type: object
|
||||
type: object
|
||||
Host:
|
||||
properties:
|
||||
host:
|
||||
type: string
|
||||
example: pc11
|
||||
macAddress:
|
||||
type: string
|
||||
example: 56:6f:c7:4f:00:4f
|
||||
address:
|
||||
type: string
|
||||
example: 172.30.4.11
|
||||
type: object
|
||||
|
180
CHANGELOG.md
180
CHANGELOG.md
|
@ -1,180 +0,0 @@
|
|||
# Changelog
|
||||
## [0.14.2] - 2025-06-09
|
||||
### Improved
|
||||
- Cambio en el template base del menu. Ahora apunta a los script de python de manera correcta.
|
||||
|
||||
---
|
||||
## [0.14.1] - 2025-06-09
|
||||
### Fixed
|
||||
- Se han corregido los mensajes de error que se envian cuando las APIs de los modulos no estan disponibles.
|
||||
- Se ha corregido un bug en la herencia de datos entre aulas y grupos, que hacia que no se almacenaran los datos de manera correcta.
|
||||
|
||||
---
|
||||
## [0.14.0] - 2025-06-02
|
||||
### Added
|
||||
- Se ha añadido la funcionalidad de mover equipos entre aulas y grupos.
|
||||
- Se ha añadido la funcionalidad para eliminar imagen cache.
|
||||
- Se ha añadido la funcionalidad para iniciar sesion.
|
||||
|
||||
### Improved
|
||||
- Se ha cambiado la restriccion que comprobaba los puertos de MULTICAST.
|
||||
- Se ha modificado el tiempo en el script, que se encarga de comprobar el estado de los equipos. Ahora es de 1 min en lugar de 3.
|
||||
|
||||
### Fixed
|
||||
- Se ha corregido un bug que hacia que al modificar un cliente o eliminarlo, no se actualizaba su estado en la subred.
|
||||
- Se ha corregido un bug que hacia que al modificar un cliente, no se actualizara su fichero de arranque.
|
||||
|
||||
---
|
||||
## [0.13.1] - 2025-05-23
|
||||
### Fixed
|
||||
- Variable de entorno "SSl_ENABLED" desactivada por defecto.
|
||||
|
||||
---
|
||||
## [0.13.0] - 2025-05-20
|
||||
### Added
|
||||
- Se ha creado la base para la comunicacion TLS con el agente.
|
||||
|
||||
### Improved
|
||||
- Refactorizacion de la API para la gestion de llamadas al agente
|
||||
|
||||
### Fixed
|
||||
- Se ha corregido un bug que hacia que no se eliminara la imagen al particionar.
|
||||
|
||||
---
|
||||
## [0.12.1] - 2025-05-14
|
||||
### Improved
|
||||
- Se ha eliminado la restriccion en el formulario de crear/editar repositorio, que hacia que la comprobara el formato de IP. Ahora tambien puede ser DNS.
|
||||
- Mejora en el script de ejecutar tareas.
|
||||
- Ahora al editar la mac de un cliente, se borra el fichero de arranque antiguo.
|
||||
- Se ha añadido una restriccion en plantillas para que tan solo haya 1 por defecto
|
||||
|
||||
---
|
||||
## [0.12.0] - 2025-05-13
|
||||
### Added
|
||||
- Se ha añadido nueva API para poder gestionar las tareas y acciones programadas.
|
||||
- Se ha añadido un nuevo campo en plantillas (defecto) el cual nos permite tener una plantilla por defecto en caso de que se elimine una.
|
||||
- Se ha comenzado la integracion con ogGit.
|
||||
|
||||
### Improved
|
||||
- Mejorado el comportamiento de la API al crear una imagen. Ahora se guardan datos del pc de origen.
|
||||
|
||||
### Fixed
|
||||
- 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.
|
||||
|
||||
---
|
||||
## [0.11.2] - 2025-04-23
|
||||
### Fixed
|
||||
- Se ha cambiado la forma en guardar la fecha al recibir "ping" de los clientes.
|
||||
|
||||
---
|
||||
## [0.11.1] - 2025-04-16
|
||||
### Fixed
|
||||
- Se ha corregido un error al crear imagen versionada. Si la particion de origen era diferente, no dejaba crear.
|
||||
- Error en la transmision de imagenes. No se actualizaba con la imagen versionada, si no con la canonica.
|
||||
|
||||
---
|
||||
## [0.11.0] - 2025-04-11
|
||||
### Added
|
||||
- Se ha añadido funcionalidad para renombrar imagenes en ogRepository. Nuevo sistema de versionado.
|
||||
- Se ha añadido la integracion con el ogAgent para poder ejecutar scripts.
|
||||
- Se ha añadido el poder añadir descripcion a una imagen.
|
||||
- Se han añadido 2 nuevos campos en la gestion de los repositorios: usuario y puerto ssh.
|
||||
- Se ha añadido funcionalidad para poder gestionar el estado de un equipo de manera automatica. En caso de no haber conexion con el cliente, la web sera notificada en un tiempo maximo de 5 min.
|
||||
|
||||
### Improved
|
||||
- Se han modificado los logs para que puedan "salir" por syslog ademas de por fichero.
|
||||
|
||||
### Fixed
|
||||
- Se ha corregido el bug que hacia que cuando habia demasiados clientes, no se mostraran en pantalla debido a un error de memoria.
|
||||
---
|
||||
|
||||
## [0.10.1] - 2025-03-25
|
||||
### Improved
|
||||
- Se ha modificado el script de creación de usuarios, añadiendole la opcion del tipo de visionalizacion por defecto de la vista "grupos".
|
||||
|
||||
## [0.10.0] - 2025-03-25
|
||||
### Added
|
||||
- Nuevo endpoint ogRepository. Convertir imagen en imagen virtual.
|
||||
- Nuevo endpoint ogRepository. Importar imágenes externas al sistema.
|
||||
- Nuevo método para desplegar imagenes sin cache.
|
||||
|
||||
---
|
||||
## [0.9.5] - 2025-03-19
|
||||
### Added
|
||||
- Jenkinsfile updated to publish in repo
|
||||
|
||||
---
|
||||
## [0.9.4] - 2025-03-17
|
||||
### Fixed
|
||||
- Mercure service behind nginx server for containers, expose port in docker compose for nginx
|
||||
|
||||
---
|
||||
## [0.9.3] - 2025-03-17
|
||||
### Fixed
|
||||
- Mercure service behind nginx server for containers
|
||||
|
||||
---
|
||||
## [0.9.2] - 2025-03-12
|
||||
### Fixed
|
||||
- Added mercure service in docker compose file for deployments.
|
||||
|
||||
---
|
||||
## [0.9.1] - 2025-03-12
|
||||
### Fixed
|
||||
- Corrección en la cancelacion de transmisiones p2p.
|
||||
|
||||
---
|
||||
## [0.9.0] - 2025-03-04
|
||||
### Added
|
||||
- Nueva funcionalidad para tener notificaciones en tiempo real. Instalación de bundle "Mercure".
|
||||
- Creacion de EventListener en Symfony, para publicar mensajes en Mercure, cuando se realicen cambios en la base de datos ( cambio de estado en lo equipos, y trazas).
|
||||
- Nuevo endpoint "backup image". Integracion con ogRepository.
|
||||
- Nuevo campo en "usuarios" el cual permite escoger la visualizacion por defecto de la vista "grupos".
|
||||
- Nuevo campo "dns" en "subredes" para gestionar los servidores DNS.
|
||||
- Integracion endpoint ogRepository para checkear la integridad de una imagen.
|
||||
- Nueva funcionalidad para cancelar despliegues de imagenes.
|
||||
- Añadido nuevo campo "cancelado" en trazas.
|
||||
|
||||
### Changed
|
||||
- Cambios en logs. Cambios en salida (stderror -> file.log)
|
||||
- Modulo DHCP. Añadir equipos, ahora se gestiona con una unica llamada a la API.
|
||||
- Acciones masivas en equipos. Se ha cambiado la respuesta para que no fallen las peticiones si uno o mas equipos no da respuesta.
|
||||
|
||||
---
|
||||
## [0.8.1] - 2025-02-25
|
||||
### Fixed
|
||||
- Corrección de bug en el deploy de imágenes
|
||||
|
||||
---
|
||||
|
||||
## [0.8.0] - 2025-01-10
|
||||
### Added
|
||||
- Nuevos campos en "aulas" para la jerarquia en clientes.
|
||||
- Nueva funcionalidad "imagen global". Integracion con ogRepository.
|
||||
|
||||
### Changed
|
||||
- Limpieza en campos "name" y "date" de ogLive. Es necesario parsear el campo "filename" para facilitar el uso al usuario en la web.
|
||||
### 🐛 Fixed
|
||||
- Corrección de bug que impedia borrar un cliente si tenia una traza enlazada.
|
||||
---
|
||||
|
||||
|
||||
## [0.7.3] - 2025-01-03
|
||||
### Added
|
||||
- Adaptados cambios en los endpoints para multiseleccion 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.
|
||||
|
||||
### ⚡ Changed
|
||||
- Refactorización del webhook de ogRepository.
|
||||
|
||||
---
|
||||
|
||||
## Formato de cambios:
|
||||
- **Added**: Secciones con nuevas características.
|
||||
- **Fixed**: Corrección de errores y bugs.
|
||||
- **Changed**: Modificaciones o mejoras en funcionalidades existentes.
|
||||
- **Improved**: Mejoras en funcionalidades existentes.
|
||||
- **Removed**: Funcionalidades o dependencias eliminadas.
|
|
@ -1,107 +0,0 @@
|
|||
@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 {
|
||||
script {
|
||||
env.BUILD_DIR = "${WORKSPACE}/ogcore"
|
||||
sh "mkdir -p ${env.BUILD_DIR}"
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
dir("${env.BUILD_DIR}") {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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('Generate Changelog (Nightly)'){
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
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,"nightly")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build') {
|
||||
steps {
|
||||
script {
|
||||
construirPaquete(env.BUILD_DIR, "../artifacts", "172.17.8.68", "/var/tmp/opengnsys/debian-repo/ogcore")
|
||||
}
|
||||
}
|
||||
}
|
||||
stage ('Publish to Debian Repository') {
|
||||
when {
|
||||
expression {
|
||||
return env.TAG_NAME != null
|
||||
}
|
||||
}
|
||||
agent { label 'debian-repo' }
|
||||
steps {
|
||||
script {
|
||||
// Construir el patrón de versión esperado en el nombre del paquete
|
||||
def versionPattern = "${env.TAG_NAME}-${env.BUILD_NUMBER}"
|
||||
publicarEnAptly('/var/tmp/opengnsys/debian-repo/ogcore', 'opengnsys-devel', versionPattern)
|
||||
}
|
||||
}
|
||||
}
|
||||
stage ('Publish to Debian Repository (Nightly)') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
agent { label 'debian-repo' }
|
||||
steps {
|
||||
script {
|
||||
// Construir el patrón de versión esperado en el nombre del paquete
|
||||
def versionPattern = "-${env.BUILD_NUMBER}~nightly"
|
||||
publicarEnAptly('/var/tmp/opengnsys/debian-repo/ogcore', 'nightly', versionPattern)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
notifyBuildStatus('narenas@qindel.com')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
pipeline {
|
||||
agent {
|
||||
label 'jenkins-slave'
|
||||
}
|
||||
|
||||
environment {
|
||||
DOCKER_REPO = "opengnsys"
|
||||
DOCKER_TAG = "${env.BUILD_NUMBER}"
|
||||
DOCKER_IMAGE_NAME = "ogcore"
|
||||
BRANCH_NAME = "${env.BRANCH_NAME}"
|
||||
DOCKER_IDENTITY = "${DOCKER_REPO}/${DOCKER_IMAGE_NAME}-php:${BRANCH_NAME}-${DOCKER_TAG}"
|
||||
DOCKER_IDENTITY_NGINX = "${DOCKER_REPO}/${DOCKER_IMAGE_NAME}-nginx:${BRANCH_NAME}-${DOCKER_TAG}"
|
||||
DOCKER_COMPOSE_TEMPLATE = 'docker-compose-ci-template.yaml'
|
||||
DOCKER_COMPOSE_FILE = 'docker-compose-ci-tmp.yaml'
|
||||
}
|
||||
|
||||
stages {
|
||||
stage ("Checkout") {
|
||||
steps {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
stage('Build Environment') {
|
||||
steps {
|
||||
sh '''
|
||||
# Detener todos los contenedores si hay alguno ejecutándose
|
||||
if [ $(docker ps -q | wc -l) -gt 0 ]; then
|
||||
docker stop $(docker ps -q)
|
||||
fi
|
||||
|
||||
# Eliminar todos los contenedores si hay alguno detenido
|
||||
if [ $(docker ps -a -q | wc -l) -gt 0 ]; then
|
||||
docker rm $(docker ps -a -q)
|
||||
fi
|
||||
'''
|
||||
script {
|
||||
|
||||
docker.build("${DOCKER_IDENTITY}", '-f docker/Dockerfile-jenkins-php .')
|
||||
docker.build("${DOCKER_IDENTITY_NGINX}", '-f docker/Dockerfile-nginx .')
|
||||
}
|
||||
}
|
||||
}
|
||||
stage(('Prepare Docker Composer')) {
|
||||
steps {
|
||||
sh """
|
||||
sed 's|ogcore-php:static|${DOCKER_IDENTITY}|g; s|ogcore-nginx:static|${DOCKER_IDENTITY_NGINX}|g' ${DOCKER_COMPOSE_TEMPLATE} > ${DOCKER_COMPOSE_FILE}
|
||||
cat ${DOCKER_COMPOSE_FILE}
|
||||
"""
|
||||
}
|
||||
}
|
||||
stage('Run containers') {
|
||||
steps {
|
||||
sh "docker compose -f ${DOCKER_COMPOSE_FILE} up -d"
|
||||
}
|
||||
}
|
||||
stage('Install dependencies') {
|
||||
steps {
|
||||
// Install dependencies
|
||||
sh """
|
||||
docker compose exec php mkdir -p /report
|
||||
docker compose exec php composer install
|
||||
docker compose exec php php bin/console lexik:jwt:generate-keypair --overwrite
|
||||
docker compose exec php php bin/console doctrine:migrations:migrate --no-interaction
|
||||
docker compose exec php php bin/console doctrine:fixtures:load --no-interaction
|
||||
"""
|
||||
}
|
||||
}
|
||||
stage('Tests') {
|
||||
steps {
|
||||
// Run tests
|
||||
sh """
|
||||
docker compose exec php bin/phpunit --log-junit /report/phpunit.xml
|
||||
"""
|
||||
}
|
||||
}
|
||||
stage ("Publish Image") {
|
||||
steps {
|
||||
script {
|
||||
docker.withRegistry('https://index.docker.io/v1/', 'docker-hub-credentials') {
|
||||
docker.image("${DOCKER_IDENTITY}").push()
|
||||
docker.image("${DOCKER_IDENTITY_NGINX}").push()
|
||||
if (env.BRANCH_NAME == 'main') {
|
||||
docker.image("${DOCKER_IDENTITY}").push("latest")
|
||||
docker.image("${DOCKER_IDENTITY_NGINX}").push("latest")
|
||||
}
|
||||
if (env.TAG_NAME) {
|
||||
docker.image("${DOCKER_IDENTITY}").push("${env.TAG_NAME}")
|
||||
docker.image("${DOCKER_IDENTITY_NGINX}").push("${env.TAG_NAME}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
post {
|
||||
always {
|
||||
script {
|
||||
def committerEmail = sh (
|
||||
script: "git show -s --pretty=%ae",
|
||||
returnStdout: true
|
||||
).trim()
|
||||
def buildResult = currentBuild.currentResult
|
||||
mail to: committerEmail,
|
||||
subject: "Opengnsys CI Build ${env.JOB_NAME} - ${env.BRANCH_NAME} - ${buildResult}",
|
||||
body: """
|
||||
<h1>Opengnsys CI Build ${JOB_NAME} - ${BRANCH_NAME} - ${buildResult}</h1>
|
||||
<p>Build Number: ${BUILD_NUMBER}</p>
|
||||
<p>Build URL: ${BUILD_URL}</p>º
|
||||
|
||||
Saludos cordiales,
|
||||
Opengnsys CI
|
||||
"""
|
||||
}
|
||||
sh "docker compose -f ${DOCKER_COMPOSE_FILE} cp php:/report/phpunit.xml phpunit.xml"
|
||||
// Publish JUnit test results
|
||||
xunit (
|
||||
thresholds: [ skipped(failureThreshold: '0') , failed(failureThreshold: '0') ],
|
||||
tools: [ PHPUnit(pattern: 'phpunit.xml') ]
|
||||
)
|
||||
// Remove containers
|
||||
sh "docker compose -f ${DOCKER_COMPOSE_FILE} down"
|
||||
sh "docker compose -f ${DOCKER_COMPOSE_FILE} rm -f"
|
||||
sh "docker rmi ${DOCKER_IDENTITY}"
|
||||
sh "docker rmi ${DOCKER_IDENTITY_NGINX}"
|
||||
}
|
||||
}
|
||||
}
|
145
README.md
145
README.md
|
@ -1,144 +1,3 @@
|
|||
# ogCore project
|
||||
# ogCore
|
||||
|
||||
## Descripción
|
||||
|
||||
ogCore es el servicio central de OpenGnsys, diseñado para proporcionar funcionalidades a través de una API RESTful. Esta herramienta utiliza tecnología PHP, aprovechando el framework Symfony y el ORM Doctrine para gestionar la base de datos.
|
||||
A continuación, se detallan los pasos necesarios para desplegar el proyecto en un entorno de desarrollo.
|
||||
|
||||
## Versiones y tecnologías utilizadas
|
||||
|
||||
- PHP 8.3
|
||||
- Symfony 6.4
|
||||
- Doctrine 2.19
|
||||
- API Platform 3.2
|
||||
- MariaDB 10.11
|
||||
|
||||
## Requisitos
|
||||
|
||||
Antes de comenzar, asegúrate de tener los siguientes requisitos:
|
||||
|
||||
- Docker
|
||||
- Docker compose
|
||||
|
||||
## Instalación
|
||||
|
||||
### Desplegar contenedores
|
||||
|
||||
Para que no haya conflictos entre los puertos, asegúrate de que no tienes ningún servicio corriendo en los puertos 8080 y 3306.
|
||||
|
||||
```sh
|
||||
docker compose up --build -d
|
||||
```
|
||||
|
||||
Comprobamos que se han levantado correctamente bien los 3 contenedores de la aplicación:
|
||||
|
||||
```sh
|
||||
docker ps
|
||||
```
|
||||
|
||||
Y deberiamos ver algo parecido a :
|
||||
|
||||
- ogcore-nginx
|
||||
- ogcore-php
|
||||
- ogcore-database
|
||||
|
||||
|
||||
### Instalamos dependencias
|
||||
|
||||
```sh
|
||||
docker exec ogcore-php composer install
|
||||
docker exec ogcore-php php bin/console lexik:jwt:generate-keypair --overwrite
|
||||
```
|
||||
|
||||
Comprobamos, que el contenedor de Nginx, tiene el puerto 8080 levantado correctamente, asi que tan solo tendremos que
|
||||
acceder a la siguiente URL:
|
||||
|
||||
```sh
|
||||
http://127.0.0.1:8080/docs
|
||||
```
|
||||
Si todo ha ido bien, deberiamos ver la documentación de la API de ogCore.
|
||||
|
||||
Para poder actualizar la base de datos:
|
||||
|
||||
Para inicializar la base de datos:
|
||||
|
||||
```sh
|
||||
docker exec ogcore-php php bin/console doctrine:migrations:migrate --no-interaction
|
||||
```
|
||||
|
||||
```sh
|
||||
docker exec ogcore-php php bin/console doctrine:fixtures:load --no-interaction
|
||||
docker exec ogcore-php php bin/console app:load-default-user-groups #cargamos los grupos por defecto
|
||||
docker exec ogcore-php php bin/console app:load-default-commands #cargamos los commands por defecto
|
||||
```
|
||||
|
||||
## UX Api Platform
|
||||
|
||||
Api Platform proporciona una interfaz de usuario para interactuar con la API de ogCore. Para acceder a la interfaz de usuario, accede a la siguiente URL:
|
||||
|
||||
```sh
|
||||
http://127.0.0.1:8080/docs
|
||||
```
|
||||
|
||||
Para poder autenticarte, necesitas un token JWT. Para obtenerlo, accedemos al endpoint de autenticación "auth/login":
|
||||
|
||||

|
||||

|
||||
Obtenemos el token y lo introducimos en la interfaz de usuario de Api Platform de la siguiente manera:
|
||||
|
||||

|
||||
|
||||
Ahora, ya podemos interactuar con la API de ogCore. Para comprobar que todo está correcto, podemos fijarnos en los headers de las llamadas Curl, y ver que el token JWT se ha introducido correctamente.
|
||||
|
||||
## Test
|
||||
|
||||
Para ejecutar los test, ejecutamos el siguiente comando:
|
||||
|
||||
```sh
|
||||
docker compose exec php bin/phpunit
|
||||
```
|
||||
|
||||
## Reiniciar base de datos
|
||||
|
||||
Es posible que en momentos de desarrollo, sea necesario volver a cargar la base de datos y actualizar los esquemas de la misma, para ello, ejecutamos el siguiente comando:
|
||||
|
||||
```sh
|
||||
docker exec ogcore-php php bin/console doctrine:database:drop --force
|
||||
docker exec ogcore-php php bin/console doctrine:database:create
|
||||
```
|
||||
|
||||
## Migraciones de datos
|
||||
|
||||
Para poder migrar los datos desde la base de datos "antigua", previamente necesitamos poder tener un esquema de base de datos con un dump de OpenGnsys. Es decir:
|
||||
|
||||
- Creamos una base de datos temporal simulando una insancia de OpenGnsys 1.1. La solicitaremos al equipo de desarrollo de las universidades
|
||||
- Necesitaremos un dump de la base de datos de OpenGnsys 1.1.
|
||||
|
||||
Mediante doctrine, creamos la base de datos temporal:
|
||||
|
||||
```sh
|
||||
docker exec ogcore-php php bin/console doctrine:database:create --connection=og_1
|
||||
```
|
||||
|
||||

|
||||
|
||||
Aqui podemos ver como tenemos las 2 bases de datos. OgCore es la actual, donde estamos desarrollando, y ogcore_old_og es la base de datos temporal que acabamos de crear.
|
||||
|
||||
Aqui vendria el paso de cargar el dump en dicha base de datos, ya que contiene informacion sensible, no se aloja en el repositorio, por eso tendremos que solicitarla al equipo correspondiente.
|
||||
Una vez tengamos la base de datos cargada, podremos ejecutar las migraciones de datos:
|
||||
|
||||
```sh
|
||||
--- Migraciones de OpenGnsys. ---
|
||||
docker exec ogcore-php php bin/console opengnsys:migration:organizational-unit #cargamos las unidades organizativas
|
||||
docker exec ogcore-php php bin/console opengnsys:migration:hardware-profile #cargamos los perfiles de hardware
|
||||
docker exec ogcore-php php bin/console opengnsys:migration:clients #cargamos los clientes
|
||||
docker exec ogcore-php php bin/console opengnsys:migration:os #cargamos los sistemas operativos
|
||||
docker exec ogcore-php php bin/console opengnsys:migration:image #cargamos las imagenes
|
||||
docker exec ogcore-php php bin/console opengnsys:migration:software-profile #cargamos los software profiles
|
||||
```
|
||||
|
||||
## Objetos de interés
|
||||
|
||||
Se ha incluido un .zip con las colecciones de de API de ogCore para poder trabajar, hacer pruebas, y demás en Postman. Para importarlos, tan solo tendremos que ir a la pestaña de importar, y seleccionar el archivo .zip.
|
||||
|
||||
Visualizar [coleccion Postman](swagger-assets/ogCore.postman_collection.zip)
|
||||
ogCore es el servicio central de OpenGnsys, diseñado para proporcionar funcionalidades a través de una API RESTful. Esta herramienta utiliza tecnología PHP, aprovechando el framework Symfony y el ORM Doctrine para gestionar la base de datos.
|
21
bin/console
21
bin/console
|
@ -1,21 +0,0 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
use App\Kernel;
|
||||
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||
|
||||
if (!is_dir(dirname(__DIR__).'/vendor')) {
|
||||
throw new LogicException('Dependencies are missing. Try running "composer install".');
|
||||
}
|
||||
|
||||
if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) {
|
||||
throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".');
|
||||
}
|
||||
|
||||
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
||||
|
||||
return function (array $context) {
|
||||
$kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
||||
|
||||
return new Application($kernel);
|
||||
};
|
23
bin/phpunit
23
bin/phpunit
|
@ -1,23 +0,0 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
if (!ini_get('date.timezone')) {
|
||||
ini_set('date.timezone', 'UTC');
|
||||
}
|
||||
|
||||
if (is_file(dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit')) {
|
||||
if (PHP_VERSION_ID >= 80000) {
|
||||
require dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit';
|
||||
} else {
|
||||
define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php');
|
||||
require PHPUNIT_COMPOSER_INSTALL;
|
||||
PHPUnit\TextUI\Command::main();
|
||||
}
|
||||
} else {
|
||||
if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) {
|
||||
echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
require dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php';
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
|
||||
services:
|
||||
###> doctrine/doctrine-bundle ###
|
||||
database:
|
||||
ports:
|
||||
- "5432"
|
||||
###< doctrine/doctrine-bundle ###
|
||||
|
||||
###> symfony/mercure-bundle ###
|
||||
mercure:
|
||||
ports:
|
||||
- "80"
|
||||
###< symfony/mercure-bundle ###
|
101
composer.json
101
composer.json
|
@ -1,101 +0,0 @@
|
|||
{
|
||||
"type": "project",
|
||||
"license": "proprietary",
|
||||
"minimum-stability": "stable",
|
||||
"version": "0.5.0",
|
||||
"prefer-stable": true,
|
||||
"require": {
|
||||
"php": ">=8.1",
|
||||
"ext-ctype": "*",
|
||||
"ext-iconv": "*",
|
||||
"api-platform/core": "^3.2",
|
||||
"doctrine/dbal": "^3",
|
||||
"doctrine/doctrine-bundle": "^2.12",
|
||||
"doctrine/doctrine-migrations-bundle": "^3.3",
|
||||
"doctrine/orm": "^2.19.5",
|
||||
"gesdinet/jwt-refresh-token-bundle": "^1.3",
|
||||
"lexik/jwt-authentication-bundle": "^3.0",
|
||||
"nelmio/cors-bundle": "^2.4",
|
||||
"phpdocumentor/reflection-docblock": "^5.4",
|
||||
"phpstan/phpdoc-parser": "^1.29",
|
||||
"ramsey/uuid-doctrine": "^2.0",
|
||||
"stof/doctrine-extensions-bundle": "^1.10",
|
||||
"symfony/asset": "6.4.*",
|
||||
"symfony/console": "6.4.*",
|
||||
"symfony/dotenv": "6.4.*",
|
||||
"symfony/expression-language": "6.4.*",
|
||||
"symfony/flex": "^2",
|
||||
"symfony/framework-bundle": "6.4.*",
|
||||
"symfony/http-client": "6.4.*",
|
||||
"symfony/mercure-bundle": "^0.3.9",
|
||||
"symfony/monolog-bundle": "^3.10",
|
||||
"symfony/property-access": "6.4.*",
|
||||
"symfony/property-info": "6.4.*",
|
||||
"symfony/runtime": "6.4.*",
|
||||
"symfony/security-bundle": "6.4.*",
|
||||
"symfony/serializer": "6.4.*",
|
||||
"symfony/translation": "6.4.*",
|
||||
"symfony/twig-bundle": "6.4.*",
|
||||
"symfony/validator": "6.4.*",
|
||||
"symfony/yaml": "6.4.*"
|
||||
},
|
||||
"config": {
|
||||
"allow-plugins": {
|
||||
"php-http/discovery": true,
|
||||
"symfony/flex": true,
|
||||
"symfony/runtime": true
|
||||
},
|
||||
"sort-packages": true
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"App\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"App\\Tests\\": "tests/"
|
||||
}
|
||||
},
|
||||
"replace": {
|
||||
"symfony/polyfill-ctype": "*",
|
||||
"symfony/polyfill-iconv": "*",
|
||||
"symfony/polyfill-php72": "*",
|
||||
"symfony/polyfill-php73": "*",
|
||||
"symfony/polyfill-php74": "*",
|
||||
"symfony/polyfill-php80": "*",
|
||||
"symfony/polyfill-php81": "*"
|
||||
},
|
||||
"scripts": {
|
||||
"auto-scripts": {
|
||||
"cache:clear": "symfony-cmd",
|
||||
"assets:install %PUBLIC_DIR%": "symfony-cmd"
|
||||
},
|
||||
"post-install-cmd": [
|
||||
"@auto-scripts"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"@auto-scripts"
|
||||
]
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/symfony": "*"
|
||||
},
|
||||
"extra": {
|
||||
"symfony": {
|
||||
"allow-contrib": false,
|
||||
"require": "6.4.*"
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"dama/doctrine-test-bundle": "^8.1",
|
||||
"doctrine/doctrine-fixtures-bundle": "^3.6",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"symfony/browser-kit": "6.4.*",
|
||||
"symfony/css-selector": "6.4.*",
|
||||
"symfony/maker-bundle": "^1.59",
|
||||
"symfony/phpunit-bridge": "^7.0",
|
||||
"symfony/web-profiler-bundle": "^6.4",
|
||||
"zenstruck/foundry": "^1.37"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,101 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Client:
|
||||
processor: App\State\Processor\ClientProcessor
|
||||
input: App\Dto\Input\ClientInput
|
||||
output: App\Dto\Output\ClientOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'client:read']
|
||||
denormalizationContext:
|
||||
groups: ['client:write']
|
||||
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\ClientProvider
|
||||
filters:
|
||||
- 'api_platform.filter.client.order'
|
||||
- 'api_platform.filter.client.search'
|
||||
- 'api_platform.filter.client.exist'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\ClientProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\ClientProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\ClientProvider
|
||||
validationContext:
|
||||
groups: [ 'client:patch' ]
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
change_organizational_units:
|
||||
provider: App\State\Provider\ClientProvider
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\ChangeOrganizationalUnitInput
|
||||
uriTemplate: /clients/change-organizational-unit
|
||||
controller: App\Controller\ChangeOrganizationalUnitAction
|
||||
|
||||
agent_status:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
output: false
|
||||
uriTemplate: /clients/{uuid}/agent/status
|
||||
controller: App\Controller\OgAgent\StatusAction
|
||||
|
||||
get_pxe:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /clients/server/{uuid}/get-pxe
|
||||
controller: App\Controller\OgBoot\PxeBootFile\GetAction
|
||||
|
||||
boot_client:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\BootClientsInput
|
||||
uriTemplate: /clients/server/boot-client
|
||||
controller: App\Controller\OgAgent\LoginAction
|
||||
|
||||
remove_cache_image:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\BootClientsInput
|
||||
uriTemplate: /clients/server/remove-cache-image
|
||||
controller: App\Controller\OgAgent\RemoveCacheImageAction
|
||||
|
||||
hardware_inventory:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /clients/server/{uuid}/hardware-inventory
|
||||
controller: App\Controller\OgAgent\HardwareInventoryAction
|
||||
|
||||
software_inventory:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\SoftwareInventoryPartitionInput
|
||||
uriTemplate: /clients/server/{uuid}/software-inventory
|
||||
controller: App\Controller\OgAgent\SoftwareInventoryAction
|
||||
|
||||
reboot_client:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\MultipleClientsInput
|
||||
uriTemplate: /clients/server/reboot
|
||||
controller: App\Controller\OgAgent\RebootAction
|
||||
|
||||
power_off_client:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\MultipleClientsInput
|
||||
uriTemplate: /clients/server/power-off
|
||||
controller: App\Controller\OgAgent\PowerOffAction
|
||||
|
||||
|
||||
properties:
|
||||
App\Entity\Client:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,40 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Command:
|
||||
processor: App\State\Processor\CommandProcessor
|
||||
input: App\Dto\Input\CommandInput
|
||||
output: App\Dto\Output\CommandOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'command:read']
|
||||
denormalizationContext:
|
||||
groups: ['command:write']
|
||||
order:
|
||||
id: 'DESC'
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\CommandProvider
|
||||
filters:
|
||||
- 'api_platform.filter.command.order'
|
||||
- 'api_platform.filter.command.search'
|
||||
- 'api_platform.filter.command.boolean'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\CommandProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\CommandProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\CommandProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
command_execute:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\CommandExecuteInput
|
||||
uriTemplate: /commands/run-script
|
||||
controller: App\Controller\OgAgent\RunScriptAction
|
||||
properties:
|
||||
App\Entity\Command:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,46 +0,0 @@
|
|||
resources:
|
||||
App\Entity\CommandGroup:
|
||||
processor: App\State\Processor\CommandGroupProcessor
|
||||
input: App\Dto\Input\CommandGroupInput
|
||||
output: App\Dto\Output\CommandGroupOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'command-group:read']
|
||||
denormalizationContext:
|
||||
groups: ['command-group:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\CommandGroupProvider
|
||||
filters:
|
||||
- 'api_platform.filter.command.order'
|
||||
- 'api_platform.filter.command.search'
|
||||
- 'api_platform.filter.command.boolean'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\CommandGroupProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\CommandGroupProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\CommandGroupProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
add_commands:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\CommandGroupAddCommandsInput
|
||||
uriTemplate: /command-groups/{uuid}/add-commands
|
||||
controller: App\Controller\CommandGroupAddCommandsAction
|
||||
|
||||
command_group_execute:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\CommandGroupExecuteInput
|
||||
uriTemplate: /command-groups/{uuid}/execute
|
||||
controller: App\Controller\CommandGroupExecuteAction
|
||||
|
||||
properties:
|
||||
App\Entity\CommandGroup:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,32 +0,0 @@
|
|||
resources:
|
||||
App\Entity\CommandTask:
|
||||
processor: App\State\Processor\CommandTaskProcessor
|
||||
input: App\Dto\Input\CommandTaskInput
|
||||
output: App\Dto\Output\CommandTaskOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'command-task:read']
|
||||
denormalizationContext:
|
||||
groups: ['command-task:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\CommandTaskProvider
|
||||
filters:
|
||||
- 'api_platform.filter.command_task.order'
|
||||
- 'api_platform.filter.command_task.search'
|
||||
- 'api_platform.filter.command_task.boolean'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\CommandTaskProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\CommandTaskProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\CommandTaskProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\CommandTask:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,32 +0,0 @@
|
|||
resources:
|
||||
App\Entity\CommandTaskSchedule:
|
||||
processor: App\State\Processor\CommandTaskScheduleProcessor
|
||||
input: App\Dto\Input\CommandTaskScheduleInput
|
||||
output: App\Dto\Output\CommandTaskScheduleOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'command-task-schedule:read']
|
||||
denormalizationContext:
|
||||
groups: ['command-task-schedule:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\CommandTaskScheduleProvider
|
||||
filters:
|
||||
- 'api_platform.filter.command_task_schedule.order'
|
||||
- 'api_platform.filter.command_task_schedule.search'
|
||||
- 'api_platform.filter.command_task_schedule.boolean'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\CommandTaskScheduleProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\CommandTaskScheduleProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\CommandTaskScheduleProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\CommandTaskSchedule:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,32 +0,0 @@
|
|||
resources:
|
||||
App\Entity\CommandTaskScript:
|
||||
processor: App\State\Processor\CommandTaskScriptProcessor
|
||||
input: App\Dto\Input\CommandTaskScriptInput
|
||||
output: App\Dto\Output\CommandTaskScriptOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'command-task-script:read']
|
||||
denormalizationContext:
|
||||
groups: ['command-task-script:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\CommandTaskScriptProvider
|
||||
filters:
|
||||
- 'api_platform.filter.command_task_script.order'
|
||||
- 'api_platform.filter.command_task_script.search'
|
||||
- 'api_platform.filter.command_task_script.boolean'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\CommandTaskScriptProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\CommandTaskScriptProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\CommandTaskScriptProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\CommandTaskScript:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,50 +0,0 @@
|
|||
resources:
|
||||
App\Entity\GitImageRepository:
|
||||
processor: App\State\Processor\GitImageRepositoryProcessor
|
||||
input: App\Dto\Input\GitImageRepositoryInput
|
||||
output: App\Dto\Output\GitImageRepositoryOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'git-image-repository:read']
|
||||
denormalizationContext:
|
||||
groups: ['git-image-repository:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\GitImageRepositoryProvider
|
||||
filters:
|
||||
- 'api_platform.filter.image_image_repository.order'
|
||||
- 'api_platform.filter.image_image_repository.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\GitImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\GitImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\GitImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
get_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Get image in OgRepository
|
||||
class: ApiPlatform\Metadata\Get
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /image-image-repositories/server/{uuid}/get
|
||||
controller: App\Controller\OgRepository\Image\GetAction
|
||||
|
||||
get_image_tags:
|
||||
shortName: OgRepository Server
|
||||
description: Get image tags in OgRepository
|
||||
class: ApiPlatform\Metadata\Get
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /git-image-repositories/server/{uuid}/get-tags
|
||||
controller: App\Controller\OgRepository\Git\GetTagsAction
|
||||
|
||||
|
||||
properties:
|
||||
App\Entity\GitImageRepository:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,31 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Hardware:
|
||||
processor: App\State\Processor\HardwareProcessor
|
||||
input: App\Dto\Input\HardwareInput
|
||||
output: App\Dto\Output\HardwareOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'hardware:read']
|
||||
denormalizationContext:
|
||||
groups: ['hardware:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\HardwareProvider
|
||||
filters:
|
||||
- 'api_platform.filter.hardware.order'
|
||||
- 'api_platform.filter.hardware.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\HardwareProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\HardwareProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\HardwareProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\Hardware:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,30 +0,0 @@
|
|||
resources:
|
||||
App\Entity\HardwareProfile:
|
||||
processor: App\State\Processor\HardwareProfileProcessor
|
||||
input: App\Dto\Input\HardwareProfileInput
|
||||
output: App\Dto\Output\HardwareProfileOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'hardware-profile:read']
|
||||
denormalizationContext:
|
||||
groups: ['hardware-profile:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\HardwareProfileProvider
|
||||
filters:
|
||||
- 'api_platform.filter.hardware.order'
|
||||
- 'api_platform.filter.hardware.search'
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\HardwareProfileProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\HardwareProfileProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\HardwareProfileProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\HardwareProfile:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,31 +0,0 @@
|
|||
resources:
|
||||
App\Entity\HardwareType:
|
||||
processor: App\State\Processor\HardwareTypeProcessor
|
||||
input: App\Dto\Input\HardwareTypeInput
|
||||
output: App\Dto\Output\HardwareTypeOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'hardware-type:read']
|
||||
denormalizationContext:
|
||||
groups: ['hardware-type:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\HardwareTypeProvider
|
||||
filters:
|
||||
- 'api_platform.filter.hardware_type.order'
|
||||
- 'api_platform.filter.hardware_type.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\HardwareTypeProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\HardwareTypeProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\HardwareTypeProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\HardwareType:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,35 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Image:
|
||||
processor: App\State\Processor\ImageProcessor
|
||||
input: App\Dto\Input\ImageInput
|
||||
output: App\Dto\Output\ImageOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'image:read']
|
||||
denormalizationContext:
|
||||
groups: ['image:write']
|
||||
order:
|
||||
id: 'DESC'
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\ImageProvider
|
||||
filters:
|
||||
- 'api_platform.filter.image.order'
|
||||
- 'api_platform.filter.image.search'
|
||||
- 'api_platform.filter.image.boolean'
|
||||
- 'image.repository_filter'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\ImageProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\ImageProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\ImageProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\Image:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,134 +0,0 @@
|
|||
resources:
|
||||
App\Entity\ImageImageRepository:
|
||||
processor: App\State\Processor\ImageImageRepositoryProcessor
|
||||
input: App\Dto\Input\ImageImageRepositoryInput
|
||||
output: App\Dto\Output\ImageImageRepositoryOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'image-image-repository:read']
|
||||
denormalizationContext:
|
||||
groups: ['image-image-repository:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\ImageImageRepositoryProvider
|
||||
filters:
|
||||
- 'api_platform.filter.image_image_repository.order'
|
||||
- 'api_platform.filter.image_image_repository.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\ImageImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\ImageImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\ImageImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
get_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Get image in OgRepository
|
||||
class: ApiPlatform\Metadata\Get
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /image-image-repositories/server/{uuid}/get
|
||||
controller: App\Controller\OgRepository\Image\GetAction
|
||||
|
||||
create_aux_files_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-image-repositories/server/{uuid}/create-aux-files
|
||||
controller: App\Controller\OgRepository\Image\CreateAuxFilesAction
|
||||
|
||||
deploy_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\DeployImageInput
|
||||
uriTemplate: /image-image-repositories/{uuid}/deploy-image
|
||||
controller: App\Controller\DeployImageAction
|
||||
|
||||
backup_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\BackupImageInput
|
||||
uriTemplate: /image-image-repositories/{uuid}/backup-image
|
||||
controller: App\Controller\OgRepository\Image\BackupImageAction
|
||||
|
||||
convert_image_to_virtual_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\ConvertImageToVirtualInput
|
||||
uriTemplate: /image-image-repositories/{uuid}/convert-image-to-virtual
|
||||
controller: App\Controller\OgRepository\Image\ConvertImageToVirtualAction
|
||||
|
||||
rename_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\RenameImageInput
|
||||
uriTemplate: /image-image-repositories/{uuid}/rename-image
|
||||
controller: App\Controller\OgRepository\Image\RenameAction
|
||||
|
||||
trash_delete_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Delete Image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-image-repositories/server/{uuid}/delete-trash
|
||||
controller: App\Controller\OgRepository\Image\DeleteTrashAction
|
||||
|
||||
permanent_delete_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Delete Image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-image-repositories/server/{uuid}/delete-permanent
|
||||
controller: App\Controller\OgRepository\Image\DeletePermanentAction
|
||||
|
||||
recover_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Recover Image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-image-repositories/server/{uuid}/recover
|
||||
controller: App\Controller\OgRepository\Image\RecoverAction
|
||||
|
||||
transfer_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Export Image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\TransferGlobalImageInput
|
||||
uriTemplate: /image-image-repositories/{uuid}/transfer-image
|
||||
controller: App\Controller\OgRepository\Image\TransferAction
|
||||
|
||||
get_status_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Get Status Image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-image-repositories/server/{uuid}/status
|
||||
controller: App\Controller\OgRepository\Image\GetStatusAction
|
||||
|
||||
transfer_global_image_repository:
|
||||
shortName: OgRepository Server
|
||||
description: Transfer Global Image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-image-repositories/server/{uuid}/transfer-global
|
||||
controller: App\Controller\OgRepository\Image\TransferGlobalAction
|
||||
|
||||
properties:
|
||||
App\Entity\ImageImageRepository:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,100 +0,0 @@
|
|||
resources:
|
||||
App\Entity\ImageRepository:
|
||||
processor: App\State\Processor\ImageRepositoryProcessor
|
||||
input: App\Dto\Input\ImageRepositoryInput
|
||||
output: App\Dto\Output\ImageRepositoryOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'repository:read']
|
||||
denormalizationContext:
|
||||
groups: ['repository:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\ImageRepositoryProvider
|
||||
filters:
|
||||
- 'api_platform.filter.repository.order'
|
||||
- 'api_platform.filter.repository.search'
|
||||
- 'repository.not_equal_filter'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\ImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\ImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\ImageRepositoryProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
image_ogrepository_sync:
|
||||
shortName: OgRepository Server
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-repositories/server/{uuid}/sync
|
||||
controller: App\Controller\OgRepository\Image\SyncAction
|
||||
|
||||
wol_client:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\WoLInput
|
||||
uriTemplate: /image-repositories/wol
|
||||
controller: App\Controller\OgRepository\WoLAction
|
||||
|
||||
get_collection_images_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Get collection of image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-repositories/server/{uuid}/get-collection
|
||||
controller: App\Controller\OgRepository\Image\GetCollectionAction
|
||||
|
||||
images_ogrepository_status:
|
||||
shortName: OgRepository Server
|
||||
description: Get status of OgRepository
|
||||
class: ApiPlatform\Metadata\Get
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /image-repositories/server/{uuid}/status
|
||||
controller: App\Controller\OgRepository\StatusAction
|
||||
|
||||
import_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Export Image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\ImportImageRepositoryInput
|
||||
uriTemplate: /image-repositories/{uuid}/import-image
|
||||
controller: App\Controller\OgRepository\Image\ImportAction
|
||||
|
||||
convert_image_ogrepository:
|
||||
shortName: OgRepository Server
|
||||
description: Convert Image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\ConvertImageRepositoryInput
|
||||
uriTemplate: /image-repositories/{uuid}/convert-image
|
||||
controller: App\Controller\OgRepository\Image\ConvertAction
|
||||
|
||||
get_collection_images_oggit:
|
||||
shortName: OgRepository Server
|
||||
description: Get collection of image in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-repositories/server/git/{uuid}/get-collection
|
||||
controller: App\Controller\OgRepository\Git\GetCollectionAction
|
||||
|
||||
git_image_ogrepository_sync:
|
||||
shortName: OgRepository Server
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /image-repositories/server/git/{uuid}/sync
|
||||
controller: App\Controller\OgRepository\Git\SyncAction
|
||||
|
||||
properties:
|
||||
App\Entity\ImageRepository:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,30 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Menu:
|
||||
processor: App\State\Processor\MenuProcessor
|
||||
input: App\Dto\Input\MenuInput
|
||||
output: App\Dto\Output\MenuOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'menu:read']
|
||||
denormalizationContext:
|
||||
groups: ['menu:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\MenuProvider
|
||||
filters:
|
||||
- 'api_platform.filter.menu.order'
|
||||
- 'api_platform.filter.menu.search'
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\MenuProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\MenuProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\MenuProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\Menu:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,102 +0,0 @@
|
|||
resources:
|
||||
App\Entity\OgLive:
|
||||
processor: App\State\Processor\OgLiveProcessor
|
||||
input: App\Dto\Input\OgLiveInput
|
||||
output: App\Dto\Output\OgLiveOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'og-live:read']
|
||||
denormalizationContext:
|
||||
groups: ['og-live:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\OgLiveProvider
|
||||
filters:
|
||||
- 'api_platform.filter.og_live.order'
|
||||
- 'api_platform.filter.og_live.search'
|
||||
- 'api_platform.filter.og_live.boolean'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\OgLiveProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\OgLiveProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\OgLiveProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
oglives_sync:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /og-lives/sync
|
||||
controller: App\Controller\OgBoot\OgLive\SyncAction
|
||||
|
||||
get_collection_oglives:
|
||||
shortName: OgLive Server
|
||||
description: Get collection of OgLive
|
||||
class: ApiPlatform\Metadata\GetCollection
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /og-lives/server/get-collection
|
||||
controller: App\Controller\OgBoot\OgLive\GetCollectionAction
|
||||
|
||||
get_oglive:
|
||||
shortName: OgLive Server
|
||||
description: Get OgLive
|
||||
class: ApiPlatform\Metadata\Get
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /og-lives/server/{uuid}/get
|
||||
controller: App\Controller\OgBoot\OgLive\GetAction
|
||||
|
||||
get_isos:
|
||||
shortName: OgLive Server
|
||||
description: Get Isos of OgLive
|
||||
class: ApiPlatform\Metadata\GetCollection
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /og-lives/server/get-isos
|
||||
controller: App\Controller\OgBoot\OgLive\GetIsosAction
|
||||
|
||||
get_default:
|
||||
shortName: OgLive Server
|
||||
description: Get default OgLive
|
||||
class: ApiPlatform\Metadata\GetCollection
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /og-lives/server/get-default
|
||||
controller: App\Controller\OgBoot\OgLive\GetDefaultAction
|
||||
|
||||
set_default:
|
||||
shortName: OgLive Server
|
||||
description: Set default OgLive
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /og-lives/server/{uuid}/set-default
|
||||
controller: App\Controller\OgBoot\OgLive\SetDefaultAction
|
||||
|
||||
install:
|
||||
shortName: OgLive Server
|
||||
description: Install OgLive
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /og-lives/server/{uuid}/install
|
||||
controller: App\Controller\OgBoot\OgLive\InstallAction
|
||||
|
||||
uninstall:
|
||||
shortName: OgLive Server
|
||||
description: Uninstall OgLive
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /og-lives/server/{uuid}/uninstall
|
||||
controller: App\Controller\OgBoot\OgLive\UninstallAction
|
||||
|
||||
properties:
|
||||
App\Entity\OgLive:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,31 +0,0 @@
|
|||
resources:
|
||||
App\Entity\OperativeSystem:
|
||||
processor: App\State\Processor\OperativeSystemProcessor
|
||||
input: App\Dto\Input\OperativeSystemInput
|
||||
output: App\Dto\Output\OperativeSystemOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'operative-system:read']
|
||||
denormalizationContext:
|
||||
groups: ['operative-system:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\OperativeSystemProvider
|
||||
filters:
|
||||
- 'api_platform.filter.operative_system.order'
|
||||
- 'api_platform.filter.operative_system.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\OperativeSystemProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\OperativeSystemProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\OperativeSystemProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\OperativeSystem:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,42 +0,0 @@
|
|||
resources:
|
||||
App\Entity\OrganizationalUnit:
|
||||
processor: App\State\Processor\OrganizationalUnitProcessor
|
||||
output: App\Dto\Output\OrganizationalUnitOutput
|
||||
input: App\Dto\Input\OrganizationalUnitInput
|
||||
normalizationContext:
|
||||
groups: ['default', 'organizational-unit:read']
|
||||
denormalization_context:
|
||||
groups: ['organizational-unit:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\OrganizationalUnitProvider
|
||||
filters:
|
||||
- 'api_platform.filter.organizational_unit.order'
|
||||
- 'api_platform.filter.organizational_unit.search'
|
||||
- 'api_platform.filter.organizational_unit.group_filter'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
security: 'is_granted("ORGANIZATIONAL_UNIT_VIEW", object)'
|
||||
provider: App\State\Provider\OrganizationalUnitProvider
|
||||
securityMessage: 'Sorry, but you are not allowed to access this resource.'
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\OrganizationalUnitProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\OrganizationalUnitProvider
|
||||
validationContext:
|
||||
groups: ['organizational-unit:patch' ]
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
change_parent:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /organizational-units/{uuid}/change-parent
|
||||
controller: App\Controller\OrganizationalUnitChangeParentAction
|
||||
|
||||
properties:
|
||||
App\Entity\OrganizationalUnit:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,33 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Partition:
|
||||
processor: App\State\Processor\PartitionProcessor
|
||||
input: App\Dto\Input\PartitionPostInput
|
||||
output: App\Dto\Output\PartitionOutput
|
||||
order:
|
||||
diskNumber: 'ASC'
|
||||
partitionNumber: 'ASC'
|
||||
normalizationContext:
|
||||
groups: ['default', 'partition:read']
|
||||
denormalizationContext:
|
||||
groups: ['partition:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\PartitionProvider
|
||||
filters:
|
||||
- 'api_platform.filter.partition.order'
|
||||
- 'api_platform.filter.partition.search'
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\PartitionProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\PartitionProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\PartitionProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\Partition:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,103 +0,0 @@
|
|||
resources:
|
||||
App\Entity\PxeTemplate:
|
||||
processor: App\State\Processor\PxeTemplateProcessor
|
||||
input: App\Dto\Input\PxeTemplateInput
|
||||
output: App\Dto\Output\PxeTemplateOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'pxe-template:read']
|
||||
denormalizationContext:
|
||||
groups: ['pxe-template:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\PxeTemplateProvider
|
||||
filters:
|
||||
- 'api_platform.filter.pxe_template.order'
|
||||
- 'api_platform.filter.pxe_template.search'
|
||||
- 'api_platform.filter.pxe_template.boolean'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\PxeTemplateProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\PxeTemplateProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\PxeTemplateProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
pxe_template_sync:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /pxe-templates/sync
|
||||
controller: App\Controller\OgBoot\PxeTemplate\SyncAction
|
||||
|
||||
get_collection_templates:
|
||||
shortName: PxeTemplate Server
|
||||
description: Get collection of PxeTemplate
|
||||
class: ApiPlatform\Metadata\GetCollection
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /pxe-templates/server/get-collection
|
||||
controller: App\Controller\OgBoot\PxeTemplate\GetCollectionAction
|
||||
|
||||
get_template:
|
||||
shortName: PxeTemplate Server
|
||||
description: Get PxeTemplate
|
||||
class: ApiPlatform\Metadata\Get
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /pxe-templates/server/{uuid}/get
|
||||
controller: App\Controller\OgBoot\PxeTemplate\GetAction
|
||||
|
||||
post_template:
|
||||
shortName: PxeTemplate Server
|
||||
description: Create PxeTemplate
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /pxe-templates/server/{uuid}/post
|
||||
controller: App\Controller\OgBoot\PxeTemplate\PostAction
|
||||
|
||||
delete_template:
|
||||
shortName: PxeTemplate Server
|
||||
description: Delete PxeTemplate
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /pxe-templates/server/{uuid}/delete
|
||||
controller: App\Controller\OgBoot\PxeTemplate\DeleteAction
|
||||
|
||||
template_add_clients:
|
||||
shortName: PxeTemplate Server
|
||||
description: Add Client to PxeTemplate
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\PxeTemplateAddClientsInput
|
||||
uriTemplate: /pxe-templates/{uuid}/add-clients
|
||||
controller: App\Controller\OgBoot\PxeTemplate\AddClientAction
|
||||
|
||||
template_sync_client:
|
||||
shortName: PxeTemplate Server
|
||||
description: Sync Client to PxeTemplate
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\PxeTemplateSyncClientInput
|
||||
uriTemplate: /pxe-templates/{uuid}/sync-client
|
||||
controller: App\Controller\OgBoot\PxeBootFile\PostAction
|
||||
|
||||
template_delete_client:
|
||||
shortName: PxeTemplate Server
|
||||
description: Add Client to PxeTemplate
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\PxeTemplateDeleteClientInput
|
||||
uriTemplate: /pxe-templates/{uuid}/delete-client
|
||||
controller: App\Controller\OgBoot\PxeTemplate\DeleteClientAction
|
||||
|
||||
|
||||
properties:
|
||||
App\Entity\PxeTemplate:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,37 +0,0 @@
|
|||
resources:
|
||||
App\Entity\RemoteCalendar:
|
||||
processor: App\State\Processor\RemoteCalendarProcessor
|
||||
input: App\Dto\Input\RemoteCalendarInput
|
||||
output: App\Dto\Output\RemoteCalendarOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'remote-calendar:read']
|
||||
denormalizationContext:
|
||||
groups: ['remote-calendar:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\RemoteCalendarProvider
|
||||
filters:
|
||||
- 'api_platform.filter.remote_calendar.order'
|
||||
- 'api_platform.filter.remote_calendar.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\RemoteCalendarProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\RemoteCalendarProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\RemoteCalendarProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
sync_uds:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
uriTemplate: /remote-calendars/{uuid}/sync-uds
|
||||
controller: App\Controller\UDS\RemoteCalendarSyncUdsAction
|
||||
|
||||
properties:
|
||||
App\Entity\RemoteCalendar:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,31 +0,0 @@
|
|||
resources:
|
||||
App\Entity\RemoteCalendarRule:
|
||||
processor: App\State\Processor\RemoteCalendarRuleProcessor
|
||||
input: App\Dto\Input\RemoteCalendarRuleInput
|
||||
output: App\Dto\Output\RemoteCalendarRuleOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'remote-calendar-rule:read']
|
||||
denormalizationContext:
|
||||
groups: ['remote-calendar-rule:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\RemoteCalendarRuleProvider
|
||||
filters:
|
||||
- 'api_platform.filter.remote_calendar_rule.order'
|
||||
- 'api_platform.filter.remote_calendar_rule.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\RemoteCalendarRuleProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\RemoteCalendarRuleProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\RemoteCalendarRuleProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\RemoteCalendarRule:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,32 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Software:
|
||||
processor: App\State\Processor\SoftwareProcessor
|
||||
input: App\Dto\Input\SoftwareInput
|
||||
output: App\Dto\Output\SoftwareOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'software:read']
|
||||
denormalizationContext:
|
||||
groups: ['software:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\SoftwareProvider
|
||||
filters:
|
||||
- 'api_platform.filter.software.order'
|
||||
- 'api_platform.filter.software.search'
|
||||
- 'software.software_profile_filter'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\SoftwareProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\SoftwareProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\SoftwareProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\Software:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,33 +0,0 @@
|
|||
resources:
|
||||
App\Entity\SoftwareProfile:
|
||||
processor: App\State\Processor\SoftwareProfileProcessor
|
||||
input: App\Dto\Input\SoftwareProfileInput
|
||||
output: App\Dto\Output\SoftwareProfileOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'software-profile:read']
|
||||
denormalizationContext:
|
||||
groups: ['software-profile:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\SoftwareProfileProvider
|
||||
filters:
|
||||
- 'api_platform.filter.software_profile.order'
|
||||
- 'api_platform.filter.software_profile.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\SoftwareProfileProvider
|
||||
normalizationContext:
|
||||
groups: ['software-profile:read', 'software-profile:item:get', 'software-profile:read:collection:short']
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\SoftwareProfileProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\SoftwareProfileProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\SoftwareProfile:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,121 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Subnet:
|
||||
processor: App\State\Processor\SubnetProcessor
|
||||
input: App\Dto\Input\SubnetInput
|
||||
output: App\Dto\Output\SubnetOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'subnet:read']
|
||||
denormalizationContext:
|
||||
groups: ['subnet:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\SubnetProvider
|
||||
filters:
|
||||
- 'api_platform.filter.subnet.order'
|
||||
- 'api_platform.filter.subnet.search'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\SubnetProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\SubnetProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\SubnetProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
subnet_sync:
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /subnets/sync
|
||||
controller: App\Controller\OgDhcp\Subnet\SyncAction
|
||||
|
||||
get_collection_subnets:
|
||||
shortName: Subnet Server
|
||||
description: Get collection of Subnet
|
||||
class: ApiPlatform\Metadata\GetCollection
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /og-dhcp/server/get-collection
|
||||
controller: App\Controller\OgDhcp\Subnet\GetCollectionAction
|
||||
|
||||
get_subnet:
|
||||
shortName: Subnet Server
|
||||
description: Get Subnet
|
||||
class: ApiPlatform\Metadata\Get
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /og-dhcp/server/{uuid}/get
|
||||
controller: App\Controller\OgDhcp\Subnet\GetAction
|
||||
|
||||
post_subnet:
|
||||
shortName: Subnet Server
|
||||
description: Create Subnet
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /og-dhcp/server/{uuid}/post
|
||||
controller: App\Controller\OgDhcp\Subnet\PostAction
|
||||
|
||||
put_subnet:
|
||||
shortName: Subnet Server
|
||||
description: Create Subnet
|
||||
class: ApiPlatform\Metadata\Put
|
||||
method: PUT
|
||||
input: false
|
||||
uriTemplate: /og-dhcp/server/{uuid}/put
|
||||
controller: App\Controller\OgDhcp\Subnet\PutAction
|
||||
|
||||
delete_subnet:
|
||||
shortName: Subnet Server
|
||||
description: Delete Subnet
|
||||
class: ApiPlatform\Metadata\Delete
|
||||
method: DELETE
|
||||
input: false
|
||||
uriTemplate: /og-dhcp/server/{uuid}/delete
|
||||
controller: App\Controller\OgDhcp\Subnet\DeleteAction
|
||||
|
||||
post_host:
|
||||
shortName: Subnet Server Hosts
|
||||
description: Post Host to Subnet
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: App\Dto\Input\SubnetAddHostInput
|
||||
uriTemplate: /og-dhcp/server/{uuid}/post-host
|
||||
controller: App\Controller\OgDhcp\Subnet\PostHostAction
|
||||
|
||||
get_hosts:
|
||||
shortName: Subnet Server Hosts
|
||||
description: Get Hosts of Subnet
|
||||
class: ApiPlatform\Metadata\Get
|
||||
method: GET
|
||||
input: false
|
||||
uriTemplate: /og-dhcp/server/{uuid}/get-hosts
|
||||
controller: App\Controller\OgDhcp\Subnet\GetHostsAction
|
||||
|
||||
put_host:
|
||||
shortName: Subnet Server Hosts
|
||||
description: Put Host of Subnet
|
||||
class: ApiPlatform\Metadata\Put
|
||||
method: PUT
|
||||
input: false
|
||||
uriTemplate: /og-dhcp/server/{uuid}/put-host
|
||||
controller: App\Controller\OgDhcp\Subnet\PutHostAction
|
||||
|
||||
delete_host:
|
||||
shortName: Subnet Server Hosts
|
||||
description: Delete Host of Subnet
|
||||
class: ApiPlatform\Metadata\Delete
|
||||
method: DELETE
|
||||
input: false
|
||||
read: false
|
||||
uriTemplate: /og-dhcp/server/{uuid}/delete-host/{clientUuid}
|
||||
controller: App\Controller\OgDhcp\Subnet\DeleteHostAction
|
||||
|
||||
|
||||
properties:
|
||||
App\Entity\Subnet:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,34 +0,0 @@
|
|||
resources:
|
||||
App\Entity\Trace:
|
||||
output: App\Dto\Output\TraceOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'trace:read']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\TraceProvider
|
||||
filters:
|
||||
- 'api_platform.filter.trace.order'
|
||||
- 'api_platform.filter.trace.search'
|
||||
- 'api_platform.filter.trace.date'
|
||||
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\TraceProvider
|
||||
|
||||
cancel_trace:
|
||||
shortName: OgRepository Server
|
||||
description: Cancel Trace in OgRepository
|
||||
class: ApiPlatform\Metadata\Post
|
||||
method: POST
|
||||
input: false
|
||||
uriTemplate: /traces/server/{uuid}/cancel
|
||||
controller: App\Controller\OgRepository\Image\CancelTransmissionAction
|
||||
|
||||
order:
|
||||
createdAt: DESC
|
||||
|
||||
properties:
|
||||
App\Entity\Trace:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,46 +0,0 @@
|
|||
resources:
|
||||
App\Entity\User:
|
||||
input: App\Dto\Input\UserInput
|
||||
output: App\Dto\Output\UserOutput
|
||||
processor: App\State\Processor\UserProcessor
|
||||
normalizationContext:
|
||||
groups: ['default', 'user:read']
|
||||
denormalizationContext:
|
||||
groups: ['user:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\UserProvider
|
||||
filters:
|
||||
- 'api_platform.filter.user.order'
|
||||
- 'api_platform.filter.user.search'
|
||||
- 'api_platform.filter.user.boolean'
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\UserProvider
|
||||
ApiPlatform\Metadata\Post:
|
||||
security: 'is_granted("ROLE_SUPER_ADMIN")'
|
||||
validationContext:
|
||||
groups: [ 'default', 'user:post' ]
|
||||
ApiPlatform\Metadata\Delete:
|
||||
security: 'is_granted("ROLE_SUPER_ADMIN")'
|
||||
reset_password:
|
||||
provider: App\State\Provider\UserProvider
|
||||
class: ApiPlatform\Metadata\Put
|
||||
method: PUT
|
||||
input: App\Dto\Input\UserInput
|
||||
uriTemplate: /users/{uuid}/reset-password
|
||||
controller: App\Controller\ResetPasswordAction
|
||||
denormalizationContext:
|
||||
groups: [ 'user:reset-password' ]
|
||||
validationContext:
|
||||
groups: [ 'user:reset-password' ]
|
||||
|
||||
properties:
|
||||
App\Entity\User:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,32 +0,0 @@
|
|||
resources:
|
||||
App\Entity\UserGroup:
|
||||
security: 'is_granted("ROLE_SUPER_ADMIN")'
|
||||
processor: App\State\Processor\UserGroupProcessor
|
||||
input: App\Dto\Input\UserGroupInput
|
||||
output: App\Dto\Output\UserGroupOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'user-group:read']
|
||||
denormalizationContext:
|
||||
groups: ['user-group:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\UserGroupProvider
|
||||
filters:
|
||||
- 'api_platform.filter.user_group.order'
|
||||
- 'api_platform.filter.user_group.search'
|
||||
- 'api_platform.filter.user_group.boolean'
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\UserGroupProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\UserGroupProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\UserGroupProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\UserGroup:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,30 +0,0 @@
|
|||
resources:
|
||||
App\Entity\View:
|
||||
processor: App\State\Processor\ViewProcessor
|
||||
input: App\Dto\Input\ViewInput
|
||||
output: App\Dto\Output\ViewOutput
|
||||
normalizationContext:
|
||||
groups: ['default', 'view:read']
|
||||
denormalizationContext:
|
||||
groups: ['view:write']
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\ViewProvider
|
||||
filters:
|
||||
- 'api_platform.filter.view.order'
|
||||
- 'api_platform.filter.view.search'
|
||||
ApiPlatform\Metadata\Get:
|
||||
provider: App\State\Provider\ViewProvider
|
||||
ApiPlatform\Metadata\Put:
|
||||
provider: App\State\Provider\ViewProvider
|
||||
ApiPlatform\Metadata\Patch:
|
||||
provider: App\State\Provider\ViewProvider
|
||||
ApiPlatform\Metadata\Post: ~
|
||||
ApiPlatform\Metadata\Delete: ~
|
||||
|
||||
properties:
|
||||
App\Entity\View:
|
||||
id:
|
||||
identifier: false
|
||||
uuid:
|
||||
identifier: true
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
||||
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
||||
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
||||
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
||||
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
|
||||
Nelmio\CorsBundle\NelmioCorsBundle::class => ['all' => true],
|
||||
ApiPlatform\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
|
||||
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
||||
Zenstruck\Foundry\ZenstruckFoundryBundle::class => ['dev' => true, 'test' => true],
|
||||
Gesdinet\JWTRefreshTokenBundle\GesdinetJWTRefreshTokenBundle::class => ['all' => true],
|
||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||
Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle::class => ['all' => true],
|
||||
DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true],
|
||||
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MercureBundle\MercureBundle::class => ['all' => true],
|
||||
];
|
|
@ -1,29 +0,0 @@
|
|||
api_platform:
|
||||
title: 'OgCore Api'
|
||||
description: 'Api Documentation for OgCore'
|
||||
version: 0.5.0
|
||||
path_segment_name_generator: api_platform.path_segment_name_generator.dash
|
||||
defaults:
|
||||
pagination_client_items_per_page: true
|
||||
mercure:
|
||||
enabled: true
|
||||
|
||||
collection:
|
||||
pagination:
|
||||
items_per_page_parameter_name: 'itemsPerPage'
|
||||
formats:
|
||||
jsonld: [ 'application/ld+json' ]
|
||||
json: [ 'application/json' ]
|
||||
csv: [ 'text/csv' ]
|
||||
patch_formats:
|
||||
jsonld: ['application/ld+json', 'application/json']
|
||||
mapping:
|
||||
paths: ['%kernel.project_dir%/config/api_platform', '%kernel.project_dir%/src/Dto']
|
||||
swagger:
|
||||
versions: [3]
|
||||
api_keys:
|
||||
apiKey:
|
||||
name: Authorization
|
||||
type: header
|
||||
exception_to_status:
|
||||
Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException: 409
|
|
@ -1,19 +0,0 @@
|
|||
framework:
|
||||
cache:
|
||||
# Unique name of your app: used to compute stable namespaces for cache keys.
|
||||
#prefix_seed: your_vendor_name/app_name
|
||||
|
||||
# The "app" cache stores to the filesystem by default.
|
||||
# The data in this cache should persist between deploys.
|
||||
# Other options include:
|
||||
|
||||
# Redis
|
||||
#app: cache.adapter.redis
|
||||
#default_redis_provider: redis://localhost
|
||||
|
||||
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
|
||||
#app: cache.adapter.apcu
|
||||
|
||||
# Namespaced pools use the above "app" backend by default
|
||||
#pools:
|
||||
#my.dedicated.cache: null
|
|
@ -1,5 +0,0 @@
|
|||
when@test:
|
||||
dama_doctrine_test:
|
||||
enable_static_connection: true
|
||||
enable_static_meta_data_cache: true
|
||||
enable_static_query_cache: true
|
|
@ -1,61 +0,0 @@
|
|||
doctrine:
|
||||
dbal:
|
||||
connections:
|
||||
default:
|
||||
url: '%env(resolve:DATABASE_URL)%'
|
||||
profiling_collect_backtrace: '%kernel.debug%'
|
||||
use_savepoints: true
|
||||
mapping_types:
|
||||
enum: string
|
||||
og_1:
|
||||
url: '%env(resolve:OG_1_DATABASE_URL)%'
|
||||
use_savepoints: true
|
||||
default_connection: default
|
||||
|
||||
orm:
|
||||
default_entity_manager: default
|
||||
entity_managers:
|
||||
default:
|
||||
auto_mapping: true
|
||||
connection: default
|
||||
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
|
||||
report_fields_where_declared: true
|
||||
mappings:
|
||||
App:
|
||||
is_bundle: false
|
||||
type: attribute
|
||||
dir: '%kernel.project_dir%/src/Entity'
|
||||
prefix: 'App\Entity'
|
||||
alias: App
|
||||
|
||||
og_1:
|
||||
connection: og_1
|
||||
|
||||
controller_resolver:
|
||||
auto_mapping: true
|
||||
|
||||
when@test:
|
||||
doctrine:
|
||||
dbal:
|
||||
# "TEST_TOKEN" is typically set by ParaTest
|
||||
dbname_suffix: '_test%env(default::TEST_TOKEN)%'
|
||||
|
||||
when@prod:
|
||||
doctrine:
|
||||
orm:
|
||||
auto_generate_proxy_classes: false
|
||||
proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies'
|
||||
query_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.system_cache_pool
|
||||
result_cache_driver:
|
||||
type: pool
|
||||
pool: doctrine.result_cache_pool
|
||||
|
||||
framework:
|
||||
cache:
|
||||
pools:
|
||||
doctrine.result_cache_pool:
|
||||
adapter: cache.app
|
||||
doctrine.system_cache_pool:
|
||||
adapter: cache.system
|
|
@ -1,6 +0,0 @@
|
|||
doctrine_migrations:
|
||||
migrations_paths:
|
||||
# namespace is arbitrary but should be different from App\Migrations
|
||||
# as migrations classes should NOT be autoloaded
|
||||
'DoctrineMigrations': '%kernel.project_dir%/migrations'
|
||||
enable_profiler: false
|
|
@ -1,31 +0,0 @@
|
|||
# see https://symfony.com/doc/current/reference/configuration/framework.html
|
||||
framework:
|
||||
secret: '%env(APP_SECRET)%'
|
||||
#csrf_protection: true
|
||||
annotations: false
|
||||
http_method_override: false
|
||||
handle_all_throwables: true
|
||||
|
||||
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
||||
# Remove or comment this section to explicitly disable session support.
|
||||
session:
|
||||
handler_id: null
|
||||
cookie_secure: auto
|
||||
cookie_samesite: lax
|
||||
storage_factory_id: session.storage.factory.native
|
||||
|
||||
#esi: true
|
||||
#fragments: true
|
||||
php_errors:
|
||||
log: true
|
||||
|
||||
http_client:
|
||||
default_options:
|
||||
verify_host: false
|
||||
verify_peer: false
|
||||
|
||||
when@test:
|
||||
framework:
|
||||
test: true
|
||||
session:
|
||||
storage_factory_id: session.storage.factory.mock_file
|
|
@ -1,3 +0,0 @@
|
|||
gesdinet_jwt_refresh_token:
|
||||
refresh_token_class: App\Entity\RefreshToken
|
||||
token_parameter_name: refreshToken
|
|
@ -1,9 +0,0 @@
|
|||
lexik_jwt_authentication:
|
||||
secret_key: '%env(resolve:JWT_SECRET_KEY)%'
|
||||
public_key: '%env(resolve:JWT_PUBLIC_KEY)%'
|
||||
pass_phrase: '%env(JWT_PASSPHRASE)%'
|
||||
token_ttl: 86400 # 1 day
|
||||
api_platform:
|
||||
check_path: /auth/login
|
||||
username_path: username
|
||||
password_path: password
|
|
@ -1,8 +0,0 @@
|
|||
mercure:
|
||||
hubs:
|
||||
default:
|
||||
url: '%env(MERCURE_URL)%'
|
||||
public_url: '%env(MERCURE_PUBLIC_URL)%'
|
||||
jwt:
|
||||
secret: '%env(MERCURE_JWT_SECRET)%'
|
||||
publish: '*'
|
|
@ -1,62 +0,0 @@
|
|||
monolog:
|
||||
channels:
|
||||
- deprecation # Deprecations are logged in the dedicated "deprecation" channel when it exists
|
||||
|
||||
when@dev:
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
level: info
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
formatter: App\Formatter\CustomLineFormatter
|
||||
channels: ["!event"]
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ["!event", "!doctrine", "!console"]
|
||||
syslog:
|
||||
type: syslog
|
||||
ident: "ogcore"
|
||||
level: info
|
||||
formatter: App\Formatter\CustomLineFormatter
|
||||
channels: ["!event"]
|
||||
|
||||
when@test:
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: error
|
||||
|
||||
nested:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: debug
|
||||
|
||||
when@prod:
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: stream
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: error
|
||||
formatter: App\Formatter\CustomLineFormatter
|
||||
channels: ["!event"]
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ["!event", "!doctrine"]
|
||||
syslog:
|
||||
type: syslog
|
||||
ident: "ogcore"
|
||||
level: info
|
||||
formatter: App\Formatter\CustomLineFormatter
|
||||
channels: ["!event"]
|
||||
deprecation:
|
||||
type: stream
|
||||
channels: [deprecation]
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
formatter: monolog.formatter.json
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
nelmio_cors:
|
||||
defaults:
|
||||
origin_regex: true
|
||||
allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
|
||||
allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
|
||||
allow_headers: ['Content-Type', 'Authorization']
|
||||
expose_headers: ['Link']
|
||||
max_age: 3600
|
||||
paths:
|
||||
'^/': null
|
|
@ -1,4 +0,0 @@
|
|||
doctrine:
|
||||
dbal:
|
||||
types:
|
||||
uuid: 'Ramsey\Uuid\Doctrine\UuidType'
|
|
@ -1,12 +0,0 @@
|
|||
framework:
|
||||
router:
|
||||
utf8: true
|
||||
|
||||
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
||||
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
||||
#default_uri: http://localhost
|
||||
|
||||
when@prod:
|
||||
framework:
|
||||
router:
|
||||
strict_requirements: null
|
|
@ -1,48 +0,0 @@
|
|||
security:
|
||||
password_hashers:
|
||||
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
|
||||
providers:
|
||||
app_user_provider:
|
||||
entity:
|
||||
class: App\Entity\User
|
||||
property: username
|
||||
firewalls:
|
||||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
main:
|
||||
stateless: false
|
||||
provider: app_user_provider
|
||||
entry_point: jwt
|
||||
json_login:
|
||||
check_path: auth
|
||||
provider: app_user_provider
|
||||
username_path: username
|
||||
password_path: password
|
||||
success_handler: lexik_jwt_authentication.handler.authentication_success
|
||||
failure_handler: lexik_jwt_authentication.handler.authentication_failure
|
||||
jwt: ~
|
||||
refresh_jwt:
|
||||
check_path: refresh_token
|
||||
|
||||
access_control:
|
||||
- { path: ^/$, roles: PUBLIC_ACCESS } # Allows accessing the Swagger UI
|
||||
- { path: ^/docs, roles: PUBLIC_ACCESS } # Allows accessing the Swagger UI docs
|
||||
- { path: ^/auth/login, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/opengnsys/rest, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/og-repository/webhook, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/og-lives/install/webhook, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/auth/refresh, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/validate, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/menu-browser, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/menu/, roles: PUBLIC_ACCESS }
|
||||
- { path: ^/, roles: IS_AUTHENTICATED_FULLY }
|
||||
|
||||
when@test:
|
||||
security:
|
||||
password_hashers:
|
||||
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
|
||||
algorithm: auto
|
||||
cost: 4 # Lowest possible value for bcrypt
|
||||
time_cost: 3 # Lowest possible value for argon
|
||||
memory_cost: 10 # Lowest possible value for argon
|
|
@ -1,8 +0,0 @@
|
|||
stof_doctrine_extensions:
|
||||
default_locale: es_ES
|
||||
orm:
|
||||
default:
|
||||
timestampable: true
|
||||
blameable: true
|
||||
tree: true
|
||||
sluggable: true
|
|
@ -1,8 +0,0 @@
|
|||
framework:
|
||||
default_locale: es
|
||||
translator:
|
||||
default_path: '%kernel.project_dir%/translations'
|
||||
fallbacks:
|
||||
- en
|
||||
- es
|
||||
providers:
|
|
@ -1,6 +0,0 @@
|
|||
twig:
|
||||
file_name_pattern: '*.twig'
|
||||
|
||||
when@test:
|
||||
twig:
|
||||
strict_variables: true
|
|
@ -1,13 +0,0 @@
|
|||
framework:
|
||||
validation:
|
||||
email_validation_mode: html5
|
||||
|
||||
# Enables validator auto-mapping support.
|
||||
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
||||
#auto_mapping:
|
||||
# App\Entity\: []
|
||||
|
||||
when@test:
|
||||
framework:
|
||||
validation:
|
||||
not_compromised_password: false
|
|
@ -1,17 +0,0 @@
|
|||
when@dev:
|
||||
web_profiler:
|
||||
toolbar: true
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler:
|
||||
only_exceptions: false
|
||||
collect_serializer_data: true
|
||||
|
||||
when@test:
|
||||
web_profiler:
|
||||
toolbar: false
|
||||
intercept_redirects: false
|
||||
|
||||
framework:
|
||||
profiler: { collect: false }
|
|
@ -1,5 +0,0 @@
|
|||
when@dev: &dev
|
||||
zenstruck_foundry:
|
||||
auto_refresh_proxies: true
|
||||
|
||||
when@test: *dev
|
|
@ -1,5 +0,0 @@
|
|||
<?php
|
||||
|
||||
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) {
|
||||
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
controllers:
|
||||
resource:
|
||||
path: ../src/Controller/
|
||||
namespace: App\Controller
|
||||
type: attribute
|
|
@ -1,3 +0,0 @@
|
|||
api_platform:
|
||||
resource: .
|
||||
type: api_platform
|
|
@ -1,4 +0,0 @@
|
|||
when@dev:
|
||||
_errors:
|
||||
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
||||
prefix: /_error
|
|
@ -1,2 +0,0 @@
|
|||
refresh_token:
|
||||
path: /auth/refresh
|
|
@ -1,3 +0,0 @@
|
|||
auth:
|
||||
path: /auth/login
|
||||
methods: ['POST']
|
|
@ -1,3 +0,0 @@
|
|||
_security_logout:
|
||||
resource: security.route_loader.logout
|
||||
type: service
|
|
@ -1,8 +0,0 @@
|
|||
when@dev:
|
||||
web_profiler_wdt:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
||||
prefix: /_wdt
|
||||
|
||||
web_profiler_profiler:
|
||||
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
||||
prefix: /_profiler
|
|
@ -1,173 +0,0 @@
|
|||
imports:
|
||||
- { resource: 'services/api_platform.yaml' }
|
||||
|
||||
parameters:
|
||||
|
||||
services:
|
||||
App\DependencyInjection\JsonEnvVarLoader:
|
||||
tags: ['container.env_var_loader']
|
||||
|
||||
_defaults:
|
||||
autowire: true # Automatically injects dependencies in your services.
|
||||
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
|
||||
|
||||
App\:
|
||||
resource: '../src/'
|
||||
exclude:
|
||||
- '../src/Entity/'
|
||||
- '../src/Kernel.php'
|
||||
|
||||
App\Doctrine\UserAllowedOrganizationalUnitExtension:
|
||||
tags:
|
||||
- { name: api_platform.doctrine.orm.query_extension.collection }
|
||||
- { name: api_platform.doctrine.orm.query_extension.item }
|
||||
|
||||
App\EventListener\LocaleSubscriber:
|
||||
arguments:
|
||||
$defaultLocale: '%kernel.default_locale%'
|
||||
tags:
|
||||
- { name: kernel.event_subscriber }
|
||||
|
||||
App\OpenApi\OpenApiFactory:
|
||||
decorates: 'api_platform.openapi.factory'
|
||||
arguments: [ '@App\OpenApi\OpenApiFactory.inner' ]
|
||||
autoconfigure: false
|
||||
|
||||
App\State\Provider\UserProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\UserGroupProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\OrganizationalUnitProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\ClientProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\HardwareProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\HardwareProfileProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\MenuProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\PartitionProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\OperativeSystemProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\HardwareTypeProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\SoftwareProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\SoftwareProfileProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\ImageProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\ViewProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\OgLiveProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\RemoteCalendarProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\CommandProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\PxeTemplateProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\CommandGroupProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\CommandTaskProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\SubnetProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
App\State\Provider\TraceProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\RemoteCalendarRuleProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\ImageRepositoryProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\ImageImageRepositoryProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\CommandTaskScheduleProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\CommandTaskScriptProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
||||
|
||||
App\State\Provider\GitImageRepositoryProvider:
|
||||
bind:
|
||||
$collectionProvider: '@api_platform.doctrine.orm.state.collection_provider'
|
||||
$itemProvider: '@api_platform.doctrine.orm.state.item_provider'
|
|
@ -1,350 +0,0 @@
|
|||
services:
|
||||
api_platform.filter.calendar.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~,}
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.calendar.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'exact'} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.client.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~, 'serialNumber': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.client.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'uuid': exact, 'name': 'partial', 'serialNumber': 'exact', 'template.id': 'exact', status: 'exact', organizationalUnit.id: 'exact', mac: 'exact', ip: 'exact', subnet.id: 'exact' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.client.exist:
|
||||
parent: 'api_platform.doctrine.orm.exists_filter'
|
||||
arguments: [{'subnet': ~, 'template': ~ }]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial'} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command.boolean:
|
||||
parent: 'api_platform.doctrine.orm.boolean_filter'
|
||||
arguments: [ { 'enabled': ~, 'readOnly': ~ } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command_task.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command_task.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command_task_schedule.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command_task_schedule.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', 'commandTask.id': 'exact' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command_task_schedule.boolean:
|
||||
parent: 'api_platform.doctrine.orm.boolean_filter'
|
||||
arguments: [ { 'enabled': ~} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command_task_script.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command_task_script.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', 'commandTask.id': 'exact' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.command_task_script.boolean:
|
||||
parent: 'api_platform.doctrine.orm.boolean_filter'
|
||||
arguments: [ { 'enabled': ~ } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.hardware.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.image.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.image.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', 'repository.id': 'exact', status: 'exact', type: 'exact' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.image.boolean:
|
||||
parent: 'api_platform.doctrine.orm.boolean_filter'
|
||||
arguments: [ { 'created': ~ } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
image.repository_filter:
|
||||
parent: 'App\Filter\ImageSearchRepositoryFilter'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
software.software_profile_filter:
|
||||
parent: 'App\Filter\SoftwareProfileSearchSoftwareFilter'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.og_live.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.og_live.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', 'status': 'exact' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.og_live.boolean:
|
||||
parent: 'api_platform.doctrine.orm.boolean_filter'
|
||||
arguments: [ { 'isDefault': ~, 'installed': ~ } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.hardware.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.menu.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~, 'title': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.menu.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'exact', 'title': 'exact' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.operative_system.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.operative_system.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.organizational_unit.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~, 'type': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.organizational_unit.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { id: 'exact', name: 'partial', type: 'exact', parent.id: 'exact'} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.organizational_unit.group_filter:
|
||||
parent: 'api_platform.serializer.group_filter'
|
||||
arguments: [ 'groups', true, ['organizational-unit:read:collection:short'] ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.partition.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'usage': ~, 'partitionNumber': 'ASC' }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.partition.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'usage': 'exact', 'diskNumber': 'exact', 'client.id': 'exact' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.pxe_template.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.pxe_boot_file.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'template': exact } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.pxe_template.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.pxe_template.boolean:
|
||||
parent: 'api_platform.doctrine.orm.boolean_filter'
|
||||
arguments: [ { 'synchronized': ~, 'isDefault': ~ } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.remote_calendar.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.remote_calendar.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.repository.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.repository.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', 'ip': 'partial', 'status': 'exact'} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.image_image_repository.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.image_image_repository.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', 'ip': 'partial', 'status': 'exact', 'repository.id': 'exact'} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
repository.not_equal_filter:
|
||||
parent: 'App\Filter\NotEqualIdFilter'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.software.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.software.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', type: 'exact'} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.software_profile.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'description': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.software_profile.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'description': 'partial'} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.subnet.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.subnet.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial', ip: 'exact', nextServer: 'exact', netmask: 'exact', bootFileName: 'partial'} ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.trace.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'command': 'exact', 'client.id': 'exact', status: 'exact' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.trace.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'command': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.trace.date:
|
||||
parent: 'api_platform.doctrine.orm.date_filter'
|
||||
arguments: [ { 'executedAt': ~, 'createdAt': ~ } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.user.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'username': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.user.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'username': 'partial' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.user.boolean:
|
||||
parent: 'api_platform.doctrine.orm.boolean_filter'
|
||||
arguments: [ { 'enabled': ~ } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.user_group.order:
|
||||
parent: 'api_platform.doctrine.orm.order_filter'
|
||||
arguments:
|
||||
$properties: { 'id': ~, 'name': ~ }
|
||||
$orderParameterName: 'order'
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.user_group.search:
|
||||
parent: 'api_platform.doctrine.orm.search_filter'
|
||||
arguments: [ { 'id': 'exact', 'name': 'partial' } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
api_platform.filter.user_group.boolean:
|
||||
parent: 'api_platform.doctrine.orm.boolean_filter'
|
||||
arguments: [ { 'enabled': ~ } ]
|
||||
tags: [ 'api_platform.filter' ]
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
services:
|
||||
App\EventListener\ClientStatusNotifier:
|
||||
tags: ~ # Esto elimina el listener en el entorno de test
|
|
@ -1,4 +0,0 @@
|
|||
# Changelog
|
||||
|
||||
## [Unreleased]
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
ogcore (0.9.2-1) unstable; urgency=medium
|
||||
|
||||
* Added mercure service in docker compose file for deployments.
|
||||
|
||||
-- Manuel Aranda <maranda@qindel.com> 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 <maranda@qindel.com> 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 <maranda@qindel.com> 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 <maranda@qindel.com> 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 <maranda@qindel.com> 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 <maranda@qindel.com> Fri, 03 Jan 2025 11:00:00 +0200
|
||||
|
|
@ -1 +0,0 @@
|
|||
12
|
|
@ -1,16 +0,0 @@
|
|||
Source: ogcore
|
||||
Section: web
|
||||
Priority: optional
|
||||
Maintainer: Nicolas Arenas <nicolas.arenas@qindel.com>
|
||||
Build-Depends: debhelper (>= 12), composer, php-cli, php-mysql, php-fpm, libzip-dev, zip, unzip
|
||||
Standards-Version: 4.5.0
|
||||
|
||||
Package: ogcore
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}, mariadb-server, systemd, nginx, libzip-dev, zip, unzip,
|
||||
php8.3-opcache, php8.3-bcmath, php8.3-cli, php8.3-curl, php8.3-fpm,
|
||||
php8.3-gd, php8.3-ldap, php8.3-mbstring, php8.3-mysql, php8.3-common,
|
||||
php8.3-xml, php8.3-zip, mercure
|
||||
Description: OpenGnsys Core
|
||||
OgCore package is responsible about management of Opengnsys platform
|
||||
OpenGnsys Core is a platform for system management.
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
INPUT_FILE="changelog"
|
||||
OUTPUT_FILE="CHANGELOG.md"
|
||||
|
||||
echo "# Changelog" > "$OUTPUT_FILE"
|
||||
echo -e "\n## [Unreleased]\n" >> "$OUTPUT_FILE"
|
||||
|
||||
# Procesar el changelog de Debian
|
||||
awk '
|
||||
/^ogcore/ {
|
||||
version = $2
|
||||
gsub(/[()]/, "", version) # Eliminar paréntesis de la versión
|
||||
printf "\n## [%s] - %s\n\n", version, $NF
|
||||
}
|
||||
/^\s*\*/ {
|
||||
gsub(/^\s*\*\s*/, "- ", $0) # Convertir a lista de viñetas
|
||||
print $0 >> "'"$OUTPUT_FILE"'"
|
||||
}
|
||||
' "$INPUT_FILE"
|
|
@ -1,43 +0,0 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Source: <url://example.com>
|
||||
Upstream-Name: ogcore
|
||||
Upstream-Contact: <preferred name and address to reach the upstream project>
|
||||
|
||||
Files:
|
||||
*
|
||||
Copyright:
|
||||
<years> <put author's name and email here>
|
||||
<years> <likewise for another author>
|
||||
License: GPL-3.0+
|
||||
|
||||
Files:
|
||||
debian/*
|
||||
Copyright:
|
||||
2025 root <root@build>
|
||||
License: GPL-3.0+
|
||||
|
||||
License: GPL-3.0+
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
Comment:
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
|
||||
|
||||
# Please also look if there are files or directories which have a
|
||||
# different copyright/license attached and list them here.
|
||||
# Please avoid picking licenses with terms that are more restrictive than the
|
||||
# packaged work, as it may make Debian's contributions unacceptable upstream.
|
||||
#
|
||||
# If you need, there are some extra license texts available in two places:
|
||||
# /usr/share/debhelper/dh_make/licenses/
|
||||
# /usr/share/common-licenses/
|
|
@ -1 +0,0 @@
|
|||
ogcore
|
|
@ -1,2 +0,0 @@
|
|||
ogcore_1.0.5+develop20250310-1_all.deb web optional
|
||||
ogcore_1.0.5+develop20250310-1_amd64.buildinfo web optional
|
|
@ -1,18 +0,0 @@
|
|||
bin/* /opt/opengnsys/ogcore/api/bin/
|
||||
config/* /opt/opengnsys/ogcore/api/config/
|
||||
migrations/* /opt/opengnsys/ogcore/api/migrations/
|
||||
public/* /opt/opengnsys/ogcore/api/public/
|
||||
src/* /opt/opengnsys/ogcore/api/src/
|
||||
swagger-assets/* /opt/opengnsys/ogcore/api/swagger-assets/
|
||||
templates/* /opt/opengnsys/ogcore/api/templates/
|
||||
translations/* /opt/opengnsys/ogcore/api/translations/
|
||||
var/* /opt/opengnsys/ogcore/api/var/
|
||||
vendor/* /opt/opengnsys/ogcore/api/vendor/
|
||||
composer.json /opt/opengnsys/ogcore/api/
|
||||
composer.lock /opt/opengnsys/ogcore/api/
|
||||
symfony.lock /opt/opengnsys/ogcore/api/
|
||||
.env.local.php /opt/opengnsys/ogcore/api/
|
||||
env.json /opt/opengnsys/ogcore/api/
|
||||
etc /opt/opengnsys/ogcore/
|
||||
docker/certs/* /opt/opengnsys/ogcore/etc/nginx/certs/
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
. /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"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Detectar si es una instalación nueva o una actualización
|
||||
if [ "$1" = "configure" ] && [ -z "$2" ]; then
|
||||
# Detectar IP de la interfaz de red asociad a la ruta por defecto.
|
||||
|
||||
IP=$(ip -4 route get 8.8.8.8 | grep -oP '(?<=src )[\d.]+')
|
||||
echo ">>> Instalación nueva detectada."
|
||||
|
||||
# Solicitar credenciales solo en instalación nueva
|
||||
db_input high opengnsys/ogcore_adminUser || true
|
||||
db_go
|
||||
db_get opengnsys/ogcore_adminUser
|
||||
ADMIN_USER="$RET"
|
||||
|
||||
db_input high opengnsys/ogcore_adminPass || true
|
||||
db_go
|
||||
db_get opengnsys/ogcore_adminPass
|
||||
ADMIN_PASS="$RET"
|
||||
|
||||
cd /opt/opengnsys/ogcore/api
|
||||
|
||||
# Configuración inicial
|
||||
echo ">>> Configurando base de datos y permisos"
|
||||
mariadb -e "ALTER USER 'root'@'localhost' IDENTIFIED VIA unix_socket OR mysql_native_password USING PASSWORD('root');"
|
||||
|
||||
|
||||
echo ">>> Creando par de claves para JWT"
|
||||
php bin/console lexik:jwt:generate-keypair --overwrite
|
||||
|
||||
echo ">>> Creando base de datos"
|
||||
php bin/console doctrine:database:create --if-not-exists
|
||||
php bin/console doctrine:migrations:migrate --no-interaction
|
||||
|
||||
echo ">>> Cargando datos iniciales"
|
||||
php bin/console opengnsys:load-default-user
|
||||
php bin/console app:load-default-user-groups
|
||||
php bin/console app:load-default-commands
|
||||
php bin/console opengnsys:load-default-menu
|
||||
|
||||
echo ">>> Configurando servidor web y servicios"
|
||||
ln -s /opt/opengnsys/ogcore/etc/nginx/sites-available/ogcore.conf /etc/nginx/sites-enabled/ogcore.conf
|
||||
ln -s /opt/opengnsys/ogcore/etc/nginx/sites-available/mercure.conf /etc/nginx/sites-enabled/mercure.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
|
||||
|
||||
echo ">>> Configurando permisos de archivos"
|
||||
chown opengnsys:www-data /opt/opengnsys/
|
||||
chown -R opengnsys:www-data /opt/opengnsys/ogcore
|
||||
systemctl daemon-reload
|
||||
systemctl enable og-mercure
|
||||
systemctl restart og-mercure
|
||||
systemctl restart nginx
|
||||
systemctl restart php8.3-fpm
|
||||
|
||||
#Obteniendo bearer token
|
||||
BEARER=$(curl -sk -X 'POST' 'https://localhost:8443/auth/login' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{ "username": "ogadmin", "password": "12345678" }' | jq -r .token)
|
||||
# Creando nuevo repo
|
||||
curl -skL -X POST 'https://localhost:8443/image-repositories' \
|
||||
-H "Authorization: Bearer $BEARER" \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d "{ \"name\": \"Repository 1\", \"ip\": \"$IP\", \"comments\": \"Repositorio creado automaticamente por oginstaller\" }"
|
||||
# Solo gestionar credenciales en instalación nueva
|
||||
if [ "$ADMIN_USER" == "ogadmin" ]; then
|
||||
echo ">>> Cambiando contraseña de ogadmin"¡
|
||||
OGADMIN_UUID=$(curl -skL "https://localhost:8443/users/?username=ogadmin" \
|
||||
-H 'accept: application/json' \
|
||||
-H "Authorization: Bearer $BEARER" | jq -r '.[0].uuid')
|
||||
curl -skL -X PUT "https://localhost:8443/users/$OGADMIN_UUID/reset-password" \
|
||||
-H 'accept: application/ld+json' \
|
||||
-H 'Content-Type: application/ld+json' \
|
||||
-H "Authorization: Bearer $BEARER" \
|
||||
-d "{ \"currentPassword\": \"12345678\", \"newPassword\": \"$ADMIN_PASS\", \"repeatNewPassword\": \"$ADMIN_PASS\" }"
|
||||
echo ">>> Contraseña de ogadmin cambiada."
|
||||
else
|
||||
echo ">>> Creando nuevo usuario administrador: $ADMIN_USER"
|
||||
curl -skL --location 'https://localhost:8443/users' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--header "Authorization: Bearer $BEARER" \
|
||||
--data "{ \"username\": \"$ADMIN_USER\", \"password\": \"$ADMIN_PASS\", \"roles\": [\"ROLE_SUPER_ADMIN\"] }"
|
||||
|
||||
echo ">>> Usuario administrador $ADMIN_USER creado."
|
||||
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
|
||||
echo ">>> Actualización detectada desde la versión $2"
|
||||
|
||||
# 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"
|
||||
php bin/console doctrine:migrations:migrate --no-interaction
|
||||
echo ">>> Configurando servidor web y servicios"
|
||||
[ ! -L /etc/nginx/sites-enabled/ogcore.conf ] && ln -s /opt/opengnsys/ogcore/etc/nginx/sites-available/ogcore.conf /etc/nginx/sites-enabled/ogcore.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
|
||||
[ ! -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"
|
||||
chown opengnsys:www-data /opt/opengnsys/
|
||||
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 enable og-mercure
|
||||
systemctl restart og-mercure
|
||||
systemctl restart nginx
|
||||
systemctl restart php8.3-fpm
|
||||
fi
|
||||
# Recargar systemd y reiniciar servicios en ambos casos
|
||||
|
||||
|
||||
exit 0
|
|
@ -1,6 +0,0 @@
|
|||
# Automatically added by dh_installdebconf/13.14.1ubuntu5
|
||||
if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
|
||||
. /usr/share/debconf/confmodule
|
||||
db_purge
|
||||
fi
|
||||
# End automatically added section
|
|
@ -1,42 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
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
|
||||
USER="opengnsys"
|
||||
HOME_DIR="/opt/opengnsys"
|
||||
if id "$USER" &>/dev/null; then
|
||||
echo "El usuario $USER ya existe."
|
||||
else
|
||||
echo "Creando el usuario $USER con home en $HOME_DIR."
|
||||
useradd -m -d "$HOME_DIR" -s /bin/bash "$USER"
|
||||
fi
|
||||
|
||||
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
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
if [ "$1" = "remove" ] || [ "$1" = "upgrade" ]; then
|
||||
# Eliminar enlaces simbólicos creados en postinst
|
||||
rm -f /etc/nginx/sites-enabled/ogcore.conf
|
||||
rm -f /etc/php/8.3/fpm/pool.d/ogcore-fpm.conf
|
||||
# Deshabilitar el servicio antes de eliminarlo
|
||||
systemctl disable og-mercure || true
|
||||
systemctl stop og-mercure || true
|
||||
systemctl restart nginx || true
|
||||
systemctl restart php8.3-fpm || true
|
||||
rm -f /etc/systemd/system/og-mercure.service
|
||||
systemctl daemon-reload
|
||||
fi
|
||||
|
||||
exit 0
|
|
@ -1,10 +0,0 @@
|
|||
Template: opengnsys/ogcore_adminUser
|
||||
Type: string
|
||||
Default: ogadmin
|
||||
Description: Introduzca el nombre de usuario para la configuración
|
||||
|
||||
Template: opengnsys/ogcore_adminPass
|
||||
Type: password
|
||||
Default: 12345678
|
||||
Description: Introduzca la contraseña
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
# Ejecutar composer install durante la fase de construcción
|
||||
override_dh_auto_build:
|
||||
export COMPOSER_ALLOW_SUPERUSER=1
|
||||
export APP_ENV=prod
|
||||
dh_auto_build
|
||||
COMPOSER_ALLOW_SUPERUSER=1 APP_ENV=prod composer install --no-dev --no-interaction --no-progress --optimize-autoloader
|
||||
COMPOSER_ALLOW_SUPERUSER=1 APP_ENV=prod composer dump-env prod
|
|
@ -1 +0,0 @@
|
|||
3.0 (native)
|
|
@ -1,47 +0,0 @@
|
|||
services:
|
||||
database:
|
||||
container_name: ogcore-database
|
||||
image: mariadb:10.11
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_DATABASE: ogcore
|
||||
MYSQL_PASSWORD: root
|
||||
MYSQL_USER: admin
|
||||
ports:
|
||||
- 3336:3306
|
||||
volumes:
|
||||
- database_data:/var/lib/mysql
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
nginx:
|
||||
container_name: ogcore-nginx
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/Dockerfile-nginx
|
||||
depends_on:
|
||||
- php
|
||||
ports:
|
||||
- 8080:80
|
||||
volumes:
|
||||
- ./public:/var/www/html/public:cached
|
||||
networks:
|
||||
- ogcore-network
|
||||
image: ogcore-nginx:static
|
||||
|
||||
php:
|
||||
container_name: ogcore-php
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/Dockerfile-jenkins-php
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
- ogcore-network
|
||||
image: ogcore-php:static
|
||||
|
||||
volumes:
|
||||
database_data:
|
||||
|
||||
networks:
|
||||
ogcore-network:
|
|
@ -1,45 +0,0 @@
|
|||
services:
|
||||
database:
|
||||
container_name: ogcore-database
|
||||
image: mariadb:10.11
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_DATABASE: ogcore
|
||||
MYSQL_PASSWORD: root
|
||||
MYSQL_USER: admin
|
||||
ports:
|
||||
- 3336:3306
|
||||
volumes:
|
||||
- database_data:/var/lib/mysql
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
nginx:
|
||||
container_name: ogcore-nginx
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/Dockerfile-nginx
|
||||
depends_on:
|
||||
- php
|
||||
ports:
|
||||
- 8080:80
|
||||
volumes:
|
||||
- ./public:/var/www/html/public:cached
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
php:
|
||||
container_name: ogcore-php
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/Dockerfile-jenkins-php
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
volumes:
|
||||
database_data:
|
||||
|
||||
networks:
|
||||
ogcore-network:
|
|
@ -1,72 +0,0 @@
|
|||
services:
|
||||
database:
|
||||
container_name: ogcore-database
|
||||
image: mariadb:10.11
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_DATABASE: ogcore
|
||||
MYSQL_PASSWORD: root
|
||||
MYSQL_USER: admin
|
||||
ports:
|
||||
- 3336:3306
|
||||
volumes:
|
||||
- database_data:/var/lib/mysql
|
||||
networks:
|
||||
- ogcore-network
|
||||
nginx:
|
||||
container_name: ogcore-nginx
|
||||
depends_on:
|
||||
- php
|
||||
ports:
|
||||
- 8080:80
|
||||
- 8443:443
|
||||
- 3000:3000
|
||||
volumes:
|
||||
- ogpublic:/var/www/html/public:cached
|
||||
networks:
|
||||
- ogcore-network
|
||||
image: opengnsys/ogcore-nginx:static
|
||||
|
||||
php:
|
||||
container_name: ogcore-php
|
||||
depends_on:
|
||||
- database
|
||||
volumes:
|
||||
- ogpublic:/var/www/html/public
|
||||
- /opt/opengnsys/ogCore/etc/.env:/var/www/html/.env
|
||||
- /opt/opengnsys/ogCore/etc/env.json://var/www/html/env.json
|
||||
|
||||
networks:
|
||||
- ogcore-network
|
||||
image: opengnsys/ogcore-php:static
|
||||
|
||||
mercure:
|
||||
image: dunglas/mercure
|
||||
restart: unless-stopped
|
||||
container_name: ogcore-mercure
|
||||
environment:
|
||||
# Uncomment the following line to disable HTTPS,
|
||||
SERVER_NAME: ':3000'
|
||||
MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
|
||||
MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
|
||||
MERCURE_EXTRA_DIRECTIVES: |
|
||||
cors_origins *
|
||||
# Comment the following line to disable the development mode
|
||||
command: /usr/bin/caddy run --config /etc/caddy/dev.Caddyfile
|
||||
# ports:
|
||||
# - "3000:3000"
|
||||
volumes:
|
||||
- mercure_data:/data
|
||||
- mercure_config:/config
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
volumes:
|
||||
database_data:
|
||||
ogpublic:
|
||||
mercure_data:
|
||||
mercure_config:
|
||||
|
||||
|
||||
networks:
|
||||
ogcore-network:
|
|
@ -1,75 +0,0 @@
|
|||
services:
|
||||
database:
|
||||
container_name: ogcore-database
|
||||
image: mariadb:10.11
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_DATABASE: ogcore
|
||||
MYSQL_PASSWORD: root
|
||||
MYSQL_USER: admin
|
||||
ports:
|
||||
- 3336:3306
|
||||
volumes:
|
||||
- database_data:/var/lib/mysql
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
nginx:
|
||||
container_name: ogcore-nginx
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/Dockerfile-nginx
|
||||
depends_on:
|
||||
- php
|
||||
ports:
|
||||
- 8080:80
|
||||
- 8443:443 # Añadir el puerto 443
|
||||
volumes:
|
||||
- ./public:/var/www/html/public:cached
|
||||
- ./docker/certs:/etc/nginx/certs
|
||||
- ./certs:/opt/opengnsys/ogcore/etc/certificates
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
php:
|
||||
container_name: ogcore-php
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/Dockerfile-php
|
||||
volumes:
|
||||
- ./:/var/www/html
|
||||
- ./certs:/opt/opengnsys/ogcore/etc/certificates
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
|
||||
mercure:
|
||||
image: dunglas/mercure
|
||||
restart: unless-stopped
|
||||
container_name: ogcore-mercure
|
||||
environment:
|
||||
# Uncomment the following line to disable HTTPS,
|
||||
SERVER_NAME: ':3000'
|
||||
MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
|
||||
MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
|
||||
MERCURE_EXTRA_DIRECTIVES: |
|
||||
cors_origins *
|
||||
# Comment the following line to disable the development mode
|
||||
command: /usr/bin/caddy run --config /etc/caddy/dev.Caddyfile
|
||||
ports:
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
- mercure_data:/data
|
||||
- mercure_config:/config
|
||||
networks:
|
||||
- ogcore-network
|
||||
|
||||
volumes:
|
||||
mercure_data:
|
||||
mercure_config:
|
||||
database_data:
|
||||
|
||||
networks:
|
||||
ogcore-network:
|
|
@ -1,24 +0,0 @@
|
|||
FROM php:8.3-fpm-alpine
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||
|
||||
# Install PHP extensions
|
||||
RUN docker-php-ext-install pdo mysqli pdo_mysql opcache
|
||||
|
||||
# Install Zip and more extension
|
||||
RUN apk add --no-cache bash libzip-dev zip unzip
|
||||
RUN docker-php-ext-install zip
|
||||
|
||||
# Install Composer
|
||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||
RUN composer self-update
|
||||
|
||||
# Install bash
|
||||
RUN apk add --no-cache bash git jq moreutils openssh rsync yq
|
||||
|
||||
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
||||
RUN chmod +x /usr/local/bin/install-php-extensions
|
||||
RUN install-php-extensions sockets
|
||||
|
||||
|
||||
COPY . /var/www/html
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
FROM nginx:latest
|
||||
|
||||
# Copiar el archivo de configuración de Nginx
|
||||
COPY ./docker/default.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Copiar los certificados SSL
|
||||
COPY ./docker/certs /etc/nginx/certs
|
|
@ -1,32 +0,0 @@
|
|||
FROM php:8.3-fpm-alpine
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||
|
||||
# Install PHP extensions
|
||||
RUN docker-php-ext-install pdo mysqli pdo_mysql opcache
|
||||
|
||||
# Install Zip and more extension
|
||||
RUN apk add --no-cache bash libzip-dev zip unzip
|
||||
RUN docker-php-ext-install zip
|
||||
|
||||
# Install Composer
|
||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||
RUN composer self-update
|
||||
|
||||
# Install bash
|
||||
RUN apk add --no-cache bash git jq moreutils openssh rsync yq
|
||||
|
||||
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
||||
RUN chmod +x /usr/local/bin/install-php-extensions
|
||||
RUN install-php-extensions sockets
|
||||
|
||||
# Generate SSH keys
|
||||
RUN ssh-keygen -t rsa -b 4096 -f /root/.ssh/id_rsa -N ""
|
||||
|
||||
# Optionally, copy public key to a specific location
|
||||
RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
|
||||
|
||||
# Expose any ports you may need
|
||||
EXPOSE 9000
|
||||
|
||||
# Command to run the PHP-FPM server
|
||||
CMD ["php-fpm"]
|
|
@ -1,28 +0,0 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIExTCCAq2gAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwSTELMAkGA1UEBhMCRVMx
|
||||
DzANBgNVBAgMBk1hZHJpZDEPMA0GA1UEBwwGTWFkcmlkMRgwFgYDVQQDDA9jYS51
|
||||
ZHMtdGVzdC5uZXQwHhcNMjQxMDA5MTQyODM3WhcNMjUxMDE5MTQyODM3WjBNMQsw
|
||||
CQYDVQQGEwJFUzEPMA0GA1UECAwGTWFkcmlkMQ8wDQYDVQQHDAZNYWRyaWQxHDAa
|
||||
BgNVBAMME29nY29yZS51ZHMtdGVzdC5uZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
||||
DwAwggEKAoIBAQDaT0uiHcCwxUtRiJAhMI1VBuUohIzQgBQ1pwOa8gfwJZGn+p5p
|
||||
T6qVrDb2RGWL8kJyR0tohQ6BxwVirAYTs0Az2EzZrh26gAlMhEsmQdWjQuWeHiRk
|
||||
tp+6ELfATSd97LwMe5KgJl80JYQDVHxryPxPTgbxB3tjmp8ErcrhQ58Omq2D6bnd
|
||||
xrKCbgfSoZP+ZyqKY3sNbHIX3632zSwHnu8on2ltZiYbbs1I29onysM4Zj2eAjZP
|
||||
ot3pTzt4uIYV+i0fyY3+STvBda10bgUsoFWAVcdG310oVsginkFbpnhZPPueUklw
|
||||
YtsXPq/yPJwn/tIcbEZ7TO7Pvtlh9RqTne9VAgMBAAGjgbIwga8wHgYDVR0RBBcw
|
||||
FYITb2djb3JlLnVkcy10ZXN0Lm5ldDAdBgNVHQ4EFgQUS+4OUtWxVvTVc1odUFUO
|
||||
UR3dURswbgYDVR0jBGcwZaFNpEswSTELMAkGA1UEBhMCRVMxDzANBgNVBAgMBk1h
|
||||
ZHJpZDEPMA0GA1UEBwwGTWFkcmlkMRgwFgYDVQQDDA9jYS51ZHMtdGVzdC5uZXSC
|
||||
FECd/NYwzaJTHtQ002YnOD3ZKLs0MA0GCSqGSIb3DQEBCwUAA4ICAQAeHA6/lJIv
|
||||
hQTySWOOLhnuWcej1DmQhbDzyrylLUfJe86qV7QCLpasXabDpOQzTK5yBkjCWtV2
|
||||
YiXNx6eT1iGbs70+5fITjj2vhAT9bxi4WH49xU4q+vfxlfxTkA4/ZXTEEmb+B91Q
|
||||
BVEF/7f13UiGV2yu4xbDptr98v/55OeycBgwLdNN7uw7EP6WK8ryLxlxvF+nqt1n
|
||||
YHof/QqRJze3FKHlGhGvx1I3SEE+VwWW5hVbde3HkwlORf5ABr4fxbvudL+kwtMi
|
||||
HmYV2oYvkYQZK0Vfcua0WAn9vKVBgnF6tXdqJTPG7p91dVe7bIbUdFgNBVBdh/md
|
||||
SdESFWCghPQ6WYoB7/1WfPKVQ/0IBe7l8Yx+piNNl4WW2M7lOGf8mbBWUHNAgJjD
|
||||
2u3440PfsPJgBniUuV4ILNhRNGbAjdk86oU8w2Vg6WR7xsQIBcukrHEm5wEW2RkW
|
||||
bZMclPyUOzHh1l4dQZTyOp2LxYNqtfYXQuPDT6tvZV5hLuLMqQfdLVxuoi3KOgo2
|
||||
GfaolX2sW/sA4fx1FAvEvEq7zEvchpocL3EYa/aUNySxMrgjKMc3AtyLYF48D8M7
|
||||
1LZMj61TaPWUUalM/u32fEHhqOXJ1o0VX3gCY7c+hKhGFee8Aiyk/hrB2ED/Q/vR
|
||||
cssM+sHHNwSYI/L+bjEkJDQtVZEztcQODQ==
|
||||
-----END CERTIFICATE-----
|
|
@ -1,28 +0,0 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDaT0uiHcCwxUtR
|
||||
iJAhMI1VBuUohIzQgBQ1pwOa8gfwJZGn+p5pT6qVrDb2RGWL8kJyR0tohQ6BxwVi
|
||||
rAYTs0Az2EzZrh26gAlMhEsmQdWjQuWeHiRktp+6ELfATSd97LwMe5KgJl80JYQD
|
||||
VHxryPxPTgbxB3tjmp8ErcrhQ58Omq2D6bndxrKCbgfSoZP+ZyqKY3sNbHIX3632
|
||||
zSwHnu8on2ltZiYbbs1I29onysM4Zj2eAjZPot3pTzt4uIYV+i0fyY3+STvBda10
|
||||
bgUsoFWAVcdG310oVsginkFbpnhZPPueUklwYtsXPq/yPJwn/tIcbEZ7TO7Pvtlh
|
||||
9RqTne9VAgMBAAECggEADthSi9EbH8oiv4YaSu96xNvlrFYrHyh+d1GGmLw5lvZv
|
||||
C62qpP2iW3AtAp0PDK+qHgxED/TwUhne/2E0PpWzWXMtcqX45ow7VaUvWQgkB2iO
|
||||
paxmDCUxAl2NqTl15IW7GdwzUcmaMrkUW4ecuFWf9qKXLT+1f8XtZ0uMHrpS8BKr
|
||||
bDM5oeushD6/ES32ecBIG3eJafSMESUux1fq/frzHEajS0fkYqFxi2uLYJdPLXC/
|
||||
YdVan7sIxOU3gxRROFDYLJ1uaksvUMM31oIujuxngdLTrf/K61RJGBFMeu1UIfrO
|
||||
v6/9tqZgLIPTaC1nYMxjD+AtkwlY4C5vsPa8+jKtcQKBgQDz16/d/YSPxoa1QyPD
|
||||
Ae/z+l13DGdk2+PdDavoyb1j11qwl4pgSGIA2uR3XeXg/dtmZaFk+KXUC+mHPsiM
|
||||
TvxjoqjzP8LMXPJkRRzzTAwMjYzI8/ZAmCW+4q4Sxv3Dw4UQd0tCYi9ruMtXhnqp
|
||||
agMKT2CNAikmbWdIu4S5uR6GDQKBgQDlMbfB5yJQsanW29VEJkUv+JBKZvxC7v59
|
||||
2EmZEbW1hqYHR7PA2qvSnNXvsQKRIcJtmrzf3koDhXN3mw59deBgT5FsUQCGxoK8
|
||||
ALMYMKiYcCNLp1rpxoz63lFnSzpD+f2dLBj0sac5Ufw17O6Fjs5+ZqND32UaEXFW
|
||||
CLrjBpPEaQKBgAjXIQEjV9L+l5Oqw3kmcNSflxPh1z3I2xIAlOLzrXIZNKiCVfn3
|
||||
pdXyGaZaOSNXEMU9mgRXH2v4opbMp+iuVGgoVYe8IAvYstD/0HThpO4vk5MVhTAC
|
||||
VBv/i+ASZtDaHdDjAk99z8pQAM9DiN7rgQC2sAFsuqEyBjSU19MD6x9hAoGAOSW1
|
||||
cObF2qMB+y3jNlPoinaK29Jj8fiPgids6nrM+Q8y1LvfKSYdE63BdjuHrVJinVuo
|
||||
3pUZlVkwGlGSQlwi70DHvN9Rp0lWDbSK82wmjaPgWRvIgmPcgSzv1Taft5Vc1FTL
|
||||
gC/Px24W2gdSzgB2onPLH8BTADX7MX2Jw9O/AokCgYBK7kvg1/cmikj176JFn1AM
|
||||
MBCwVKS1fvUyh0bctadVyM+RA22cVvLB5PEbPB+LbyK1PnHB3jivEa954bOuYo39
|
||||
frRrRYZW4iP+oTqx8arcioaMW2K5urFtsqNrYVgkE5KDBAqFGSAyuKTAjftMxGqy
|
||||
tORwgZ9jzgbBC0V8td6fqg==
|
||||
-----END PRIVATE KEY-----
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue