Saltar al contenido

Sistema y estado ​

Actividad (liveness), disponibilidad (readiness), métricas, el documento OpenAPI y las capacidades del servidor.

Operaciones de este grupo con su regla de acceso, su regla de reintento, sus parámetros y sus respuestas. Cada solicitud lleva una clave: Authorization: Bearer <clave> (consulte «Autenticación»).

Operaciones ​

Comprobar la preparación detallada ​

GET HEAD /health/ready

Acceso: Cualquier clave o sesión válida · Reintento: Se puede repetir (lectura)

Responde ready cuando la base de datos y el almacenamiento responden, e indica el role de este nodo (api o reader), si acepta escrituras ahora (writable es falso en una puerta de enlace de lectura y mientras el disco conserva su reserva de espacio libre), la ranura de descarga compartida de una puerta de enlace de lectura y los contadores agregados de admisión y de ancho de banda de las subidas y las descargas. Mientras el servidor termina las solicitudes en curso antes de detenerse o una dependencia no está disponible, responde 503 con Retry-After. No cuenta para el límite de solicitudes; para un balanceador de carga sin clave use getReadinessStatus.

Respuesta 200

CampoTipoObligatorioReglas
rolestringsíuno de api, reader
sharedDownloadsobjectsípuede ser null
sharedDownloads.slotintegersícomo mínimo 0
sharedDownloads.slotsintegersícomo mínimo 0
sharedDownloads.activebooleansí—
sharedDownloads.leaseSecondsintegersícomo mínimo 0
statusstringsíuno de ready
writablebooleansí—
replicationobjectnopuede ser null
replication.copiesintegersí0–16
replication.requiredintegersí1–16
replication.singleCopyUntilstring (date-time)sípuede ser null
replication.nodestringnohasta 63 caracteres
replication.profilestringnouno de ha-2, ha-3
replication.peersarray de objectnohasta 16 elementos
replication.peers[].namestringsíhasta 63 caracteres
replication.peers[].connectedbooleansí—
replication.peers[].diskstringsíhasta 24 caracteres
replication.peers[].completebooleansí—
replication.peers[].witnessbooleansí—
transfersobjectsí—
transfers.uploadsobjectsí—
transfers.uploads.admissionobjectsí—
transfers.uploads.bandwidthobjectsí—
transfers.uploads.sessionsobjectno—
transfers.downloadsobjectsí—
transfers.downloads.admissionobjectsí—
transfers.downloads.bandwidthobjectsí—
transfers.downloads.sessionsobjectno—

Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507

Ejemplo

bash
curl -X GET "$ARKVORY_URL/health/ready" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Obtener las capacidades y los límites del servidor ​

GET HEAD /api/v1/capabilities

Acceso: Cualquier clave o sesión válida · Reintento: Se puede repetir (lectura)

Devuelve las versiones de la API, el rol de la puerta de enlace, los indicadores de funcionalidades (por ejemplo selfRegistration o mirrorFeed) y los límites a los que se adapta un cliente: el objeto más grande (maxObjectBytes, una cadena decimal), el segmento multiparte más pequeño y el más grande, el mayor número de partes y el mayor tamaño de página. Léalo una vez al iniciar un cliente; no enumera recursos.

Respuesta 200

CampoTipoObligatorioReglas
apiVersionsarray de stringsí—
gatewayRolestringsíuno de api, reader
featuresmapa de booleansí—
limitsobjectsí—
limits.maxObjectBytesstringnoun número entero en dígitos decimales, enviado como cadena
limits.partBytesintegernoSegmento multiparte más pequeño.
limits.maxPartBytesintegerno—
limits.maxPartsintegerno—
limits.maxPageSizeintegerno—

Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507

Ejemplo

bash
curl -X GET "$ARKVORY_URL/api/v1/capabilities" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Comprobar la preparación para un balanceador de carga ​

GET HEAD /health/status

Acceso: Cualquiera, sin clave · Reintento: Se puede repetir (lectura)

No requiere clave y no devuelve detalles: 200 con {"status":"ready"}, o 503 con unavailable o draining y Retry-After. La comprobación de dependencias es compartida y se guarda en caché durante un segundo, de modo que los sondeos frecuentes no cargan la base de datos, y el sondeo no cuenta para el límite de solicitudes.

Respuesta 200

CampoTipoObligatorioReglas
statusstringsíuno de ready, unavailable, draining

Respuestas: 200, 400, 403, 503

Ejemplo

bash
curl -X GET "$ARKVORY_URL/health/status"

Comprobar que el proceso está activo ​

GET HEAD /health/live

Acceso: Cualquiera, sin clave · Reintento: Se puede repetir (lectura)

Devuelve 200 con {"status":"ok"} mientras el proceso responde por HTTP. No comprueba ninguna dependencia: úselo para decidir un reinicio y getReadinessStatus para decidir si recibe tráfico.

Respuesta 200

CampoTipoObligatorioReglas
statusstringsíuno de ok

Respuestas: 200, 400, 403, 503

