Introduce plugin initialization phase and consolidate config handling
- Added `initialize_plugins` method to `PluginManager` for requesting and processing file system resources during plugin initialization. - Introduced `InitializationResult` and `ResourceRequest` structures for fine-grained resource management (e.g., directories, files). - Enhanced configuration injection by separating `global_configs`, `defaults_configs`, and backend-level `haproxy_config`. - Updated existing plugins (e.g., JWT Validator, Cloudflare) to use the initialization phase for resource setup. - Simplified domain plugin execution by consolidating configuration logic into unified loops.
This commit is contained in:
parent
97845b8a52
commit
ece012a884
10 changed files with 453 additions and 107 deletions
25
.github/workflows/build.yml
vendored
25
.github/workflows/build.yml
vendored
|
|
@ -86,9 +86,32 @@ jobs:
|
|||
export PATH="$HOME/.local/bin:$PATH"
|
||||
uv run pytest tests_e2e/test_kubernetes.py -sv --tb=short
|
||||
|
||||
Tests-E2E-Static:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install uv
|
||||
run: curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
uv sync --group dev
|
||||
|
||||
- name: Run Docker Compose E2E tests
|
||||
run: |
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
uv run pytest tests_e2e/test_static.py -sv --tb=short
|
||||
|
||||
Build:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [Test, Tests-E2E-Docker, Tests-E2E-Kubernetes]
|
||||
needs: [Test, Tests-E2E-Docker, Tests-E2E-Kubernetes, Tests-E2E-Static]
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue