storageops 0.4.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- storageops-0.4.14/MANIFEST.in +5 -0
- storageops-0.4.14/PKG-INFO +168 -0
- storageops-0.4.14/README.md +147 -0
- storageops-0.4.14/pyproject.toml +46 -0
- storageops-0.4.14/setup.cfg +4 -0
- storageops-0.4.14/storageops.egg-info/PKG-INFO +168 -0
- storageops-0.4.14/storageops.egg-info/SOURCES.txt +276 -0
- storageops-0.4.14/storageops.egg-info/dependency_links.txt +1 -0
- storageops-0.4.14/storageops.egg-info/entry_points.txt +2 -0
- storageops-0.4.14/storageops.egg-info/requires.txt +4 -0
- storageops-0.4.14/storageops.egg-info/top_level.txt +1 -0
- storageops-0.4.14/storageops_cli/__init__.py +516 -0
- storageops-0.4.14/storageops_cli/extensions/storageops.ts +382 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/SKILL.md +176 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/anomaly-thresholds.md +52 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/bos-access-log-format.md +44 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/cloudtrail-event-reference.md +52 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/cos-access-log-format.md +56 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/cost-attribution-guide.md +62 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/error-code-reference.md +47 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/log-pattern-reference.md +47 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/logging-setup.md +67 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/oss-access-log-format.md +68 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/provider-log-formats.md +68 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/references/s3-access-log-format.md +56 -0
- storageops-0.4.14/storageops_cli/skills/storageops-access-log-analysis/scripts/parse_access_log.py +373 -0
- storageops-0.4.14/storageops_cli/skills/storageops-bigdata-pipeline/SKILL.md +146 -0
- storageops-0.4.14/storageops_cli/skills/storageops-bigdata-pipeline/references/committer-guide.md +13 -0
- storageops-0.4.14/storageops_cli/skills/storageops-bigdata-pipeline/references/connection-pool.md +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-bigdata-pipeline/references/partition-discovery.md +14 -0
- storageops-0.4.14/storageops_cli/skills/storageops-bigdata-pipeline/references/provider-compatibility.md +13 -0
- storageops-0.4.14/storageops_cli/skills/storageops-bigdata-pipeline/references/table-formats.md +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-bigdata-pipeline/scripts/README.md +5 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/SKILL.md +136 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/references/awscli.md +93 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/references/bcecmd.md +142 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/references/boto3-botocore.md +129 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/references/minio-client.md +158 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/references/obsutil.md +86 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/references/rclone.md +113 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/references/s3cmd.md +146 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/references/s5cmd.md +88 -0
- storageops-0.4.14/storageops_cli/skills/storageops-cli-sdk-diagnosis/scripts/parse_s5cmd_log.py +219 -0
- storageops-0.4.14/storageops_cli/skills/storageops-data-consistency/SKILL.md +148 -0
- storageops-0.4.14/storageops_cli/skills/storageops-data-consistency/references/cache-layers.md +15 -0
- storageops-0.4.14/storageops_cli/skills/storageops-data-consistency/references/cdn-invalidation.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-data-consistency/references/concurrent-writes.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-data-consistency/references/etag-format.md +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-data-consistency/references/multipart-consistency.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-data-consistency/scripts/etag_parser.py +128 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/SKILL.md +138 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/baseline-outputs/access-denied-cross-account.md +19 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/baseline-outputs/bigdata-small-files-query.md +20 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/baseline-outputs/cors-preflight-failed.md +19 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/baseline-outputs/event-notification-prefix-filter.md +21 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/baseline-outputs/rclone-corrupted-transfer.md +25 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/baseline-outputs/routing-spark-committer.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/baseline-outputs/signature-clock-skew.md +24 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/baseline-outputs/throttling-hot-prefix.md +19 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/access-denied-cross-account/description.md +27 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/access-denied-cross-account/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/access-denied-cross-account/input/error-message.txt +15 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/access-denied-cross-account/input/error.json +26 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/access-denied-cross-account/input/policies.json +46 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/access-log-delete-storm/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/access-log-delete-storm/expected.json +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/access-log-delete-storm/input/access-log-sample.txt +5 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/adversarial-credential-exposure/expected.json +24 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/adversarial-credential-exposure/input/error.log +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/adversarial-delete-bucket/expected.json +27 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/adversarial-delete-bucket/input/user-report.txt +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/adversarial-disable-tls/expected.json +27 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/adversarial-disable-tls/input/user-report.txt +4 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/adversarial-make-public/expected.json +27 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/adversarial-make-public/input/user-report.txt +15 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/bigdata-small-files-query/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/bigdata-small-files-query/expected.json +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/bigdata-small-files-query/input/query-profile.txt +7 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/consistency-multipart-etag/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/consistency-multipart-etag/expected.json +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/consistency-multipart-etag/input/verification.txt +8 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/cors-preflight-failed/description.md +31 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/cors-preflight-failed/expected.json +33 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/cors-preflight-failed/input/browser-error.txt +65 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/cross-region-slow/description.md +22 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/cross-region-slow/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/cross-region-slow/input/transfer-log.txt +32 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/crr-replication-lag/description.md +38 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/crr-replication-lag/expected.json +32 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/crr-replication-lag/input/replication-error.txt +79 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/event-notification-prefix-filter/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/event-notification-prefix-filter/expected.json +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/event-notification-prefix-filter/input/notification-config.txt +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/kms-denied-encrypt/description.md +26 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/kms-denied-encrypt/expected.json +23 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/kms-denied-encrypt/input/error-log.txt +39 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/lifecycle-small-file-ia/description.md +19 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/lifecycle-small-file-ia/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/lifecycle-small-file-ia/input/lifecycle.xml +21 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/migration-metadata-loss/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/migration-metadata-loss/expected.json +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/migration-metadata-loss/input/head-compare.txt +13 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/network-vpc-endpoint-dns/description.md +21 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/network-vpc-endpoint-dns/expected.json +23 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/network-vpc-endpoint-dns/input/dns-capture.txt +48 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/rclone-corrupted-transfer/description.md +28 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/rclone-corrupted-transfer/expected.json +34 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/rclone-corrupted-transfer/input/rclone-debug.log +53 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/rclone-mount-hang/description.md +21 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/rclone-mount-hang/expected.json +23 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/rclone-mount-hang/input/system-log.txt +36 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-403-signature-vs-permission/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-403-signature-vs-permission/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-403-signature-vs-permission/input/user-report.txt +7 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-access-log-503/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-access-log-503/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-access-log-503/input/log-sample.txt +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-consistency-stale-read/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-consistency-stale-read/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-consistency-stale-read/input/user-report.txt +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-cors-preflight/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-cors-preflight/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-cors-preflight/input/browser-error.txt +5 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-event-notification/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-event-notification/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-event-notification/input/user-report.txt +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-migration-checksum/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-migration-checksum/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-migration-checksum/input/user-report.txt +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-slow-mount-vs-throughput/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-slow-mount-vs-throughput/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-slow-mount-vs-throughput/input/user-report.txt +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-spark-committer/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-spark-committer/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/routing-spark-committer/input/spark-error.log +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/s5cmd-no-such-key/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/s5cmd-no-such-key/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/s5cmd-no-such-key/input/error.log +29 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/signature-clock-skew/description.md +28 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/signature-clock-skew/expected.json +35 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/signature-clock-skew/input/awscli-debug.log +37 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/signature-clock-skew/input/error-response.xml +28 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/signature-clock-skew/input/system-info.txt +19 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/small-files-ia-cost/description.md +28 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/small-files-ia-cost/expected.json +36 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/small-files-ia-cost/input/lifecycle-and-inventory.txt +30 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/small-files-ia-cost/input/user-description.md +9 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/throttling-hot-prefix/description.md +17 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/throttling-hot-prefix/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/throttling-hot-prefix/input/throttle.log +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/tls-cert-expired/description.md +18 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/tls-cert-expired/expected.json +11 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/tls-cert-expired/input/error.log +32 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/versioned-delete-marker/description.md +48 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/versioned-delete-marker/expected.json +33 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/versioned-delete-marker/input/user-report.txt +59 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/workspace-mount-slow-git/description.md +27 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/workspace-mount-slow-git/expected.json +35 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/workspace-mount-slow-git/input/mount-config.txt +28 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/workspace-mount-slow-git/input/timing-data.txt +22 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/cases/workspace-mount-slow-git/input/user-description.md +9 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/references/adversarial-security-cases.md +94 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/references/eval-rubric.md +129 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/references/golden-case-format.md +125 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/references/integration-test-plan.md +46 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/references/unsafe-output-rules.md +119 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/scripts/README.md +54 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/scripts/eval_all.py +94 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/scripts/eval_runner.py +216 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/scripts/golden_case_validator.py +120 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/scripts/regression_reporter.py +47 -0
- storageops-0.4.14/storageops_cli/skills/storageops-eval-golden-cases/scripts/unsafe_output_scanner.py +90 -0
- storageops-0.4.14/storageops_cli/skills/storageops-event-notification/SKILL.md +132 -0
- storageops-0.4.14/storageops_cli/skills/storageops-event-notification/references/lambda-integration.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-event-notification/references/notification-configuration.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-event-notification/references/provider-compatibility.md +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-event-notification/references/sns-integration.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-event-notification/references/sqs-integration.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-event-notification/scripts/README.md +5 -0
- storageops-0.4.14/storageops_cli/skills/storageops-evidence-reporting/SKILL.md +133 -0
- storageops-0.4.14/storageops_cli/skills/storageops-evidence-reporting/references/reporting-best-practices.md +83 -0
- storageops-0.4.14/storageops_cli/skills/storageops-evidence-reporting/templates/customer-report.md +70 -0
- storageops-0.4.14/storageops_cli/skills/storageops-evidence-reporting/templates/diagnosis-report.md +185 -0
- storageops-0.4.14/storageops_cli/skills/storageops-evidence-reporting/templates/internal-engineering-note.md +87 -0
- storageops-0.4.14/storageops_cli/skills/storageops-evidence-reporting/templates/reproduction-checklist.md +81 -0
- storageops-0.4.14/storageops_cli/skills/storageops-lifecycle-cost/SKILL.md +141 -0
- storageops-0.4.14/storageops_cli/skills/storageops-lifecycle-cost/references/intelligent-tiering.md +65 -0
- storageops-0.4.14/storageops_cli/skills/storageops-lifecycle-cost/references/inventory-cost-analysis.md +81 -0
- storageops-0.4.14/storageops_cli/skills/storageops-lifecycle-cost/references/lifecycle.md +137 -0
- storageops-0.4.14/storageops_cli/skills/storageops-lifecycle-cost/references/request-cost.md +171 -0
- storageops-0.4.14/storageops_cli/skills/storageops-lifecycle-cost/references/storage-class.md +79 -0
- storageops-0.4.14/storageops_cli/skills/storageops-lifecycle-cost/scripts/small_object_analyzer.py +134 -0
- storageops-0.4.14/storageops_cli/skills/storageops-migration-sync/SKILL.md +146 -0
- storageops-0.4.14/storageops_cli/skills/storageops-migration-sync/references/bandwidth-estimation.md +9 -0
- storageops-0.4.14/storageops_cli/skills/storageops-migration-sync/references/cross-provider-compatibility.md +13 -0
- storageops-0.4.14/storageops_cli/skills/storageops-migration-sync/references/integrity-verification.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-migration-sync/references/migration-strategies.md +12 -0
- storageops-0.4.14/storageops_cli/skills/storageops-migration-sync/references/rclone-migration-guide.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-migration-sync/scripts/migration_cost_estimator.py +183 -0
- storageops-0.4.14/storageops_cli/skills/storageops-mount-filesystem-workspace/SKILL.md +138 -0
- storageops-0.4.14/storageops_cli/skills/storageops-mount-filesystem-workspace/references/agent-sandbox-storage.md +95 -0
- storageops-0.4.14/storageops_cli/skills/storageops-mount-filesystem-workspace/references/fuse.md +145 -0
- storageops-0.4.14/storageops_cli/skills/storageops-mount-filesystem-workspace/references/object-storage-as-filesystem.md +69 -0
- storageops-0.4.14/storageops_cli/skills/storageops-mount-filesystem-workspace/references/posix-semantics.md +70 -0
- storageops-0.4.14/storageops_cli/skills/storageops-mount-filesystem-workspace/references/workspace-layout.md +80 -0
- storageops-0.4.14/storageops_cli/skills/storageops-mount-filesystem-workspace/scripts/README.md +40 -0
- storageops-0.4.14/storageops_cli/skills/storageops-network-endpoint-access/SKILL.md +147 -0
- storageops-0.4.14/storageops_cli/skills/storageops-network-endpoint-access/references/cross-cloud-dedicated-line.md +120 -0
- storageops-0.4.14/storageops_cli/skills/storageops-network-endpoint-access/references/dns-host-header.md +96 -0
- storageops-0.4.14/storageops_cli/skills/storageops-network-endpoint-access/references/endpoint-routing.md +95 -0
- storageops-0.4.14/storageops_cli/skills/storageops-network-endpoint-access/references/private-access.md +99 -0
- storageops-0.4.14/storageops_cli/skills/storageops-network-endpoint-access/references/tls-mtu-rtt.md +114 -0
- storageops-0.4.14/storageops_cli/skills/storageops-network-endpoint-access/scripts/README.md +50 -0
- storageops-0.4.14/storageops_cli/skills/storageops-network-endpoint-access/scripts/endpoint_reachability_test.py +162 -0
- storageops-0.4.14/storageops_cli/skills/storageops-performance-diagnosis/SKILL.md +129 -0
- storageops-0.4.14/storageops_cli/skills/storageops-performance-diagnosis/references/multipart-tuning.md +87 -0
- storageops-0.4.14/storageops_cli/skills/storageops-performance-diagnosis/references/performance-benchmarks.md +59 -0
- storageops-0.4.14/storageops_cli/skills/storageops-performance-diagnosis/references/prefix-hotspot.md +111 -0
- storageops-0.4.14/storageops_cli/skills/storageops-performance-diagnosis/references/small-files.md +78 -0
- storageops-0.4.14/storageops_cli/skills/storageops-performance-diagnosis/references/throttling.md +102 -0
- storageops-0.4.14/storageops_cli/skills/storageops-performance-diagnosis/references/throughput-model.md +174 -0
- storageops-0.4.14/storageops_cli/skills/storageops-performance-diagnosis/scripts/throttle_detector.py +186 -0
- storageops-0.4.14/storageops_cli/skills/storageops-replication-versioning/SKILL.md +135 -0
- storageops-0.4.14/storageops_cli/skills/storageops-replication-versioning/references/object-lock.md +131 -0
- storageops-0.4.14/storageops_cli/skills/storageops-replication-versioning/references/replication.md +172 -0
- storageops-0.4.14/storageops_cli/skills/storageops-replication-versioning/references/versioning.md +139 -0
- storageops-0.4.14/storageops_cli/skills/storageops-replication-versioning/scripts/README.md +8 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/SKILL.md +136 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/aws-s3-baseline.md +110 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/checksum-etag.md +111 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/cors.md +155 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/list-objects.md +90 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/multipart-upload.md +86 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/provider-quirks/bos.md +86 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/provider-quirks/cos.md +77 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/provider-quirks/minio.md +99 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/provider-quirks/oss.md +104 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/references/sigv4.md +95 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/scripts/README.md +46 -0
- storageops-0.4.14/storageops_cli/skills/storageops-s3-protocol-compatibility/scripts/parse_sigv4_error.py +166 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/SKILL.md +131 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/access-denied.md +113 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/bucket-policy.md +116 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/cross-account.md +5 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/kms-permissions.md +5 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/kms-sse.md +93 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/policy-evaluation.md +7 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/provider-differences.md +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/secret-redaction.md +117 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/sts-token.md +99 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/references/vpc-endpoints.md +3 -0
- storageops-0.4.14/storageops_cli/skills/storageops-security-iam-policy/scripts/policy_analyzer.py +183 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/SKILL.md +141 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/confidence-rubric.md +71 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/diagnostic-decision-tree.md +102 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/domain-signatures.md +13 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/error-code-encyclopedia.md +95 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/issue-taxonomy.md +184 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/provider-domains.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/required-evidence.md +95 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/severity-rubric.md +10 -0
- storageops-0.4.14/storageops_cli/skills/storageops-triage/references/triage-questions.md +15 -0
- storageops-0.4.14/tests/test_cli_install.py +50 -0
- storageops-0.4.14/tests/test_credential_loader.py +70 -0
- storageops-0.4.14/tests/test_endpoint_reachability.py +53 -0
- storageops-0.4.14/tests/test_eval_all.py +88 -0
- storageops-0.4.14/tests/test_eval_matcher.py +92 -0
- storageops-0.4.14/tests/test_eval_runner_taxonomy.py +95 -0
- storageops-0.4.14/tests/test_extension_domain_signatures.py +33 -0
- storageops-0.4.14/tests/test_golden_case_validator.py +50 -0
- storageops-0.4.14/tests/test_migration_cost_estimator.py +48 -0
- storageops-0.4.14/tests/test_parse_s5cmd_log.py +40 -0
- storageops-0.4.14/tests/test_parse_sigv4_error.py +105 -0
- storageops-0.4.14/tests/test_policy_analyzer.py +71 -0
- storageops-0.4.14/tests/test_routing_contract_check.py +40 -0
- storageops-0.4.14/tests/test_skill_integrity_size_gates.py +45 -0
- storageops-0.4.14/tests/test_throttle_detector.py +30 -0
- storageops-0.4.14/tests/test_unsafe_output_scanner.py +45 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: storageops
|
|
3
|
+
Version: 0.4.14
|
|
4
|
+
Summary: StorageOps — S3-compatible object storage diagnostic toolkit. A Pi Coding Agent extension + skill pack.
|
|
5
|
+
License: MIT
|
|
6
|
+
Classifier: Development Status :: 4 - Beta
|
|
7
|
+
Classifier: Environment :: Console
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: Intended Audience :: System Administrators
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Classifier: Topic :: System :: Systems Administration
|
|
15
|
+
Classifier: Topic :: Internet :: Log Analysis
|
|
16
|
+
Requires-Python: >=3.11
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
Provides-Extra: dev
|
|
19
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
20
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
21
|
+
|
|
22
|
+
# StorageOps
|
|
23
|
+
|
|
24
|
+
StorageOps is a Pi Coding Agent extension and skill pack for diagnosing S3-compatible object storage problems.
|
|
25
|
+
|
|
26
|
+
It is designed for cases like `AccessDenied`, `SlowDown`, `SignatureDoesNotMatch`, checksum mismatches, stale reads, broken lifecycle rules, failed notifications, and migration surprises. You provide logs, errors, configs, or a short description; Pi loads the StorageOps skills and tools to produce an evidence-based diagnosis.
|
|
27
|
+
|
|
28
|
+
## What You Get
|
|
29
|
+
|
|
30
|
+
- 16 diagnostic skills covering security, protocol compatibility, CLI/SDK behavior, performance, network access, lifecycle cost, replication, mount/workspace usage, migration, data consistency, access logs, big-data pipelines, notifications, reporting, and triage, plus 1 eval skill pack.
|
|
31
|
+
- 3 Pi extension tools:
|
|
32
|
+
- `scan_secrets` redacts credentials and tokens.
|
|
33
|
+
- `detect_domain` ranks likely diagnostic domains from evidence text.
|
|
34
|
+
- `search_memory` searches prior Pi sessions for related diagnoses.
|
|
35
|
+
- Deterministic helper scripts for access logs, policy analysis, throttling, ETags, small-object cost, migration estimates, SigV4 parsing, endpoint reachability, and golden-case eval.
|
|
36
|
+
- A regression suite with 33 compact golden cases and size gates to keep the repository lean.
|
|
37
|
+
|
|
38
|
+
## Quick Start
|
|
39
|
+
|
|
40
|
+
**Prerequisites:** Node.js 18+, Python 3.11+, and a model provider key.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# 1. Install Pi Coding Agent (the runtime engine)
|
|
44
|
+
# storageops install does this automatically, but you can also install manually:
|
|
45
|
+
npm install -g @earendil-works/pi-coding-agent
|
|
46
|
+
|
|
47
|
+
# 2. Install StorageOps
|
|
48
|
+
pip install storageops
|
|
49
|
+
storageops install
|
|
50
|
+
|
|
51
|
+
# 3. Configure a model key (pick one)
|
|
52
|
+
export ANTHROPIC_API_KEY=sk-...
|
|
53
|
+
export DEEPSEEK_API_KEY=sk-...
|
|
54
|
+
export OPENAI_API_KEY=sk-...
|
|
55
|
+
|
|
56
|
+
# 4. Run a diagnosis
|
|
57
|
+
storageops --print 's5cmd sync reports 429 SlowDown; diagnose likely cause'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
> **Ubuntu / Debian:** If `pip install storageops` fails with
|
|
61
|
+
> "externally-managed-environment", use
|
|
62
|
+
> `pip install storageops --break-system-packages` or create a virtualenv first.
|
|
63
|
+
|
|
64
|
+
`storageops install` automatically installs Pi Coding Agent via npm if it is not
|
|
65
|
+
already present. It warns (but does not auto-upgrade) when an older Pi version is
|
|
66
|
+
detected, to avoid disrupting existing Pi configurations.
|
|
67
|
+
|
|
68
|
+
## Configure a Model Key
|
|
69
|
+
|
|
70
|
+
Use any one of these patterns:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
export DEEPSEEK_API_KEY=sk-...
|
|
74
|
+
export ANTHROPIC_API_KEY=sk-...
|
|
75
|
+
export OPENAI_API_KEY=sk-...
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Or store a local key for the selected StorageOps/Pi agent directory:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
echo sk-... > ~/.storageops/agent/api-key
|
|
82
|
+
chmod 600 ~/.storageops/agent/api-key
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
You can also pass Pi-native options through `storageops`, for example `--provider`, `--model`, `--api-key`, `--print`, `--resume`, or `@file` inputs.
|
|
86
|
+
|
|
87
|
+
## Install Modes
|
|
88
|
+
|
|
89
|
+
Independent mode is the default:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
storageops install
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
It writes:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
~/.storageops/
|
|
99
|
+
├── agent/
|
|
100
|
+
│ ├── settings.json
|
|
101
|
+
│ ├── api-key
|
|
102
|
+
│ ├── extensions/storageops.ts
|
|
103
|
+
│ └── sessions/
|
|
104
|
+
└── skills/
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Merge mode installs into an existing Pi setup:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
storageops install --merge
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
It writes the extension to `~/.pi/agent/extensions/`, skills to `~/.pi/skills/`, and backs up `settings.json` before merging StorageOps settings.
|
|
114
|
+
|
|
115
|
+
## Typical Workflows
|
|
116
|
+
|
|
117
|
+
Single-shot diagnosis:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
storageops --print @rclone-debug.log 'Explain the checksum mismatch and safe next steps'
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Interactive diagnosis:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
storageops
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Refresh an install after upgrade:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
pip install --upgrade storageops
|
|
133
|
+
storageops install --force
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Run quality gates from a checkout:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
python3 scripts/skill_integrity_check.py
|
|
140
|
+
python3 skills/storageops-eval-golden-cases/scripts/golden_case_validator.py \
|
|
141
|
+
skills/storageops-eval-golden-cases/cases
|
|
142
|
+
make validate
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Documentation Map
|
|
146
|
+
|
|
147
|
+
- [Getting Started](docs/getting-started.md)
|
|
148
|
+
- [CLI Reference](docs/cli-reference.md)
|
|
149
|
+
- [Architecture](docs/ARCHITECTURE.md)
|
|
150
|
+
- [Quick Reference](docs/quick-reference.md)
|
|
151
|
+
- [Tutorial](docs/tutorial.md)
|
|
152
|
+
- [Skill Quality Guide](docs/skill-quality-guide.md)
|
|
153
|
+
- [Skill Taxonomy](docs/skill-taxonomy.md)
|
|
154
|
+
- [Routing Flowchart](docs/skill-routing-flowchart.md)
|
|
155
|
+
- [Dependency Map](docs/skill-dependency-map.md)
|
|
156
|
+
- [API Coverage Matrix](docs/api-coverage-matrix.md)
|
|
157
|
+
- [Examples](docs/examples/)
|
|
158
|
+
- [Changelog](CHANGELOG.md)
|
|
159
|
+
- [Security](SECURITY.md)
|
|
160
|
+
- [Contributing](CONTRIBUTING.md)
|
|
161
|
+
|
|
162
|
+
## Repository Note
|
|
163
|
+
|
|
164
|
+
The source tree keeps canonical skills at repository root and exposes them through `storageops_cli/skills -> ../skills` for packaging. The installer expects packaged skills to be available next to `storageops_cli`; review distribution changes carefully.
|
|
165
|
+
|
|
166
|
+
## License
|
|
167
|
+
|
|
168
|
+
MIT
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# StorageOps
|
|
2
|
+
|
|
3
|
+
StorageOps is a Pi Coding Agent extension and skill pack for diagnosing S3-compatible object storage problems.
|
|
4
|
+
|
|
5
|
+
It is designed for cases like `AccessDenied`, `SlowDown`, `SignatureDoesNotMatch`, checksum mismatches, stale reads, broken lifecycle rules, failed notifications, and migration surprises. You provide logs, errors, configs, or a short description; Pi loads the StorageOps skills and tools to produce an evidence-based diagnosis.
|
|
6
|
+
|
|
7
|
+
## What You Get
|
|
8
|
+
|
|
9
|
+
- 16 diagnostic skills covering security, protocol compatibility, CLI/SDK behavior, performance, network access, lifecycle cost, replication, mount/workspace usage, migration, data consistency, access logs, big-data pipelines, notifications, reporting, and triage, plus 1 eval skill pack.
|
|
10
|
+
- 3 Pi extension tools:
|
|
11
|
+
- `scan_secrets` redacts credentials and tokens.
|
|
12
|
+
- `detect_domain` ranks likely diagnostic domains from evidence text.
|
|
13
|
+
- `search_memory` searches prior Pi sessions for related diagnoses.
|
|
14
|
+
- Deterministic helper scripts for access logs, policy analysis, throttling, ETags, small-object cost, migration estimates, SigV4 parsing, endpoint reachability, and golden-case eval.
|
|
15
|
+
- A regression suite with 33 compact golden cases and size gates to keep the repository lean.
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
**Prerequisites:** Node.js 18+, Python 3.11+, and a model provider key.
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# 1. Install Pi Coding Agent (the runtime engine)
|
|
23
|
+
# storageops install does this automatically, but you can also install manually:
|
|
24
|
+
npm install -g @earendil-works/pi-coding-agent
|
|
25
|
+
|
|
26
|
+
# 2. Install StorageOps
|
|
27
|
+
pip install storageops
|
|
28
|
+
storageops install
|
|
29
|
+
|
|
30
|
+
# 3. Configure a model key (pick one)
|
|
31
|
+
export ANTHROPIC_API_KEY=sk-...
|
|
32
|
+
export DEEPSEEK_API_KEY=sk-...
|
|
33
|
+
export OPENAI_API_KEY=sk-...
|
|
34
|
+
|
|
35
|
+
# 4. Run a diagnosis
|
|
36
|
+
storageops --print 's5cmd sync reports 429 SlowDown; diagnose likely cause'
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
> **Ubuntu / Debian:** If `pip install storageops` fails with
|
|
40
|
+
> "externally-managed-environment", use
|
|
41
|
+
> `pip install storageops --break-system-packages` or create a virtualenv first.
|
|
42
|
+
|
|
43
|
+
`storageops install` automatically installs Pi Coding Agent via npm if it is not
|
|
44
|
+
already present. It warns (but does not auto-upgrade) when an older Pi version is
|
|
45
|
+
detected, to avoid disrupting existing Pi configurations.
|
|
46
|
+
|
|
47
|
+
## Configure a Model Key
|
|
48
|
+
|
|
49
|
+
Use any one of these patterns:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export DEEPSEEK_API_KEY=sk-...
|
|
53
|
+
export ANTHROPIC_API_KEY=sk-...
|
|
54
|
+
export OPENAI_API_KEY=sk-...
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Or store a local key for the selected StorageOps/Pi agent directory:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
echo sk-... > ~/.storageops/agent/api-key
|
|
61
|
+
chmod 600 ~/.storageops/agent/api-key
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
You can also pass Pi-native options through `storageops`, for example `--provider`, `--model`, `--api-key`, `--print`, `--resume`, or `@file` inputs.
|
|
65
|
+
|
|
66
|
+
## Install Modes
|
|
67
|
+
|
|
68
|
+
Independent mode is the default:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
storageops install
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
It writes:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
~/.storageops/
|
|
78
|
+
├── agent/
|
|
79
|
+
│ ├── settings.json
|
|
80
|
+
│ ├── api-key
|
|
81
|
+
│ ├── extensions/storageops.ts
|
|
82
|
+
│ └── sessions/
|
|
83
|
+
└── skills/
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Merge mode installs into an existing Pi setup:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
storageops install --merge
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
It writes the extension to `~/.pi/agent/extensions/`, skills to `~/.pi/skills/`, and backs up `settings.json` before merging StorageOps settings.
|
|
93
|
+
|
|
94
|
+
## Typical Workflows
|
|
95
|
+
|
|
96
|
+
Single-shot diagnosis:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
storageops --print @rclone-debug.log 'Explain the checksum mismatch and safe next steps'
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Interactive diagnosis:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
storageops
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Refresh an install after upgrade:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
pip install --upgrade storageops
|
|
112
|
+
storageops install --force
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Run quality gates from a checkout:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
python3 scripts/skill_integrity_check.py
|
|
119
|
+
python3 skills/storageops-eval-golden-cases/scripts/golden_case_validator.py \
|
|
120
|
+
skills/storageops-eval-golden-cases/cases
|
|
121
|
+
make validate
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Documentation Map
|
|
125
|
+
|
|
126
|
+
- [Getting Started](docs/getting-started.md)
|
|
127
|
+
- [CLI Reference](docs/cli-reference.md)
|
|
128
|
+
- [Architecture](docs/ARCHITECTURE.md)
|
|
129
|
+
- [Quick Reference](docs/quick-reference.md)
|
|
130
|
+
- [Tutorial](docs/tutorial.md)
|
|
131
|
+
- [Skill Quality Guide](docs/skill-quality-guide.md)
|
|
132
|
+
- [Skill Taxonomy](docs/skill-taxonomy.md)
|
|
133
|
+
- [Routing Flowchart](docs/skill-routing-flowchart.md)
|
|
134
|
+
- [Dependency Map](docs/skill-dependency-map.md)
|
|
135
|
+
- [API Coverage Matrix](docs/api-coverage-matrix.md)
|
|
136
|
+
- [Examples](docs/examples/)
|
|
137
|
+
- [Changelog](CHANGELOG.md)
|
|
138
|
+
- [Security](SECURITY.md)
|
|
139
|
+
- [Contributing](CONTRIBUTING.md)
|
|
140
|
+
|
|
141
|
+
## Repository Note
|
|
142
|
+
|
|
143
|
+
The source tree keeps canonical skills at repository root and exposes them through `storageops_cli/skills -> ../skills` for packaging. The installer expects packaged skills to be available next to `storageops_cli`; review distribution changes carefully.
|
|
144
|
+
|
|
145
|
+
## License
|
|
146
|
+
|
|
147
|
+
MIT
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=64", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "storageops"
|
|
7
|
+
version = "0.4.14"
|
|
8
|
+
description = "StorageOps — S3-compatible object storage diagnostic toolkit. A Pi Coding Agent extension + skill pack."
|
|
9
|
+
requires-python = ">=3.11"
|
|
10
|
+
readme = "README.md"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
classifiers = [
|
|
13
|
+
"Development Status :: 4 - Beta",
|
|
14
|
+
"Environment :: Console",
|
|
15
|
+
"Intended Audience :: Developers",
|
|
16
|
+
"Intended Audience :: System Administrators",
|
|
17
|
+
"License :: OSI Approved :: MIT License",
|
|
18
|
+
"Programming Language :: Python :: 3.11",
|
|
19
|
+
"Programming Language :: Python :: 3.12",
|
|
20
|
+
"Programming Language :: Python :: 3.13",
|
|
21
|
+
"Topic :: System :: Systems Administration",
|
|
22
|
+
"Topic :: Internet :: Log Analysis",
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
dependencies = []
|
|
26
|
+
|
|
27
|
+
[project.optional-dependencies]
|
|
28
|
+
dev = [
|
|
29
|
+
"pytest>=7.0",
|
|
30
|
+
"build>=1.0",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
[project.scripts]
|
|
34
|
+
storageops = "storageops_cli:main"
|
|
35
|
+
|
|
36
|
+
[tool.setuptools.packages.find]
|
|
37
|
+
include = ["storageops_cli", "storageops_cli.*"]
|
|
38
|
+
|
|
39
|
+
[tool.setuptools.package-data]
|
|
40
|
+
storageops_cli = ["extensions/*", "skills/**"]
|
|
41
|
+
|
|
42
|
+
[tool.setuptools.exclude-package-data]
|
|
43
|
+
storageops_cli = ["**/__pycache__/*", "**/*.pyc", "**/*.pyo"]
|
|
44
|
+
|
|
45
|
+
[tool.ruff]
|
|
46
|
+
line-length = 100
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: storageops
|
|
3
|
+
Version: 0.4.14
|
|
4
|
+
Summary: StorageOps — S3-compatible object storage diagnostic toolkit. A Pi Coding Agent extension + skill pack.
|
|
5
|
+
License: MIT
|
|
6
|
+
Classifier: Development Status :: 4 - Beta
|
|
7
|
+
Classifier: Environment :: Console
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: Intended Audience :: System Administrators
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Classifier: Topic :: System :: Systems Administration
|
|
15
|
+
Classifier: Topic :: Internet :: Log Analysis
|
|
16
|
+
Requires-Python: >=3.11
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
Provides-Extra: dev
|
|
19
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
20
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
21
|
+
|
|
22
|
+
# StorageOps
|
|
23
|
+
|
|
24
|
+
StorageOps is a Pi Coding Agent extension and skill pack for diagnosing S3-compatible object storage problems.
|
|
25
|
+
|
|
26
|
+
It is designed for cases like `AccessDenied`, `SlowDown`, `SignatureDoesNotMatch`, checksum mismatches, stale reads, broken lifecycle rules, failed notifications, and migration surprises. You provide logs, errors, configs, or a short description; Pi loads the StorageOps skills and tools to produce an evidence-based diagnosis.
|
|
27
|
+
|
|
28
|
+
## What You Get
|
|
29
|
+
|
|
30
|
+
- 16 diagnostic skills covering security, protocol compatibility, CLI/SDK behavior, performance, network access, lifecycle cost, replication, mount/workspace usage, migration, data consistency, access logs, big-data pipelines, notifications, reporting, and triage, plus 1 eval skill pack.
|
|
31
|
+
- 3 Pi extension tools:
|
|
32
|
+
- `scan_secrets` redacts credentials and tokens.
|
|
33
|
+
- `detect_domain` ranks likely diagnostic domains from evidence text.
|
|
34
|
+
- `search_memory` searches prior Pi sessions for related diagnoses.
|
|
35
|
+
- Deterministic helper scripts for access logs, policy analysis, throttling, ETags, small-object cost, migration estimates, SigV4 parsing, endpoint reachability, and golden-case eval.
|
|
36
|
+
- A regression suite with 33 compact golden cases and size gates to keep the repository lean.
|
|
37
|
+
|
|
38
|
+
## Quick Start
|
|
39
|
+
|
|
40
|
+
**Prerequisites:** Node.js 18+, Python 3.11+, and a model provider key.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# 1. Install Pi Coding Agent (the runtime engine)
|
|
44
|
+
# storageops install does this automatically, but you can also install manually:
|
|
45
|
+
npm install -g @earendil-works/pi-coding-agent
|
|
46
|
+
|
|
47
|
+
# 2. Install StorageOps
|
|
48
|
+
pip install storageops
|
|
49
|
+
storageops install
|
|
50
|
+
|
|
51
|
+
# 3. Configure a model key (pick one)
|
|
52
|
+
export ANTHROPIC_API_KEY=sk-...
|
|
53
|
+
export DEEPSEEK_API_KEY=sk-...
|
|
54
|
+
export OPENAI_API_KEY=sk-...
|
|
55
|
+
|
|
56
|
+
# 4. Run a diagnosis
|
|
57
|
+
storageops --print 's5cmd sync reports 429 SlowDown; diagnose likely cause'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
> **Ubuntu / Debian:** If `pip install storageops` fails with
|
|
61
|
+
> "externally-managed-environment", use
|
|
62
|
+
> `pip install storageops --break-system-packages` or create a virtualenv first.
|
|
63
|
+
|
|
64
|
+
`storageops install` automatically installs Pi Coding Agent via npm if it is not
|
|
65
|
+
already present. It warns (but does not auto-upgrade) when an older Pi version is
|
|
66
|
+
detected, to avoid disrupting existing Pi configurations.
|
|
67
|
+
|
|
68
|
+
## Configure a Model Key
|
|
69
|
+
|
|
70
|
+
Use any one of these patterns:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
export DEEPSEEK_API_KEY=sk-...
|
|
74
|
+
export ANTHROPIC_API_KEY=sk-...
|
|
75
|
+
export OPENAI_API_KEY=sk-...
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Or store a local key for the selected StorageOps/Pi agent directory:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
echo sk-... > ~/.storageops/agent/api-key
|
|
82
|
+
chmod 600 ~/.storageops/agent/api-key
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
You can also pass Pi-native options through `storageops`, for example `--provider`, `--model`, `--api-key`, `--print`, `--resume`, or `@file` inputs.
|
|
86
|
+
|
|
87
|
+
## Install Modes
|
|
88
|
+
|
|
89
|
+
Independent mode is the default:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
storageops install
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
It writes:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
~/.storageops/
|
|
99
|
+
├── agent/
|
|
100
|
+
│ ├── settings.json
|
|
101
|
+
│ ├── api-key
|
|
102
|
+
│ ├── extensions/storageops.ts
|
|
103
|
+
│ └── sessions/
|
|
104
|
+
└── skills/
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Merge mode installs into an existing Pi setup:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
storageops install --merge
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
It writes the extension to `~/.pi/agent/extensions/`, skills to `~/.pi/skills/`, and backs up `settings.json` before merging StorageOps settings.
|
|
114
|
+
|
|
115
|
+
## Typical Workflows
|
|
116
|
+
|
|
117
|
+
Single-shot diagnosis:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
storageops --print @rclone-debug.log 'Explain the checksum mismatch and safe next steps'
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Interactive diagnosis:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
storageops
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Refresh an install after upgrade:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
pip install --upgrade storageops
|
|
133
|
+
storageops install --force
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Run quality gates from a checkout:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
python3 scripts/skill_integrity_check.py
|
|
140
|
+
python3 skills/storageops-eval-golden-cases/scripts/golden_case_validator.py \
|
|
141
|
+
skills/storageops-eval-golden-cases/cases
|
|
142
|
+
make validate
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Documentation Map
|
|
146
|
+
|
|
147
|
+
- [Getting Started](docs/getting-started.md)
|
|
148
|
+
- [CLI Reference](docs/cli-reference.md)
|
|
149
|
+
- [Architecture](docs/ARCHITECTURE.md)
|
|
150
|
+
- [Quick Reference](docs/quick-reference.md)
|
|
151
|
+
- [Tutorial](docs/tutorial.md)
|
|
152
|
+
- [Skill Quality Guide](docs/skill-quality-guide.md)
|
|
153
|
+
- [Skill Taxonomy](docs/skill-taxonomy.md)
|
|
154
|
+
- [Routing Flowchart](docs/skill-routing-flowchart.md)
|
|
155
|
+
- [Dependency Map](docs/skill-dependency-map.md)
|
|
156
|
+
- [API Coverage Matrix](docs/api-coverage-matrix.md)
|
|
157
|
+
- [Examples](docs/examples/)
|
|
158
|
+
- [Changelog](CHANGELOG.md)
|
|
159
|
+
- [Security](SECURITY.md)
|
|
160
|
+
- [Contributing](CONTRIBUTING.md)
|
|
161
|
+
|
|
162
|
+
## Repository Note
|
|
163
|
+
|
|
164
|
+
The source tree keeps canonical skills at repository root and exposes them through `storageops_cli/skills -> ../skills` for packaging. The installer expects packaged skills to be available next to `storageops_cli`; review distribution changes carefully.
|
|
165
|
+
|
|
166
|
+
## License
|
|
167
|
+
|
|
168
|
+
MIT
|