Go to file
Luis Gerardo Romero Garcia 09fb6ed078 refs #208 First draft of Ogboot API documentation 2024-02-19 18:03:20 +01:00
README.md refs #208 First draft of Ogboot API documentation 2024-02-19 18:03:20 +01:00

README.md

Ogboot

Ogboot es una implementación independiente que facilita la funcionalidad de arranque remoto (PXE) en entornos gestionados por Opengnsys. Este componente permite la carga remota de sistemas operativos y otros archivos esenciales durante el proceso de arranque de las estaciones de trabajo.

API de Ogboot

La API de Ogboot proporciona una interfaz para facilitar el proceso de inicialización remota de sistemas operativos en entornos administrados por OpenGnsys. Ogboot permite la gestión eficiente de los archivos de arranque tanto de particiones locales como de sistemas operativos remotos.

El presente documento detalla los endpoints del API con sus respectivos parámetros de entrada así como las acciones que llevan a cabo

Configurar Modo de Cliente

Configura el modo de arranque PXE para un cliente específico.

URL: ogboot/clients/setclientmode Método HTTP: POST

Parámetros de entrada:

  • template: Nombre de la plantilla PXE.
  • scope: Nombre del cliente (nombre de ordenador o nombre de aula).
  • mode: Modo de configuración ("TEMP" para temporal o "PERM" para permanente).

Ejemplo de Solicitud:

curl -X POST -H "Authorization: $API_KEY" -d '{"template": "plantilla", "scope": "nombre_cliente", "mode": "PERM"}' http://example.com/ogboot/clients/setclientmode

Respuestas:

  • Código 200 OK: La configuración de modo de cliente se realizó exitosamente.
  • Código 400 Bad Request: La solicitud es incorrecta. La configuración de modo de cliente no se ha realizado correctamente.
  • Código 401 Unauthorized: La solicitud no está autorizada. Se requiere un token de autenticación válido.

Obtener Configuración de ogboot

Devuelve la configuración actual del ogboot.

URL: ogboot/config Método HTTP: GET

Ejemplo de Solicitud:

curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/config

Respuestas:

  • Código 200 OK: La configuración del ogboot se obtuvo exitosamente.
    • Contenido: Configuración del ogboot en formato JSON.
      {
        "config-file": "/opt/opengnsys/etc/ogliveinfo.json",
        "download-url": "https://opengnsys.es/trac/downloads",
        "download-dir": "/opt/opengnsys/lib",
        "install-dir": "/opt/opengnsys/tftpboot",
        "default-name": "ogLive",
        "min-release": "r20190601"
      }
      
  • Código 400 Bad Request: La solicitud es incorrecta. La configuración del ogboot no se ha obtenido correctamente.

Mostrar Información de Todos los Clientes ogLive Instalados

Muestra información en formato JSON sobre todos los clientes ogLive instalados.

URL: /clients/oglives/ Método HTTP: GET

Ejemplo de Solicitud:

curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/clients/oglives/

[
  {
    "distribution": "focal",
    "kernel": "5.11.0-22-generic",
    "architecture": "amd64",
    "revision": "r20210413",
    "directory": "ogLive-5.11.0-r20210413",
    "iso": "ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso"
  },
  {
    "distribution": "focal",
    "kernel": "5.13.0-27-beta",
    "architecture": "amd64",
    "revision": "r20210706",
    "directory": "ogLive-5.13.0-r20210706",
    "iso": "ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso"
  }
]

Respuestas:

  • Código 200 OK: La información sobre todos los clientes ogLive instalados se obtuvo exitosamente.
    • Contenido: Información sobre todos los clientes ogLive instalados en formato JSON.

Mostrar Información del Cliente ogLive Predeterminado

Muestra información en formato JSON sobre el cliente ogLive marcado como predeterminado.

URL: /clients/oglives/show-default Método HTTP: GET

Ejemplo de Solicitud:

curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/clients/oglives/show-default

{
  "distribution": "focal",
  "kernel": "5.11.0-22-generic",
  "architecture": "amd64",
  "revision": "r20210413",
  "directory": "ogLive-5.11.0-r20210413",
  "iso": "ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso"
}

Respuestas:

  • Código 200 OK: La información sobre el cliente ogLive predeterminado se obtuvo exitosamente.
    • Contenido: Información sobre el cliente ogLive predeterminado en formato JSON.

Mostrar Información de un Cliente ogLive Específico

Muestra información en formato JSON sobre un cliente ogLive instalado específico, identificado por su índice o directorio.

URL: /clients/oglives/show/{Index|Dir} Método HTTP: GET

Parámetros de entrada:

  • Index|Dir: Índice numérico o directorio del cliente ogLive.

Ejemplo de Solicitud:

curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/clients/oglives/show/0

{
  "distribution": "focal",
  "kernel": "5.13.0-27-beta",
  "architecture": "amd64",
  "revision": "r20210706",
  "directory": "ogLive-5.13.0-r20210706",
  "iso": "ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso"
}

Respuestas:

  • Código 200 OK: La información sobre el cliente ogLive específico se obtuvo exitosamente.
    • Contenido: Información sobre el cliente ogLive específico en formato JSON.

