refs #386. Crear documentacion para despliegue de entorno de desarrollo
parent
48358fe008
commit
4e99ad241d
|
@ -0,0 +1,168 @@
|
|||
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,346 @@
|
|||
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
|
57
README.md
57
README.md
|
@ -1,56 +1 @@
|
|||
# OgCore Project
|
||||
|
||||
## 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.
|
||||
|
||||
## 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-1
|
||||
- ogcore-php-1
|
||||
- ogcore-database-1
|
||||
|
||||
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/api/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 symfony console doctrine:migrations:migrate --no-interaction
|
||||
```
|
||||
|
||||
```sh
|
||||
docker exec ogcore-php symfony console doctrine:fixtures:load --no-interaction
|
||||
```
|
||||
|
||||
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.
|
Loading…
Reference in New Issue