Repository navigation
feat(dr_egeria_folder): subfolders, exclude and per-file run-as user; manual - #435
Merged
Merged
Conversation
… manual
dr_egeria_folder promises the same _batch.json semantics as the Egeria
Portal's folder loader (egeria-workspaces bootstrap_batches.py), which now
recurses into subfolders and sets a run-as user per file. Bring the CLI
back in line:
- Subfolders run in place: a "files" entry can be a file, "sub/x.md" or
"sub/"; unlisted files, then unlisted subfolders, follow alphabetically
and are reported as ordering warnings, as are stale entries.
- New "exclude" field; README.md and output/plumbing folders
(dr-egeria-outbox, logs, data, ...) are skipped. The outbox folders
hold processed copies with live commands.
- "userid" per folder (inherited) or per entry as {"file", "userid"};
nearest declaration wins. Passwords come from
EGERIA_BOOTSTRAP_PASSWORD_<USERID>, else --user_pass. One client per
user for the run. --no-manifest-userids runs everything as --userid.
- A file reachable twice runs once.
Fixes a silent regression: object-form "files" entries never matched the
old string comparison, so such a folder fell back to alphabetical order.
Verified: identical order and users to the Portal's discovery for every
Coco batch, and a --validate run of coco-workbooks/6. data-privacy signed
in as faithbroker per its manifest (106 commands, 0 failures).
docs/dr_egeria_manual.md: new sections on dr_egeria_folder, the
_batch.json manifest, and the Portal's automatic loading; documents
--user_pass.
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
An older folder runner that took its order from a README's "Load order" code block. It was never registered as a console script in pyproject.toml and nothing references it; dr_egeria_folder is the supported command and reads _batch.json instead. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
dr_egeria_folderpromises the same_batch.jsonsemantics as the Egeria Portal's folder loader (egeria-workspacesbootstrap_batches.py). The Portal now recurses into subfolders and sets a run-as user per file (odpi/egeria-workspaces#618), so the CLI needs the same rules to keep a folder running the same way from either.It also fixes a silent regression. Object-form
filesentries ({"file": …, "userid": …}) never matched the old string comparison, so a folder using them fell back to alphabetical order.What changes
commands/cat/dr_egeria_folder.py:filesentry can be a file,"sub/x.md"or"sub/". Unlisted files, then unlisted subfolders, follow alphabetically and are reported as ordering warnings; so are stale entries.excludefield.README.mdand output/plumbing folders (dr-egeria-outbox,logs,data, …) are skipped. The outbox folders hold processed copies with live commands.useridis set per folder (inherited by subfolders) or per entry; the nearest declaration wins. Passwords come fromEGERIA_BOOTSTRAP_PASSWORD_<USERID>, else--user_pass. The command uses one client per user for the run.--no-manifest-useridsruns everything as--userid.docs/dr_egeria_manual.md: new sections ondr_egeria_folder, the_batch.jsonmanifest, and the Portal's automatic loading; it also documents--user_pass.Testing
/api/bootstrap/batchesfor every Coco batch. When the CLI runs the Data Hub folder on its own, it runsdata-field-naming/inline at the README's step 6, as intended; in the Portal that subfolder is its own batch.dr_egeria_folder "coco-workbooks/6. data-privacy" --validatesigned in asfaithbroker, as its manifest says, and validated 106 commands with 0 failures.--processrun.