OCI Block Volume Backup Posture Auditor
OCI Block Volume Backup Posture Auditor
Description
I built the OCI Block Volume Backup Posture Auditor as a standalone OCI automation tool to audit block volume and boot volume backup hygiene across compartments. It produces timestamped JSON + Markdown findings and uploads the artifacts to OCI Object Storage so teams can review results, share evidence and track posture over time. The tool is designed to be safe to run in production because it uses read-only OCI API calls, with the only write action being the optional Object Storage upload of the generated reports.
Codebase
Why This Is Useful
Backups are one of those controls that everyone assumes are in place until something breaks. In a real tenancy, volumes get created quickly, instances move across compartments and backup routines can drift without anyone noticing. This project gives platform and operations teams a quick way to answer, “Are my critical volumes actually protected and how stale are the latest backups?”. It is especially useful for routine operational reviews, audit readiness and catching gaps early before they become painful during incident recovery.
What The Tool Does
The auditor runs an end-to-end posture check with clear, actionable outcomes:
-
Enumerates accessible compartments (OCI Identity)
-
Collects block volumes, boot volumes and their backups (OCI Block Volume)
-
Correlates attached instances for each volume (OCI Compute)
-
Flags each volume’s posture using a simple policy threshold:
COMPLIANT,STALE_BACKUP,NO_BACKUP -
Writes reports locally in
.json+.mdformats -
Uploads the reports to OCI Object Storage
High Level Architecture
The repository is structured in a clean, modular way so it is easy to extend:
-
collectors/for OCI service data collection -
analyzers/for compliance logic and posture classification -
helpers/for report writing + Object Storage upload helpers -
main.pyas the orchestration entry point
Operationally, it follows a straightforward pipeline: discover compartments → collect volumes/backups → analyze posture → generate artifacts → upload artifacts.
Prerequisites
To run this project you will need:
-
Python 3.10+
-
OCI config profile configured (for example
~/.oci/config) -
IAM permissions for read-only listing plus Object Storage upload (including compute/block volume visibility and
put-object)

Comments
Post a Comment