Skip to main content
Version: Dev

Upgrade and uninstall

Upgrade

Replace the image and restart. There is no schema, no migration, no persisted state, and no cluster-side object owned by the viewer.

Two consequences worth planning for:

  • Gap confirmation is process-local. After a restart, previously confirmed gaps start again as candidates (warning) until a second consecutive complete scan re-confirms them. This is by design — confirmation is never persisted.
  • The first snapshot after a restart is unknown/incomplete until the first scan finishes. The UI says so rather than showing zeros as facts.

Before upgrading, check the release notes for changes to the frozen configuration contract. A removed or re-validated variable fails startup rather than being silently ignored — that is deliberate, so a misconfiguration can never become a silently wrong answer.

Rolling upgrades are safe: nothing coordinates between replicas, because nothing is shared. Running more than one replica simply means more than one independent scanner against the same read-only repository.

Downgrade

Downgrading is the same operation in reverse, with one caveat: evidence produced by a newer version may use semantics an older one does not implement. The older version does not attempt to interpret them — unrecognized values are unknown — so a downgrade loses detail rather than producing a wrong claim.

Uninstall

kubectl delete -f deploy/kubernetes-example.yaml

Then revoke the provider credential or role binding.

Nothing in the object store was ever written or modified by the viewer, so there is nothing to clean up on the repository side. If you also deployed the example NetworkPolicy separately, delete it too — otherwise it keeps selecting a workload that no longer exists, which is harmless but confusing.

Sidecar deployments

The sidecar producer follows the Pod, not a separate lifecycle. Upgrading means rolling the Pod that carries both containers. Because the bearer token is never rotated in place, a token change is also a Pod roll — see the sidecar profile.