feat!: probes generate their own keys and enroll with a join token; node and peer keys are separate [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful

This commit is contained in:
justme committed 2026-10-07 16:57:34 +08:00
1 parent 1ff847e45a
commit a9f562441f
51 files changed
+505 -749

No files matched your search

+5 -153
View File
@@ -493,7 +493,7 @@ export interface paths {
/** Join tokens */
get: operations["join_tokens_list"];
put?: never;
/** Create a join token; the plaintext is returned only once */
/** Create a join token for an agent or a probe (role); the plaintext is returned only once */
post: operations["join_tokens_create"];
delete?: never;
options?: never;
@@ -528,8 +528,7 @@ export interface paths {
/** All probes, with the agents each one is connected to */
get: operations["probes_list"];
put?: never;
/** Create a probe identity; the private key is returned only once */
post: operations["probes_create"];
post?: never;
delete?: never;
options?: never;
head?: never;
@@ -555,23 +554,6 @@ export interface paths {
patch: operations["probes_update"];
trace?: never;
};
"/api/admin/probes/{id}/rotate": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Give a probe a new key (same id): the old key stops working and its sessions are dropped; the new probe.json is returned only once */
post: operations["probes_rotate"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/admin/probes/{id}/revoke": {
parameters: {
query?: never;
@@ -1168,9 +1150,7 @@ export interface components {
max_uses: null | number | string;
/** Format: int32 */
expires_in_hours: null | number | string;
};
CreateProbeRequest: {
name: null | string;
role?: null | string;
};
CreateTaskRequest: {
scope: string;
@@ -1353,6 +1333,8 @@ export interface components {
revoked_at: unknown;
/** Format: date-time */
created_at: unknown;
/** @default agent */
role: string;
};
JsonElement: unknown;
KindDto: {
@@ -1644,18 +1626,6 @@ export interface components {
connections: components["schemas"]["ProbeConnectionDto"][];
ipv6?: null | components["schemas"]["Ipv6DiagnosticDto"];
};
ProbeIdentityDto: {
probe_id: string;
private_key: string;
server: string;
limits: components["schemas"]["ProbeLimitsDto"];
};
ProbeLimitsDto: {
/** Format: double */
max_test_mbps: number | string;
/** Format: int64 */
max_total_pps: number | string;
};
ProblemDto: {
type: string;
title: string;
@@ -3485,66 +3455,6 @@ export interface operations {
};
};
};
probes_create: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: {
content: {
"application/json": null | components["schemas"]["CreateProbeRequest"];
};
};
responses: {
/** @description Created */
201: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProbeIdentityDto"];
};
};
/** @description Bad Request */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDto"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDto"];
};
};
/** @description Forbidden */
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDto"];
};
};
/** @description Conflict */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDto"];
};
};
};
};
probes_get: {
parameters: {
query?: never;
@@ -3705,64 +3615,6 @@ export interface operations {
};
};
};
probes_rotate: {
parameters: {
query?: never;
header?: never;
path: {
id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
/** @description OK */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ProbeIdentityDto"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDto"];
};
};
/** @description Forbidden */
403: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDto"];
};
};
/** @description Not Found */
404: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDto"];
};
};
/** @description Conflict */
409: {
headers: {
[name: string]: unknown;
};
content: {
"application/problem+json": components["schemas"]["ProblemDto"];
};
};
};
};
probes_revoke: {
parameters: {
query?: never;
-1
View File
@@ -11,7 +11,6 @@ export type AgentIpv6Dto = Narrow<S['AgentIpv6Dto']>
export type ConnectedProbeDto = Narrow<S['ConnectedProbeDto']>
export type ProbeDto = Narrow<S['ProbeDto']>
export type ProbeConnectionDto = Narrow<S['ProbeConnectionDto']>
export type ProbeIdentityDto = Narrow<S['ProbeIdentityDto']>
export type LineDto = Narrow<S['LineDto']>
export type NodeInfoDto = Narrow<S['NodeInfoDto']>
export type AboutDto = Narrow<S['AboutDto']>