Upgrade audit to v1.74¶
Upgrade every reader (audit-observe, audit-query, and the audit command when it reads the archive) before the writer. History is in the CHANGELOG.
Breaking changes¶
-
Readers must run the writer's release or a newer one. The writer registers each catalogue version into the archive, and every reader validates it against its own schema.
-
An action declares
category, andprofileson an action is deprecated. Earliercatalogue.schema.jsonfiles requireprofiles, so an older reader refuses the first record of the new catalogue with "does not satisfy catalogue.schema.json ... missing property". The pod stays running, the index stops at its cursor and the Audit page goes empty. -
The default poll of
audit-observeis 5 minutes. Without awake, a record is searchable after the longer ofsettleand the time to the next pass. Setintervallower, or configurewake.sqsorwake.nats(configuration).
Before you start¶
Enable the chart's AuditIndexStalled and AuditIndexPassesFailing alerts before the upgrade (respond to alerts). From v1.74, /readyz of audit-observe fails after three failed passes.
Steps¶
-
Upgrade
audit-observeandaudit-queryto v1.74: the chart release, or the Pulumi library and zips of the same release. Check both pods are Ready,/readyzanswers 200 andaudit_observe_pass_since_success_secondsstays below the interval. -
Upgrade the writer, receiver and notary. Check that the writer's start-up record carries the new version and a record of the new catalogue is searchable within
interval. -
Publish the new catalogue version once every reader runs v1.74. Check that the indexer log has no
an indexing pass failedline.
Roll back¶
Redeploy the previous release. Nothing in the index changed. A catalogue the writer registered stays in the archive, and v1.74 readers read it. A reader upgraded late resumes from its cursor and indexes what it missed once, without duplicates.