Buscar Índice o Directorio del Cliente ogLive Correspondiente

Muestra el ogLive correspondiente al proporcionar su índice o directorio URL: /clients/oglives/{Index} Método HTTP: GET

Parámetros de entrada:

  • Index|Dir: Índice numérico o directorio del cliente ogLive.

Ejemplo de Solicitud:

curl -X GET -H "Authorization: $API_KEY" http://example.com/openGnsys/clients/oglives/0

ogLive-5.11.0-r20210413

Respuestas:

  • Código 200 OK: La búsqueda del índice o directorio del cliente ogLive correspondiente se realizó exitosamente.
    • Contenido: Índice numérico o directorio del cliente ogLive correspondiente en formato JSON.

Mostrar Menú de Descarga de Imagen de ogLive

Muestra un menú para descargar una imagen de ogLive desde el sitio web de OpenGnsys.

URL: /images/download Método HTTP: GET

Ejemplo de Solicitud:

curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/images/download

Available downloads (+ = installed, * = full compatibility):
 1) (*) (+) ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso
 2) (*) (+) ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
 3) (*) ogLive-focal-5.8.0-50-generic-amd64-r20210413.992ebb9.iso
 4) (*) ogLive-bionic-5.4.0-40-generic-amd64-r20200629.85eceaf.iso
 5) (*) ogLive-bionic-5.0.0-27-generic-amd64-r20190830.7208cc9.iso
 6) (*) ogLive-bionic-5.0.0-15-generic-amd64-r20190605.527cd97.iso
 7) ogLive-xenial-4.8.0-39-generic-amd64-r5652.iso
 8) ogLive-xenial-4.13.0-17-generic-amd64-r5520.iso
 9) ogLive-precise-3.2.0-23-generic-r5159.iso
10) ogLive-xenial-4.8.0-39-generic-amd64-r5331.iso
11) ogLive-xenial-4.8.0-39-generic-amd64-r5225.iso
12) ogLive-precise-3.2.0-23-generic-r4820.iso
13) ogLive-xenial-4.4.0-34-generic-r4999.iso
14) ogLive-wily-4.2.0-35-generic-r4919.iso
15) ogLive-vivid-3.19.0-49-generic-r4795.iso
16) ogLive-precise-3.2.0-23-generic-r4311.iso
17) ogLive-precise-3.11.0-26-generic-r4413.iso
18) ogLive-raring-3.8.0-22-generic-r3836.iso
19) ogLive-quantal-3.7.6-030706-generic-r3619.iso
20) ogLive-precise-3.2.0-23-generic-r3257.iso
21) ogLive-precise-3.2.0-23-generic-pae-r3017.iso
22) ogLive-oneiric-3.0.0-14-generic-r2439.iso
23) ogLive-natty-2.6.38-8-generic-pae-r2303.iso
24) ogLive-natty-2.6.38-8-generic-pae-r2268.iso
#? 

Respuestas:

  • Código 200 OK: El menú de descarga de la imagen de ogLive se muestra exitosamente.
  • Código 400 Bad Request: La solicitud es incorrecta. El menú de descarga de la imagen de ogLive no se ha mostrado correctamente.

Descargar Imagen de ogLive Específica

Descarga una imagen de ogLive específica desde el sitio web de OpenGnsys.

URL: /images/download/{iso} Método HTTP: GET

Parámetros de entrada:

  • iso: Nombre de la imagen de ogLive a descargar.

Ejemplo de Solicitud:

curl -X GET -H "Authorization: $API_KEY" http://example.com/ogboot/images/download/ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso

Respuestas:

  • Código 200 OK: La imagen de ogLive se descargó exitosamente.
  • Código 400 Bad Request: La solicitud es incorrecta. La imagen de ogLive no se ha descargado correctamente.

Instalar Nuevo Cliente ogLive desde Imagen Descargada

Instala un nuevo cliente ogLive utilizando una imagen de ogLive previamente descargada.

URL: /images/install/{iso} Método HTTP: POST

Parámetros de entrada:

  • iso: Nombre de la imagen de ogLive a instalar.

Ejemplo de Solicitud:

curl -X POST -H "Authorization: $API_KEY" http://example.com/ogboot/images/install/ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso

Respuestas:

  • Código 200 OK: El cliente ogLive se instaló exitosamente desde la imagen descargada.
  • Código 400 Bad Request: La solicitud es incorrecta. El cliente ogLive no se ha instalado correctamente.

Desinstalar Cliente ogLive y Eliminar Imagen

Desinstala un cliente ogLive y elimina la imagen asociada.

URL: /images/uninstall/{iso} Método HTTP: POST

Parámetros de entrada:

  • iso: Nombre de la imagen de ogLive a desinstalar.

Ejemplo de Solicitud:

curl -X POST -H "Authorization: $API_KEY" http://example.com/ogboot/images/uninstall/ogLive-focal-5.13.0-27-beta-amd64-r20210706.5b4bf5f.iso

Respuestas:

  • Código 200 OK: El cliente ogLive se desinstaló y la imagen asociada se eliminó exitosamente.
  • Código 400 Bad Request: La solicitud es incorrecta. El cliente ogLive no se ha desinstalado correctamente.