Skip to content

purefa_zte - new module for Zero Touch Erasure (ZTE) - #1015

Draft
sdodsley wants to merge 5 commits into
Everpure-Ansible:masterfrom
sdodsley:add-purefa-zte-module
Draft

purefa_zte - new module for Zero Touch Erasure (ZTE)#1015
sdodsley wants to merge 5 commits into
Everpure-Ansible:masterfrom
sdodsley:add-purefa-zte-module

Conversation

@sdodsley

@sdodsley sdodsley commented Jun 25, 2026

Copy link
Copy Markdown
Member
SUMMARY

Adds a new purefa_zte module to perform Zero Touch Erasure (ZTE) — a secure, self-service factory reset of a FlashArray to a factory-fresh state (Purity//FA 6.6.8+, REST-API only).

The module maps the three documented ZTE phases onto the existing /arrays/erasures REST endpoints via a state parameter:

  • start — Phase 1: securely wipe drives and generate the NIST SP800-88R1 sanitization certificate (post_arrays_erasures)
  • status — report process status and return the sanitization certificate (get_arrays_erasures); non-destructive, the default
  • finalize — Phase 3: finalize the reset, optionally reinstalling the image (patch_arrays_erasures + ArrayErasurePatch)
  • cancel — cancel a failed reset (delete_arrays_erasures)

Design decisions:

  • Destructive phases (start, finalize) require an explicit eradicate: true safety acknowledgement; nothing is destructive by default.
  • status returns sanitization_certificate so it can be saved before finalize (it is unrecoverable afterwards).
  • Darksite support via skip_phonehome_check, image_source (URL/path) and image_version; phoning-home arrays use image_source: auto.
  • check_mode supported; gated at REST API 2.34; registered in meta/runtime.yml; added to the README module list.
ISSUE TYPE
  • New Module Pull Request
COMPONENT NAME

purefa_zte

ADDITIONAL INFORMATION
  • Note: this module has not yet been validated against a live array; the multi-phase flow (REST service drops mid-wipe) cannot be meaningfully unit-tested.

Adds a new purefa_zte module that performs Zero Touch Erasure (ZTE) on a
FlashArray using the /arrays/erasures REST endpoints (post/get/patch/delete).

The module exposes the three documented ZTE phases via a state parameter:
  - start    - Phase 1, securely wipe drives and generate the sanitization
               certificate (post_arrays_erasures)
  - status   - report process status and return the sanitization certificate
               (get_arrays_erasures), non-destructive, the default
  - finalize - Phase 3, finalize the reset, optionally reinstalling the image
               (patch_arrays_erasures)
  - cancel   - cancel a failed reset (delete_arrays_erasures)

Destructive phases require an explicit eradicate=true safety acknowledgement,
the module supports check_mode, gates on REST API 2.34, and is registered in
meta/runtime.yml.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sdodsley sdodsley added the enhancement New feature or request label Jun 25, 2026
@sdodsley
sdodsley marked this pull request as draft June 25, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant