Add key expiry disable/enable toggle (#554)

This commit is contained in:
Julian Lehrhuber
2026-08-19 03:41:30 +02:00
committed by GitHub
parent 0feab692bd
commit cd59c310f6
9 changed files with 89 additions and 5 deletions
+21
View File
@@ -111,6 +111,27 @@ describe.sequential.for(HS_VERSIONS)("Headscale %s: Users", (version) => {
expect(expiredNode.expiry).toBeDefined();
});
test("key expiry of nodes can be toggled", async (context) => {
const bootstrap = await getBootstrapClient(version);
// Key expiry was introduced in 0.29.0
if (!bootstrap.capabilities.keyExpiryCanBeDisabled) {
context.skip();
}
const client = await getRuntimeClient(version);
await client.nodes.toggleExpiry(workingNodeId, true);
const permanentNode = await client.nodes.get(workingNodeId);
expect(permanentNode).toBeDefined();
expect(permanentNode.expiry).toBeNull();
await client.nodes.toggleExpiry(workingNodeId, false);
const node = await client.nodes.get(workingNodeId);
expect(node).toBeDefined();
expect(node.expiry).not.toBeNull();
});
test("nodes can be deleted", async () => {
const client = await getRuntimeClient(version);
await client.nodes.delete(workingNodeId);
@@ -98,6 +98,7 @@ describe("capabilitiesFor", () => {
nodeTagsAreFlat: true,
nodeOwnerIsImmutable: true,
registerKeyIncludesAuthReqPrefix: false,
keyExpiryCanBeDisabled: false,
});
});