Vendors / Tailscale / Tailnet / Tailscale node key expiry update
Tailscale logo

Tailscale node key expiry update

Documented NODE key-expiry update with registry actor/node identities, fresh operation group ID and derived future expiry.

JSON 18 fields Generator

tailscale configuration audit node
Preview Sample View Schema
CLI Install
meltr templates install tailscale

What this event covers

First logs[] member of the documented v1.1 configuration-log response. Uses schema-standard registry fields plus generated vendor-specific IDs. Works with the default MELTr entity sample.yaml; example configuration: configs/tailscale/tailnet/configuration-audit.yaml. Tested with MELTr rc3 commit 1e14e5defb66f6ac24decbe59c1c4f4e64877618. Entity fixtures must be selected per source; generic registry preview entities are not sufficient.

When generated

  • ›A node key expiry time is updated.

Security relevance

Informational

Frequency notes

One event/second local test rate; five-event burst. Independent operation snapshots retaining zero-time old/deferredAt values.

Docs and tools

Configuration

Base frequency
3600 events/hour
Business hours
1.0x
Night hours
1.0x
Weekend
1.0x

Field definitions

Field reference for this event type — types, requirements, examples, and allowed values.

action
String Optional

Fixed `UPDATE`.

Source: Fixed `UPDATE`.

Example UPDATE
actor
Object Optional

Exactly the four fields below.

Source: Exactly the four fields below.

Example {"displayName":"Ben Rivera","id":"123457CNTRL","loginName":"ben.rivera@example.com","type":"USER"}
actor.displayName
String Optional

Selected registry user's `full_name`.

Source: Selected registry user's `full_name`.

Example Ben Rivera
actor.id
String Optional

Same user's stable custom `tailscale_id`.

Source: Same user's stable custom `tailscale_id`.

Example 123457CNTRL
actor.loginName
String Optional

Same user's `email`.

Source: Same user's `email`.

Example ben.rivera@example.com
actor.type
String Optional

Fixed `USER`.

Source: Fixed `USER`.

Example USER
deferredAt
String Optional

Fixed `0001-01-01T00:00:00Z` sentinel.

Source: Fixed `0001-01-01T00:00:00Z` sentinel.

Example 0001-01-01T00:00:00Z
eventGroupID
String Optional

Faker `fake.pyint(min_value=1000000000, max_value=2000000000)` converted with Jinja `string`; a fresh synthetic operation ID.

Source: Faker `fake.pyint(min_value=1000000000, max_value=2000000000)` converted with Jinja `string`; a fresh synthetic operation ID.

Example 1528213800
eventTime
String Optional

One `now()` value through `iso8601_utc`, UTC with microsecond precision.

Source: One `now()` value through `iso8601_utc`, UTC with microsecond precision.

Example 2026-10-01T22:48:20.162495Z
new
String Optional

Same clock plus `tailscale_expiry_days * 86400` using MELTr DateTimeWrapper addition, then `iso8601_utc`. Always later in the validated profile.

Source: Same clock plus `tailscale_expiry_days * 86400` using MELTr DateTimeWrapper addition, then `iso8601_utc`. Always later in the validated profile.

Example 2027-03-30T22:48:20.162495Z
old
String Optional

Fixed `0001-01-01T00:00:00Z` sentinel.

Source: Fixed `0001-01-01T00:00:00Z` sentinel.

Example 0001-01-01T00:00:00Z
origin
String Optional

Fixed `NODE`.

Source: Fixed `NODE`.

Example NODE
target
Object Optional

Exactly the four fields below.

Source: Exactly the four fields below.

Example {"id":"654322CNTRL","name":"workstation-02.example.ts.net","property":"KEY_EXPIRY_TIME","type":"NODE"}
target.id
String Optional

Mapped device's stable custom `tailscale_id`.

Source: Mapped device's stable custom `tailscale_id`.

Example 654322CNTRL
target.name
String Optional

Same device's `fqdn`.

Source: Same device's `fqdn`.

Example workstation-02.example.ts.net
target.property
String Optional

Fixed `KEY_EXPIRY_TIME`.

Source: Fixed `KEY_EXPIRY_TIME`.

Example KEY_EXPIRY_TIME
target.type
String Optional

Fixed `NODE`.

Source: Fixed `NODE`.

Example NODE
type
String Optional

Fixed `CONFIG`.

Source: Fixed `CONFIG`.

Example CONFIG