mirror of
https://github.com/NLnetLabs/krill.git
synced 2026-09-22 01:14:54 +02:00
Update openapi spec for stale publishers (#177)
This commit is contained in:
+126
-90
@@ -76,53 +76,53 @@ info:
|
||||
backgroundColor: #FFFFFF
|
||||
|
||||
servers:
|
||||
- url: https://{domain}:{port}/api/v1
|
||||
description: Krill server API URL.
|
||||
variables:
|
||||
domain:
|
||||
default: localhost
|
||||
port:
|
||||
enum:
|
||||
- '443'
|
||||
- '3000'
|
||||
default: '3000'
|
||||
- url: https://{domain}:{port}/api/v1
|
||||
description: Krill server API URL.
|
||||
variables:
|
||||
domain:
|
||||
default: localhost
|
||||
port:
|
||||
enum:
|
||||
- '443'
|
||||
- '3000'
|
||||
default: '3000'
|
||||
|
||||
tags:
|
||||
- name: "Publishers"
|
||||
- name: "Certificate Authorities"
|
||||
- name: "Key Rolls"
|
||||
description: |
|
||||
Krill CAs can have 0 or more 'Resource Classes' under each of its (0 or
|
||||
more) parents. Krill CAs will talk to all of their parents regularly and
|
||||
ask them about their resource entitlements. Typically a CA will have one
|
||||
parent and receive all their resources in a single resource class, but it's
|
||||
also possible that resources are split into multiple resource classes.
|
||||
Krill CAs can also have multiple parents and have resource classes under
|
||||
each of them.
|
||||
- name: "Publishers"
|
||||
- name: "Certificate Authorities"
|
||||
- name: "Key Rolls"
|
||||
description: |
|
||||
Krill CAs can have 0 or more 'Resource Classes' under each of its (0 or
|
||||
more) parents. Krill CAs will talk to all of their parents regularly and
|
||||
ask them about their resource entitlements. Typically a CA will have one
|
||||
parent and receive all their resources in a single resource class, but it's
|
||||
also possible that resources are split into multiple resource classes.
|
||||
Krill CAs can also have multiple parents and have resource classes under
|
||||
each of them.
|
||||
|
||||
When a krill CA first gets a resource class it will:
|
||||
- create a pending key pair
|
||||
- request a certificate
|
||||
When a krill CA first gets a resource class it will:
|
||||
- create a pending key pair
|
||||
- request a certificate
|
||||
|
||||
The 'key state' of this resource class is then shown as type "Pending".
|
||||
The 'key state' of this resource class is then shown as type "Pending".
|
||||
|
||||
When the CA receives a certificate for this new pair it will be promoted to
|
||||
"Active", and publishing of objects will start. I.e. the CA will start
|
||||
publishing a manifest and CRL, and any configured ROAs for which the
|
||||
prefixes are held by this class.
|
||||
When the CA receives a certificate for this new pair it will be promoted to
|
||||
"Active", and publishing of objects will start. I.e. the CA will start
|
||||
publishing a manifest and CRL, and any configured ROAs for which the
|
||||
prefixes are held by this class.
|
||||
|
||||
Resource classes in the state 'Active' can be rolled. The following phases
|
||||
exist in a key roll:
|
||||
- RollPending
|
||||
- RollNew
|
||||
- RollOld
|
||||
- name: "Route Authorizations"
|
||||
description: |
|
||||
Managing Route Authorizations (ROA configs)
|
||||
- name: "Other"
|
||||
Resource classes in the state 'Active' can be rolled. The following phases
|
||||
exist in a key roll:
|
||||
- RollPending
|
||||
- RollNew
|
||||
- RollOld
|
||||
- name: "Route Authorizations"
|
||||
description: |
|
||||
Managing Route Authorizations (ROA configs)
|
||||
- name: "Other"
|
||||
|
||||
security:
|
||||
- KRILL_AUTH_TOKEN: []
|
||||
security:
|
||||
- KRILL_AUTH_TOKEN: []
|
||||
|
||||
paths:
|
||||
/authorized:
|
||||
@@ -241,6 +241,25 @@ paths:
|
||||
'500':
|
||||
$ref: '#/components/responses/GeneralPublicationServerError'
|
||||
|
||||
/publishers/stale/{seconds}:
|
||||
get:
|
||||
operationId: list_publishers_stale_seconds
|
||||
tags:
|
||||
- "Publishers"
|
||||
summary: List all publishers which have not published for X seconds.
|
||||
description: |
|
||||
Lists all publishers which have not published for the given time (seconds). Typically one
|
||||
might expect updates from Krill publishers every 16 hours.
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/seconds'
|
||||
responses:
|
||||
'200':
|
||||
$ref: '#/components/responses/StalePublishers'
|
||||
'403':
|
||||
$ref: '#/components/responses/Forbidden'
|
||||
'500':
|
||||
$ref: '#/components/responses/GeneralPublicationServerError'
|
||||
|
||||
/cas:
|
||||
get:
|
||||
operationId: list_cas
|
||||
@@ -1001,9 +1020,9 @@ externalDocs:
|
||||
components:
|
||||
securitySchemes:
|
||||
KRILL_AUTH_TOKEN:
|
||||
type: http
|
||||
scheme: bearer
|
||||
bearerFormat: KRILL_AUTH_TOKEN
|
||||
type: http
|
||||
scheme: bearer
|
||||
bearerFormat: KRILL_AUTH_TOKEN
|
||||
|
||||
parameters:
|
||||
ca_handle:
|
||||
@@ -1037,6 +1056,12 @@ components:
|
||||
type: string
|
||||
enum: ['json','xml']
|
||||
required: true
|
||||
seconds:
|
||||
in: path
|
||||
name: seconds
|
||||
schema:
|
||||
type: integer
|
||||
required: true
|
||||
|
||||
schemas:
|
||||
# Types ordered fundamental to complex
|
||||
@@ -1072,7 +1097,7 @@ components:
|
||||
base_uri:
|
||||
type: string
|
||||
format: uri
|
||||
rpki_notify:
|
||||
rpki_notify:
|
||||
type: string
|
||||
format: uri
|
||||
Resources:
|
||||
@@ -1124,38 +1149,38 @@ components:
|
||||
$ref: '#/components/schemas/IdCert'
|
||||
rfc6492:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/rfcCommon'
|
||||
- type: object
|
||||
properties:
|
||||
parent_handle:
|
||||
$ref: '#/components/schemas/Handle'
|
||||
child_handle:
|
||||
$ref: '#/components/schemas/Handle'
|
||||
service_uri:
|
||||
$ref: '#/components/schemas/ServiceUri'
|
||||
- $ref: '#/components/schemas/rfcCommon'
|
||||
- type: object
|
||||
properties:
|
||||
parent_handle:
|
||||
$ref: '#/components/schemas/Handle'
|
||||
child_handle:
|
||||
$ref: '#/components/schemas/Handle'
|
||||
service_uri:
|
||||
$ref: '#/components/schemas/ServiceUri'
|
||||
rfc8181Base:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/rfcCommon'
|
||||
- type: object
|
||||
properties:
|
||||
publisher_handle:
|
||||
$ref: '#/components/schemas/Handle'
|
||||
- $ref: '#/components/schemas/rfcCommon'
|
||||
- type: object
|
||||
properties:
|
||||
publisher_handle:
|
||||
$ref: '#/components/schemas/Handle'
|
||||
rfc8181:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/rfc8181Base'
|
||||
- type: object
|
||||
properties:
|
||||
service_uri:
|
||||
$ref: '#/components/schemas/ServiceUri'
|
||||
repo_info:
|
||||
$ref: '#/components/schemas/RepoInfo'
|
||||
- $ref: '#/components/schemas/rfc8181Base'
|
||||
- type: object
|
||||
properties:
|
||||
service_uri:
|
||||
$ref: '#/components/schemas/ServiceUri'
|
||||
repo_info:
|
||||
$ref: '#/components/schemas/RepoInfo'
|
||||
rfc8183:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/rfcCommon'
|
||||
- type: object
|
||||
properties:
|
||||
child_handle:
|
||||
$ref: '#/components/schemas/Handle'
|
||||
- $ref: '#/components/schemas/rfcCommon'
|
||||
- type: object
|
||||
properties:
|
||||
child_handle:
|
||||
$ref: '#/components/schemas/Handle'
|
||||
Rfc6492OrEmbedded:
|
||||
oneOf:
|
||||
- $ref: '#/components/schemas/embedded'
|
||||
@@ -1336,8 +1361,8 @@ components:
|
||||
properties:
|
||||
handle:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Handle'
|
||||
- description: The handle attribute uniquely identifies the new Certificate Authority within this Krill instance.
|
||||
- $ref: '#/components/schemas/Handle'
|
||||
- description: The handle attribute uniquely identifies the new Certificate Authority within this Krill instance.
|
||||
AddCAChildRequest:
|
||||
type: object
|
||||
required:
|
||||
@@ -1347,8 +1372,8 @@ components:
|
||||
properties:
|
||||
handle:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Handle'
|
||||
- description: The handle attribute uniquely identifies the new Certificate Authority within this Krill instance.
|
||||
- $ref: '#/components/schemas/Handle'
|
||||
- description: The handle attribute uniquely identifies the new Certificate Authority within this Krill instance.
|
||||
resources:
|
||||
$ref: '#/components/schemas/Resources'
|
||||
auth:
|
||||
@@ -1374,8 +1399,8 @@ components:
|
||||
properties:
|
||||
handle:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Handle'
|
||||
- description: The local handle by which your ca refers to this parent.
|
||||
- $ref: '#/components/schemas/Handle'
|
||||
- description: The local handle by which your ca refers to this parent.
|
||||
contact:
|
||||
$ref: '#/components/schemas/Rfc6492OrEmbedded'
|
||||
AddPublisherRequest:
|
||||
@@ -1829,9 +1854,9 @@ components:
|
||||
- handle: 'ta'
|
||||
kind: 'ta'
|
||||
resources:
|
||||
asn: 'AS1-AS10'
|
||||
v4: '10.0.0.0/8'
|
||||
v6: '::/128'
|
||||
asn: 'AS1-AS10'
|
||||
v4: '10.0.0.0/8'
|
||||
v6: '::/128'
|
||||
resource_classes:
|
||||
'0':
|
||||
name_space: '0'
|
||||
@@ -1873,8 +1898,8 @@ components:
|
||||
properties:
|
||||
handle:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Handle'
|
||||
- description: The RFC-8183 handle that uniquely identifies the CA in this Krill instance.
|
||||
- $ref: '#/components/schemas/Handle'
|
||||
- description: The RFC-8183 handle that uniquely identifies the CA in this Krill instance.
|
||||
GetChildCA:
|
||||
description: Success.
|
||||
content:
|
||||
@@ -1959,6 +1984,17 @@ components:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/rfc8181'
|
||||
StalePublishers:
|
||||
description: Success.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
example:
|
||||
- 'a'
|
||||
- 'b'
|
||||
GetRepositoryForCA:
|
||||
description: Success.
|
||||
content:
|
||||
@@ -1968,14 +2004,14 @@ components:
|
||||
properties:
|
||||
contact:
|
||||
oneOf:
|
||||
- type: object
|
||||
properties:
|
||||
embedded:
|
||||
$ref: '#/components/schemas/RepoInfo'
|
||||
- type: object
|
||||
properties:
|
||||
rfc8181:
|
||||
$ref: '#/components/schemas/rfc8181'
|
||||
- type: object
|
||||
properties:
|
||||
embedded:
|
||||
$ref: '#/components/schemas/RepoInfo'
|
||||
- type: object
|
||||
properties:
|
||||
rfc8181:
|
||||
$ref: '#/components/schemas/rfc8181'
|
||||
examples:
|
||||
embedded:
|
||||
value:
|
||||
@@ -2066,4 +2102,4 @@ components:
|
||||
id_cert: '<base64>'
|
||||
parent_handle: 'ta'
|
||||
child_handle: 'ca'
|
||||
service_uri: 'https://localhost:3000/rfc6492/ta'
|
||||
service_uri: 'https://localhost:3000/rfc6492/ta'
|
||||
Reference in New Issue
Block a user