Skip to content

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, and profiles on an action is deprecated. Earlier catalogue.schema.json files require profiles, 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-observe is 5 minutes. Without a wake, a record is searchable after the longer of settle and the time to the next pass. Set interval lower, or configure wake.sqs or wake.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

  1. Upgrade audit-observe and audit-query to v1.74: the chart release, or the Pulumi library and zips of the same release. Check both pods are Ready, /readyz answers 200 and audit_observe_pass_since_success_seconds stays below the interval.

  2. 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.

  3. Publish the new catalogue version once every reader runs v1.74. Check that the indexer log has no an indexing pass failed line.

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.