-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenapi.tpm.yaml
More file actions
160 lines (154 loc) · 4 KB
/
openapi.tpm.yaml
File metadata and controls
160 lines (154 loc) · 4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
openapi: 3.0.3
info:
title: Sovereign Map TPM Metrics Exporter API
version: 1.0.0
description: API exposed by tpm_metrics_exporter.py
servers:
- url: http://localhost:9091
description: Local TPM metrics exporter
tags:
- name: TPM
paths:
/health:
get:
tags: [TPM]
summary: Health check
operationId: getTpmHealth
responses:
'200':
description: Exporter health
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: healthy
node_id:
type: integer
certificates_loaded:
type: integer
/metrics:
get:
tags: [TPM]
summary: Prometheus metrics endpoint
operationId: getTpmMetrics
responses:
'200':
description: Prometheus exposition text
content:
text/plain:
schema:
type: string
/metrics/summary:
get:
tags: [TPM]
summary: Get trust metrics summary
operationId: getTpmMetricsSummary
responses:
'200':
description: Summary payload
content:
application/json:
schema:
type: object
additionalProperties: true
/event/attestation:
post:
tags: [TPM]
summary: Ingest attestation event
operationId: postTpmAttestationEvent
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
node_id:
type: integer
success:
type: boolean
latency_ms:
type: number
responses:
'200':
description: Event ingested
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: ok
event:
type: string
example: attestation
node_id:
type: integer
'400':
description: Invalid payload
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: error
error:
type: string
/event/message:
post:
tags: [TPM]
summary: Ingest message trust event
operationId: postTpmMessageEvent
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
from_node_id:
type: integer
to_node_id:
type: integer
success:
type: boolean
signed:
type: boolean
latency_ms:
type: number
responses:
'200':
description: Event ingested
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: ok
event:
type: string
example: message
from_node_id:
type: integer
to_node_id:
type: integer
'400':
description: Invalid payload
content:
application/json:
schema:
type: object
properties:
status:
type: string
example: error
error:
type: string