49 lines
1.1 KiB
C#
49 lines
1.1 KiB
C#
using Fleet.Core;
|
|
|
|
namespace Fleet.Server;
|
|
|
|
/// <summary>pending 能连接,但不下发状态、不接收上报;disabled 拒绝连接。</summary>
|
|
public enum NodeStatus
|
|
{
|
|
Pending,
|
|
Active,
|
|
Disabled,
|
|
}
|
|
|
|
public sealed record NodeRecord(
|
|
NodeId Id,
|
|
string Name,
|
|
NodeStatus Status,
|
|
byte[] PublicKey,
|
|
byte[] TlsSpki,
|
|
IReadOnlyList<string> Labels,
|
|
string? MetaJson,
|
|
string? NodeVersion,
|
|
long CreatedAtMs,
|
|
long? LastSeenAtMs);
|
|
|
|
public sealed record NewNode(
|
|
NodeId Id,
|
|
string Name,
|
|
NodeStatus Status,
|
|
byte[] PublicKey,
|
|
byte[] TlsSpki,
|
|
IReadOnlyList<string> Labels,
|
|
string? MetaJson,
|
|
string? NodeVersion,
|
|
long NowMs);
|
|
|
|
public sealed record JoinTokenRecord(
|
|
string Id,
|
|
byte[] TokenSha256,
|
|
string? Note,
|
|
IReadOnlyList<string> Labels,
|
|
bool AutoApprove,
|
|
int MaxUses,
|
|
int Uses,
|
|
long ExpiresAtMs,
|
|
long? RevokedAtMs,
|
|
long CreatedAtMs);
|
|
|
|
public sealed record Presence(bool Online, long AtMs, string? NodeVersion, IReadOnlyList<string> Capabilities, string? HelloMetaJson);
|