Ejemplo

bash
curl -X GET "$ARKVORY_URL/health/live"

Obtener el documento OpenAPI ​

GET HEAD /api/v1/openapi.json

Acceso: Cualquier clave o sesión válida · Reintento: Se puede repetir (lectura)

Devuelve el documento OpenAPI 3.0 de este despliegue, con las extensiones x-arkvory-* que describen las reglas de acceso, de reintento y de puerta de enlace de cada operación. surface (discovery, identity, catalog, transfers, administration u operations) devuelve solo esa área; un parámetro de consulta desconocido o repetido produce un 400. El documento es el mismo para todos los solicitantes y no concede nada: para saber qué puede invocar esta credencial, use listVisibleOperations.

Parámetros

NombreUbicaciónTipoObligatorioReglas
surfaceconsultastringnouno de discovery, identity, catalog, transfers, administration, operations; Documentation view only; not filtered by caller permissions.

Respuesta 200

CampoTipoObligatorioReglas
openapistringsíuno de 3.0.3
infoobjectsí—
pathsobjectsí—

Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507

Ejemplo

bash
curl -X GET "$ARKVORY_URL/api/v1/openapi.json" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Obtener las métricas de Prometheus ​

GET HEAD /health/metrics

Acceso: Cualquier clave o sesión válida · Reintento: Se puede repetir (lectura)

Devuelve las métricas del proceso en el formato de texto de Prometheus (text/plain; version=0.0.4) para un recolector. Los contadores y los histogramas pertenecen a este proceso y empiezan de cero tras un reinicio (véase arkvory_process_start_time_seconds); las etiquetas se limitan a la plantilla de ruta, el método, la clase de estado y la dirección de la transferencia, y nunca nombran un artefacto, una clave ni una cuenta. La lectura de las métricas no cuenta para el límite de solicitudes.

Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507

Ejemplo

bash
curl -X GET "$ARKVORY_URL/health/metrics" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -o file

Listar las operaciones que esta credencial puede invocar ​

GET HEAD /api/v1/operations

Acceso: Cualquier clave o sesión válida · Reintento: Se puede repetir (lectura)

Enumera las operaciones de esta puerta de enlace que la credencial puede invocar, ordenadas por operationId, cada una con su superficie, su regla de reintento, las acciones requeridas y las conditions que solo se comprueban al invocar (como resource-state o upload-owner). repository añade las operaciones de ese repositorio (un repositorio desconocido o ajeno produce un 404) y surface limita la lista a un área; las páginas contienen limit elementos (1–100, 50 por defecto); continúe pasando next como after. La respuesta es orientativa: construya menús a partir de ella, pero cada solicitud real se autoriza de nuevo, y una puerta de enlace de lectura no enumera métodos que modifiquen datos.

Parámetros

NombreUbicaciónTipoObligatorioReglas
repositoryconsultastringnocoincide con ^[a-z0-9][a-z0-9_-]{0,63}$
surfaceconsultastringnouno de discovery, identity, catalog, transfers, administration, operations
afterconsultastringnocoincide con ^[A-Za-z][A-Za-z0-9]{0,95}$
limitconsultaintegerno1–100; predeterminado: 50

Respuesta 200

CampoTipoObligatorioReglas
apiVersionstringsíuno de v1
documentVersionstringsícoincide con ^\d+\.\d+\.\d+$
gatewayRolestringsíuno de api, reader
repositorystringsícoincide con ^[a-z0-9][a-z0-9_-]{0,63}$; puede ser null
advisorybooleansíuno de true
itemsarray de objectsíhasta 100 elementos
items[].operationIdstringsícoincide con ^[A-Za-z][A-Za-z0-9]{0,95}$
items[].methodstringsíuno de get, head, post, put, patch, delete
items[].pathstringsícoincide con ^/; hasta 512 caracteres
items[].summarystringsíhasta 1024 caracteres
items[].surfacestringsíuno de discovery, identity, catalog, transfers, administration, operations
items[].visibilitystringsíuno de public, authenticated, self, repository, owned-resource, delegated, bootstrap, administrator
items[].retrystringsíuno de read, never-automatic, idempotent, idempotency-key, compare-and-swap, reconcile-upload, reconcile-job
items[].requiredActionsarray de stringsíhasta 33 elementos; sin elementos repetidos; cada elemento: uno de repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read, service-account.read, service-account.manage, policy.read, policy.manage, credential.read, credential.manage, service-audit.read, backup.read, backup.manage
items[].conditionsarray de stringsíhasta 6 elementos; sin elementos repetidos; cada elemento: uno de resource-state, upload-owner, job-owner, reference-owner, delegation-target-and-ceiling, own-key
nextstringsícoincide con ^[A-Za-z][A-Za-z0-9]{0,95}$; puede ser null

Respuestas: 200, 400, 401, 403, 404, 409, 422, 503, 507

Ejemplo

bash
curl -X GET "$ARKVORY_URL/api/v1/operations" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Arkvory · ProAnimaStudio