-
Notifications
You must be signed in to change notification settings - Fork 1
Add Python implementation and playbooks #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Python implementation and playbooks #2
Conversation
Signed-off-by: Eric Searcy <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new mock data generation tool for the LFX v2 platform. The tool uses YAML playbooks with Jinja2 templating to create test data through HTTP requests, NATS messaging, and KV store operations.
- Implements a playbook-based system supporting multiple workflow types (HTTP requests, NATS publish/request, NATS KV operations)
- Includes custom YAML tags (
!ref,!sub,!include) for dynamic data referencing and templating - Provides sample playbooks for populating projects, committees, and permissions
Reviewed Changes
Copilot reviewed 21 out of 23 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| uv.lock | Lockfile defining all dependencies including faker, nats-py, pydantic, jinja2 |
| src/lfx_v2_mockdata/init.py | Main script implementing playbook execution engine with JMESPath support |
| src/custom_logging/init.py | Structured logging configuration with JSON and console output |
| pyproject.toml | Project configuration with dependencies and tooling setup |
| README.md | Documentation for setup, usage, and playbook structure |
| playbooks/* | YAML playbooks defining data generation scenarios |
| scripts/mock-heimdall-jwt.sh | Helper script for generating authentication tokens |
| LICENSE* | MIT license for code, CC-BY-4.0 for documentation |
| .github/workflows/* | CI/CD workflows for linting and license checks |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Also remove the +x bit from the lfx_v2_mockdata script and remove its shebang line, since it's not intended to be executed directly. Signed-off-by: Eric Searcy <[email protected]>
Linting, vulnerabilities, etc. Signed-off-by: Eric Searcy <[email protected]>
|
gitleaks seems to be failing but it's seeing files in #1 |
The main reason for adding this was in order to exclude the "playbooks" folder, because yamllint cannot lint pre-rendered Jinja2 templates. Signed-off-by: Eric Searcy <[email protected]>
541a602 to
a05f513
Compare
Signed-off-by: Eric Searcy <[email protected]>
andrest50
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I'll defer to @bramwelt if he has any comments since he was also working on mocking. Otherwise, it's fine to merge.
No description provided.