feat: Add GitHub CI/CD versioning support with env profile#393
feat: Add GitHub CI/CD versioning support with env profile#393Chaffelson merged 8 commits intomainfrom
Conversation
Add native support for NiFi's GitHub Flow Registry Client to enable
CI/CD workflows for versioned NiFi flows.
New Git-specific versioning helpers:
- list_git_registry_buckets, get_git_registry_bucket
- list_git_registry_flows, get_git_registry_flow
- list_git_registry_flow_versions, deploy_git_registry_flow
- ensure_registry_client, update_registry_client
Profile system enhancements:
- Add 'env' profile for pure environment variable configuration
- Ideal for GitHub Actions, containers, and CI/CD pipelines
- No profiles file required when using nipyapi.profiles.switch('env')
Controller service management:
- Add schedule_all_controllers for bulk enable/disable operations
- Uses NiFi's native bulk activation API with descendant support
Bug fixes:
- Fix test_create_controller leaving orphaned controller services
Documentation:
- Add 1.1.0 release notes to history
- Add env profile usage guide to profiles documentation
Related: nipyapi-actions and nipyapi-workflow companion repositories
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #393 +/- ##
==========================================
+ Coverage 70.38% 70.82% +0.44%
==========================================
Files 9 9
Lines 1830 2026 +196
==========================================
+ Hits 1288 1435 +147
- Misses 542 591 +49 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Add nifi-github, nifi-github.localdomain, host.docker.internal to certificate SANs - Configure nifi-github service to mount generated certificates - Add NIFI_WEB_PROXY_HOST for host.docker.internal access - Enables act testing with proper SSL certificate validation
- update_processor now accepts name param for renaming processors - add auto_stop param (default False) to handle running processors - revert_flow_ver now refreshes revision internally to prevent stale errors
ottobackwards
left a comment
There was a problem hiding this comment.
This looks good to me. Minor version bump?
- Add nifi_bearer_token to configuration structure and keys - Document bearer as highest priority NiFi auth method - Add bearer-token profile example in profiles.yml - Add NIFI_BEARER_TOKEN environment variable mapping
Yeah this is additional functionality, should be entirely backwards compatible but it should be a 1.1.0 release. |
| GitHub CI/CD Integration - Native support for NiFi's GitHub Flow Registry Client
GitHub Flow Registry Support
list_git_registry_buckets: List buckets (folders) in a Git-backed registryget_git_registry_bucket: Get a specific bucket by namelist_git_registry_flows: List flows in a bucketget_git_registry_flow: Get a specific flow by namelist_git_registry_flow_versions: List all versions (commits) of a flowdeploy_git_registry_flow: Deploy a versioned flow from GitHub to the NiFi canvasupdate_git_flow_ver: Change version of an already-deployed Git-registry flowensure_registry_clientandupdate_registry_clientfor idempotent registry configurationrevert_flow_vernow acceptswait=Trueparameter for synchronous operationProfile System Enhancements
nipyapi.profiles.switch('env')to activateNIFI_API_ENDPOINT,NIFI_USERNAME, etc.) applyController Service Management
schedule_all_controllers(pg_id, scheduled)to enable/disable all controller services in a process groupBug Fixes
test_create_controllerleaving orphaned ADLS controller services after test runsdeploy_git_registry_flowto correctly identify latest versionInfrastructure
pylintrcfor pylint 3.x compatibilityRelated Projects