Fixes and cleanup after implementation of the S3 and SSH roadmap

This commit is contained in:
2026-05-31 14:33:17 -05:00
parent 1d71a151cc
commit 7eed1a26ae
13 changed files with 250 additions and 59 deletions

View File

@@ -24,41 +24,6 @@ it is implemented.
`distributor` is ready for routine use against producer pipelines using the
implemented local, SSH/SFTP, and S3-compatible backends.
Implemented capabilities:
- standard-library CLI commands for `version`, `run`, `validate`, and
`inspect`;
- YAML config loading, defaults, known-field rejection, and validation;
- local, SSH/SFTP, and S3-compatible source and destination backends;
- structured SSH/SFTP configuration with agent and key-file authentication,
known-hosts handling, and backend-rooted path confinement;
- S3-compatible configuration with endpoint, region, addressing mode, TLS
controls, credential environment references, streaming reads and writes,
listing, metadata, and managed deletion;
- top-level `secrets.directory` loading for credential values, with process
environment precedence and without mutating the process environment;
- backend-rooted storage interfaces with typed errors, safe logical paths,
traversal, collision checks, managed deletion, and explicit forced
replacement;
- source bundle discovery, manifest parsing, RFC3339 timestamp handling,
duplicate path checks, path safety checks, symlink rejection, per-file digest
validation, and bundle digest validation;
- destination `.distributor.json` state parsing, validation, output metadata,
and source comparison;
- publication of source files, Markdown sidecar HTML, or both;
- destination output collision detection before writes;
- managed replacement for older destination state;
- conservative conflict failures by default for unmanaged destination content
and conflicting managed destination content;
- explicit forced replacement with `run --force`, limited to the configured
destination bundle path;
- deterministic dry-run output and final run summaries;
- deterministic sequential fan-out with aggregated destination failures;
- cleanup of outputs written during failed publish attempts where practical;
- no-op notification hook after successful publish or replacement;
- current user, operator, internal, integration, and development documentation
for implemented behavior.
## Active Roadmap
There are no active implementation items in this roadmap.
@@ -80,7 +45,7 @@ until a roadmap entry is selected and implemented:
- compatibility parsing for legacy SSH URI config;
- broad recursive destination deletion outside managed bundle paths;
- concurrent fan-out publishing;
- resumable multipart S3 uploads;
- streaming, resumable, or multipart S3 uploads;
- cloud-provider-specific IAM integration docs;
- repository-managed packaging, release, and deployment automation.