Repository navigation
Support locally managed firewalls; rename to panos-decrypt-bypass (0.2.0) - #2
Merged
Merged
Conversation
It's about to support firewalls that aren't managed by Strata Cloud Manager, so the SCM-specific name no longer fits. Renames the Python package, CLI command, images, compose service, docs and the session cookie (signing everyone out once). PDB_VERSION replaces SDB_VERSION. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MANAGEMENT=local switches the app to a second Terraform module that uses the PaloAltoNetworks/panos provider to create the same URL category, address objects, tag, EDLs, profile and ordered no-decrypt rules in a vsys on the firewall itself. Deploys then commit over the XML API, partial to FIREWALL_USERNAME's changes, instead of pushing from SCM. - The SCM module moves to terraform/scm; list parsing is shared with terraform/local through an identical lists.tf (checked by a test). - Data directories record which module files they hold, so upgrades and mode switches remove stale files; running one mode against the other's state is refused. - One-click bypasses on a local firewall still apply without review only when the plan just grows the URL list or adds the URL rule. - FIREWALL_CA_FILE is passed to Terraform as a CA bundle via SSL_CERT_FILE. - Decryption exclusions stay SCM-only: on a local firewall they live in the SSL decryption settings next to the forward-trust certificates. - The image mirrors both providers; CI tests both modules and checks they initialise offline. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`panos-decrypt-bypass terraform <args>` runs Terraform in the working directory with the app's settings. The documented destroy and import commands ran terraform directly, which in local mode lacked the PANOS_* connection settings. Tested end to end on PAN-OS 11.2.10 with an XML-API-only role (Log, Configuration, Operational Requests, Commit): plan, one-click bypass, review, partial commit, wrong-admin detection, destroy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.
What does this change?
PDB_VERSIONreplacesSDB_VERSION. Existing data directories keep working;docs/installation.mdhas upgrade steps for 0.1.0 installs.MANAGEMENT=localfor firewalls that aren't managed by SCM or Panorama. A second Terraform module (terraform/local, PaloAltoNetworks/panos 2.0.14) creates the same URL category, address objects, tag, EDLs, profile and ordered no-decrypt rules in a vsys. Deploys finish with a partial commit over the XML API, limited toFIREWALL_USERNAME's changes.MANAGEMENT=scmstays the default.terraform/scm. Both modules share an identicallists.tf, and a test checks the two copies match.FIREWALL_CA_FILEreaches Terraform as a CA bundle throughSSL_CERT_FILE.panos-decrypt-bypass terraform <args>passthrough for destroy, import and state commands, plus acommitalias forpush.How was it tested?
uv run python -m unittest discover tests: 70 tests, 25 of them new (workspace, local deployer, auto-approve rules, commit against a fake firewall)terraform test: 5 mocked-provider runs per moduleChecklist
CHANGELOG.md(0.2.0) updated where users would notice🤖 Generated with Claude Code